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        'account_id',
 2642        'id',
 2643        'resource_id',
 2644        'start_from',
 2645        'valid_until',
 2646    ]
 2647
 2648    def __init__(
 2649        self,
 2650        account_id=None,
 2651        id=None,
 2652        resource_id=None,
 2653        start_from=None,
 2654        valid_until=None,
 2655    ):
 2656        self.account_id = account_id if account_id is not None else ''
 2657        '''
 2658         The account ID of this AccountGrant.
 2659        '''
 2660        self.id = id if id is not None else ''
 2661        '''
 2662         Unique identifier of the AccountGrant.
 2663        '''
 2664        self.resource_id = resource_id if resource_id is not None else ''
 2665        '''
 2666         The resource ID of this AccountGrant.
 2667        '''
 2668        self.start_from = start_from if start_from is not None else None
 2669        '''
 2670         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.
 2671        '''
 2672        self.valid_until = valid_until if valid_until is not None else None
 2673        '''
 2674         The timestamp when the resource grant will expire.
 2675        '''
 2676
 2677    def __repr__(self):
 2678        return '<sdm.AccountGrant ' + \
 2679            'account_id: ' + repr(self.account_id) + ' ' +\
 2680            'id: ' + repr(self.id) + ' ' +\
 2681            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2682            'start_from: ' + repr(self.start_from) + ' ' +\
 2683            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2684            '>'
 2685
 2686    def to_dict(self):
 2687        return {
 2688            'account_id': self.account_id,
 2689            'id': self.id,
 2690            'resource_id': self.resource_id,
 2691            'start_from': self.start_from,
 2692            'valid_until': self.valid_until,
 2693        }
 2694
 2695    @classmethod
 2696    def from_dict(cls, d):
 2697        return cls(
 2698            account_id=d.get('account_id'),
 2699            id=d.get('id'),
 2700            resource_id=d.get('resource_id'),
 2701            start_from=d.get('start_from'),
 2702            valid_until=d.get('valid_until'),
 2703        )
 2704
 2705
 2706class AccountGrantCreateResponse:
 2707    '''
 2708         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2709    '''
 2710    __slots__ = [
 2711        'account_grant',
 2712        'meta',
 2713        'rate_limit',
 2714    ]
 2715
 2716    def __init__(
 2717        self,
 2718        account_grant=None,
 2719        meta=None,
 2720        rate_limit=None,
 2721    ):
 2722        self.account_grant = account_grant if account_grant is not None else None
 2723        '''
 2724         The created AccountGrant.
 2725        '''
 2726        self.meta = meta if meta is not None else None
 2727        '''
 2728         Reserved for future use.
 2729        '''
 2730        self.rate_limit = rate_limit if rate_limit is not None else None
 2731        '''
 2732         Rate limit information.
 2733        '''
 2734
 2735    def __repr__(self):
 2736        return '<sdm.AccountGrantCreateResponse ' + \
 2737            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2738            'meta: ' + repr(self.meta) + ' ' +\
 2739            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2740            '>'
 2741
 2742    def to_dict(self):
 2743        return {
 2744            'account_grant': self.account_grant,
 2745            'meta': self.meta,
 2746            'rate_limit': self.rate_limit,
 2747        }
 2748
 2749    @classmethod
 2750    def from_dict(cls, d):
 2751        return cls(
 2752            account_grant=d.get('account_grant'),
 2753            meta=d.get('meta'),
 2754            rate_limit=d.get('rate_limit'),
 2755        )
 2756
 2757
 2758class AccountGrantDeleteResponse:
 2759    '''
 2760         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2761    '''
 2762    __slots__ = [
 2763        'meta',
 2764        'rate_limit',
 2765    ]
 2766
 2767    def __init__(
 2768        self,
 2769        meta=None,
 2770        rate_limit=None,
 2771    ):
 2772        self.meta = meta if meta is not None else None
 2773        '''
 2774         Reserved for future use.
 2775        '''
 2776        self.rate_limit = rate_limit if rate_limit is not None else None
 2777        '''
 2778         Rate limit information.
 2779        '''
 2780
 2781    def __repr__(self):
 2782        return '<sdm.AccountGrantDeleteResponse ' + \
 2783            'meta: ' + repr(self.meta) + ' ' +\
 2784            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2785            '>'
 2786
 2787    def to_dict(self):
 2788        return {
 2789            'meta': self.meta,
 2790            'rate_limit': self.rate_limit,
 2791        }
 2792
 2793    @classmethod
 2794    def from_dict(cls, d):
 2795        return cls(
 2796            meta=d.get('meta'),
 2797            rate_limit=d.get('rate_limit'),
 2798        )
 2799
 2800
 2801class AccountGrantGetResponse:
 2802    '''
 2803         AccountGrantGetResponse returns a requested AccountGrant.
 2804    '''
 2805    __slots__ = [
 2806        'account_grant',
 2807        'meta',
 2808        'rate_limit',
 2809    ]
 2810
 2811    def __init__(
 2812        self,
 2813        account_grant=None,
 2814        meta=None,
 2815        rate_limit=None,
 2816    ):
 2817        self.account_grant = account_grant if account_grant is not None else None
 2818        '''
 2819         The requested AccountGrant.
 2820        '''
 2821        self.meta = meta if meta is not None else None
 2822        '''
 2823         Reserved for future use.
 2824        '''
 2825        self.rate_limit = rate_limit if rate_limit is not None else None
 2826        '''
 2827         Rate limit information.
 2828        '''
 2829
 2830    def __repr__(self):
 2831        return '<sdm.AccountGrantGetResponse ' + \
 2832            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2833            'meta: ' + repr(self.meta) + ' ' +\
 2834            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2835            '>'
 2836
 2837    def to_dict(self):
 2838        return {
 2839            'account_grant': self.account_grant,
 2840            'meta': self.meta,
 2841            'rate_limit': self.rate_limit,
 2842        }
 2843
 2844    @classmethod
 2845    def from_dict(cls, d):
 2846        return cls(
 2847            account_grant=d.get('account_grant'),
 2848            meta=d.get('meta'),
 2849            rate_limit=d.get('rate_limit'),
 2850        )
 2851
 2852
 2853class AccountGrantHistory:
 2854    '''
 2855         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 2856     where every change (create or delete) to an AccountGrant produces an
 2857     AccountGrantHistory record.
 2858    '''
 2859    __slots__ = [
 2860        'account_grant',
 2861        'activity_id',
 2862        'deleted_at',
 2863        'timestamp',
 2864    ]
 2865
 2866    def __init__(
 2867        self,
 2868        account_grant=None,
 2869        activity_id=None,
 2870        deleted_at=None,
 2871        timestamp=None,
 2872    ):
 2873        self.account_grant = account_grant if account_grant is not None else None
 2874        '''
 2875         The complete AccountGrant state at this time.
 2876        '''
 2877        self.activity_id = activity_id if activity_id is not None else ''
 2878        '''
 2879         The unique identifier of the Activity that produced this change to the AccountGrant.
 2880         May be empty for some system-initiated updates.
 2881        '''
 2882        self.deleted_at = deleted_at if deleted_at is not None else None
 2883        '''
 2884         If this AccountGrant was deleted, the time it was deleted.
 2885        '''
 2886        self.timestamp = timestamp if timestamp is not None else None
 2887        '''
 2888         The time at which the AccountGrant state was recorded.
 2889        '''
 2890
 2891    def __repr__(self):
 2892        return '<sdm.AccountGrantHistory ' + \
 2893            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2894            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2895            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2896            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2897            '>'
 2898
 2899    def to_dict(self):
 2900        return {
 2901            'account_grant': self.account_grant,
 2902            'activity_id': self.activity_id,
 2903            'deleted_at': self.deleted_at,
 2904            'timestamp': self.timestamp,
 2905        }
 2906
 2907    @classmethod
 2908    def from_dict(cls, d):
 2909        return cls(
 2910            account_grant=d.get('account_grant'),
 2911            activity_id=d.get('activity_id'),
 2912            deleted_at=d.get('deleted_at'),
 2913            timestamp=d.get('timestamp'),
 2914        )
 2915
 2916
 2917class AccountHistory:
 2918    '''
 2919         AccountHistory records the state of an Account at a given point in time,
 2920     where every change (create, update and delete) to an Account produces an
 2921     AccountHistory record.
 2922    '''
 2923    __slots__ = [
 2924        'account',
 2925        'activity_id',
 2926        'deleted_at',
 2927        'timestamp',
 2928    ]
 2929
 2930    def __init__(
 2931        self,
 2932        account=None,
 2933        activity_id=None,
 2934        deleted_at=None,
 2935        timestamp=None,
 2936    ):
 2937        self.account = account if account is not None else None
 2938        '''
 2939         The complete Account state at this time.
 2940        '''
 2941        self.activity_id = activity_id if activity_id is not None else ''
 2942        '''
 2943         The unique identifier of the Activity that produced this change to the Account.
 2944         May be empty for some system-initiated updates.
 2945        '''
 2946        self.deleted_at = deleted_at if deleted_at is not None else None
 2947        '''
 2948         If this Account was deleted, the time it was deleted.
 2949        '''
 2950        self.timestamp = timestamp if timestamp is not None else None
 2951        '''
 2952         The time at which the Account state was recorded.
 2953        '''
 2954
 2955    def __repr__(self):
 2956        return '<sdm.AccountHistory ' + \
 2957            'account: ' + repr(self.account) + ' ' +\
 2958            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2959            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2960            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2961            '>'
 2962
 2963    def to_dict(self):
 2964        return {
 2965            'account': self.account,
 2966            'activity_id': self.activity_id,
 2967            'deleted_at': self.deleted_at,
 2968            'timestamp': self.timestamp,
 2969        }
 2970
 2971    @classmethod
 2972    def from_dict(cls, d):
 2973        return cls(
 2974            account=d.get('account'),
 2975            activity_id=d.get('activity_id'),
 2976            deleted_at=d.get('deleted_at'),
 2977            timestamp=d.get('timestamp'),
 2978        )
 2979
 2980
 2981class AccountPermission:
 2982    '''
 2983         AccountPermission represents an individual API action available to an account.
 2984    '''
 2985    __slots__ = [
 2986        'account_id',
 2987        'granted_at',
 2988        'permission',
 2989        'scope',
 2990        'scoped_id',
 2991    ]
 2992
 2993    def __init__(
 2994        self,
 2995        account_id=None,
 2996        granted_at=None,
 2997        permission=None,
 2998        scope=None,
 2999        scoped_id=None,
 3000    ):
 3001        self.account_id = account_id if account_id is not None else ''
 3002        '''
 3003         The unique identifier of the Account this permission belongs to.
 3004        '''
 3005        self.granted_at = granted_at if granted_at is not None else None
 3006        '''
 3007         The most recent time at which the permission was granted. If a permission was
 3008         granted, revoked, and granted again, this will reflect the later time.
 3009        '''
 3010        self.permission = permission if permission is not None else ''
 3011        '''
 3012         The value of this permission, split into vertical and action, one of the Permission constants.
 3013        '''
 3014        self.scope = scope if scope is not None else ''
 3015        '''
 3016         The scope of this permission. A global scope means this action can be taken
 3017         on any entity; otherwise the action can only be taken on or in the scope of
 3018         the scoped id.
 3019        '''
 3020        self.scoped_id = scoped_id if scoped_id is not None else ''
 3021        '''
 3022         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3023         role that a team leader has the abillity to remove and add accounts to, or the
 3024         ID of a resource that a user has the permission to connect to. If Scope is global,
 3025         scoped id is not populated.
 3026        '''
 3027
 3028    def __repr__(self):
 3029        return '<sdm.AccountPermission ' + \
 3030            'account_id: ' + repr(self.account_id) + ' ' +\
 3031            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3032            'permission: ' + repr(self.permission) + ' ' +\
 3033            'scope: ' + repr(self.scope) + ' ' +\
 3034            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3035            '>'
 3036
 3037    def to_dict(self):
 3038        return {
 3039            'account_id': self.account_id,
 3040            'granted_at': self.granted_at,
 3041            'permission': self.permission,
 3042            'scope': self.scope,
 3043            'scoped_id': self.scoped_id,
 3044        }
 3045
 3046    @classmethod
 3047    def from_dict(cls, d):
 3048        return cls(
 3049            account_id=d.get('account_id'),
 3050            granted_at=d.get('granted_at'),
 3051            permission=d.get('permission'),
 3052            scope=d.get('scope'),
 3053            scoped_id=d.get('scoped_id'),
 3054        )
 3055
 3056
 3057class AccountResource:
 3058    '''
 3059         AccountResource represents an individual access grant of a Account to a Resource.
 3060    '''
 3061    __slots__ = [
 3062        'account_grant_id',
 3063        'account_id',
 3064        'created_at',
 3065        'expires_at',
 3066        'granted_at',
 3067        'resource_id',
 3068        'role_id',
 3069    ]
 3070
 3071    def __init__(
 3072        self,
 3073        account_grant_id=None,
 3074        account_id=None,
 3075        created_at=None,
 3076        expires_at=None,
 3077        granted_at=None,
 3078        resource_id=None,
 3079        role_id=None,
 3080    ):
 3081        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3082        '''
 3083         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3084         If empty, access was not granted through an AccountGrant.
 3085        '''
 3086        self.account_id = account_id if account_id is not None else ''
 3087        '''
 3088         The unique identifier of the Account to which access is granted.
 3089        '''
 3090        self.created_at = created_at if created_at is not None else None
 3091        '''
 3092         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3093         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3094        '''
 3095        self.expires_at = expires_at if expires_at is not None else None
 3096        '''
 3097         The time at which access will expire. If empty, this access has no expiration.
 3098        '''
 3099        self.granted_at = granted_at if granted_at is not None else None
 3100        '''
 3101         The most recent time at which access was granted. If access was granted,
 3102         revoked, and granted again, this will reflect the later time.
 3103        '''
 3104        self.resource_id = resource_id if resource_id is not None else ''
 3105        '''
 3106         The unique identifier of the Resource to which access is granted.
 3107        '''
 3108        self.role_id = role_id if role_id is not None else ''
 3109        '''
 3110         The unique identifier of the Role through which the Account was granted access to the Resource.
 3111         If empty, access was not granted through an AccountAttachment to a Role.
 3112        '''
 3113
 3114    def __repr__(self):
 3115        return '<sdm.AccountResource ' + \
 3116            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3117            'account_id: ' + repr(self.account_id) + ' ' +\
 3118            'created_at: ' + repr(self.created_at) + ' ' +\
 3119            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3120            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3121            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3122            'role_id: ' + repr(self.role_id) + ' ' +\
 3123            '>'
 3124
 3125    def to_dict(self):
 3126        return {
 3127            'account_grant_id': self.account_grant_id,
 3128            'account_id': self.account_id,
 3129            'created_at': self.created_at,
 3130            'expires_at': self.expires_at,
 3131            'granted_at': self.granted_at,
 3132            'resource_id': self.resource_id,
 3133            'role_id': self.role_id,
 3134        }
 3135
 3136    @classmethod
 3137    def from_dict(cls, d):
 3138        return cls(
 3139            account_grant_id=d.get('account_grant_id'),
 3140            account_id=d.get('account_id'),
 3141            created_at=d.get('created_at'),
 3142            expires_at=d.get('expires_at'),
 3143            granted_at=d.get('granted_at'),
 3144            resource_id=d.get('resource_id'),
 3145            role_id=d.get('role_id'),
 3146        )
 3147
 3148
 3149class AccountResourceHistory:
 3150    '''
 3151         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3152     where every change (create or delete) to a AccountResource produces an
 3153     AccountResourceHistory record.
 3154    '''
 3155    __slots__ = [
 3156        'account_resource',
 3157        'activity_id',
 3158        'deleted_at',
 3159        'timestamp',
 3160    ]
 3161
 3162    def __init__(
 3163        self,
 3164        account_resource=None,
 3165        activity_id=None,
 3166        deleted_at=None,
 3167        timestamp=None,
 3168    ):
 3169        self.account_resource = account_resource if account_resource is not None else None
 3170        '''
 3171         The complete AccountResource state at this time.
 3172        '''
 3173        self.activity_id = activity_id if activity_id is not None else ''
 3174        '''
 3175         The unique identifier of the Activity that produced this change to the AccountResource.
 3176         May be empty for some system-initiated updates.
 3177        '''
 3178        self.deleted_at = deleted_at if deleted_at is not None else None
 3179        '''
 3180         If this AccountResource was deleted, the time it was deleted.
 3181        '''
 3182        self.timestamp = timestamp if timestamp is not None else None
 3183        '''
 3184         The time at which the AccountResource state was recorded.
 3185        '''
 3186
 3187    def __repr__(self):
 3188        return '<sdm.AccountResourceHistory ' + \
 3189            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3190            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3191            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3192            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3193            '>'
 3194
 3195    def to_dict(self):
 3196        return {
 3197            'account_resource': self.account_resource,
 3198            'activity_id': self.activity_id,
 3199            'deleted_at': self.deleted_at,
 3200            'timestamp': self.timestamp,
 3201        }
 3202
 3203    @classmethod
 3204    def from_dict(cls, d):
 3205        return cls(
 3206            account_resource=d.get('account_resource'),
 3207            activity_id=d.get('activity_id'),
 3208            deleted_at=d.get('deleted_at'),
 3209            timestamp=d.get('timestamp'),
 3210        )
 3211
 3212
 3213class AccountUpdateResponse:
 3214    '''
 3215         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3216     a AccountUpdateRequest.
 3217    '''
 3218    __slots__ = [
 3219        'account',
 3220        'meta',
 3221        'rate_limit',
 3222    ]
 3223
 3224    def __init__(
 3225        self,
 3226        account=None,
 3227        meta=None,
 3228        rate_limit=None,
 3229    ):
 3230        self.account = account if account is not None else None
 3231        '''
 3232         The updated Account.
 3233        '''
 3234        self.meta = meta if meta is not None else None
 3235        '''
 3236         Reserved for future use.
 3237        '''
 3238        self.rate_limit = rate_limit if rate_limit is not None else None
 3239        '''
 3240         Rate limit information.
 3241        '''
 3242
 3243    def __repr__(self):
 3244        return '<sdm.AccountUpdateResponse ' + \
 3245            'account: ' + repr(self.account) + ' ' +\
 3246            'meta: ' + repr(self.meta) + ' ' +\
 3247            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3248            '>'
 3249
 3250    def to_dict(self):
 3251        return {
 3252            'account': self.account,
 3253            'meta': self.meta,
 3254            'rate_limit': self.rate_limit,
 3255        }
 3256
 3257    @classmethod
 3258    def from_dict(cls, d):
 3259        return cls(
 3260            account=d.get('account'),
 3261            meta=d.get('meta'),
 3262            rate_limit=d.get('rate_limit'),
 3263        )
 3264
 3265
 3266class ActiveDirectoryStore:
 3267    __slots__ = [
 3268        'id',
 3269        'name',
 3270        'server_address',
 3271        'tags',
 3272    ]
 3273
 3274    def __init__(
 3275        self,
 3276        id=None,
 3277        name=None,
 3278        server_address=None,
 3279        tags=None,
 3280    ):
 3281        self.id = id if id is not None else ''
 3282        '''
 3283         Unique identifier of the SecretStore.
 3284        '''
 3285        self.name = name if name is not None else ''
 3286        '''
 3287         Unique human-readable name of the SecretStore.
 3288        '''
 3289        self.server_address = server_address if server_address is not None else ''
 3290        '''
 3291         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3292         Often this is the same host as Active Directory Certificate Services
 3293        '''
 3294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3295        '''
 3296         Tags is a map of key, value pairs.
 3297        '''
 3298
 3299    def __repr__(self):
 3300        return '<sdm.ActiveDirectoryStore ' + \
 3301            'id: ' + repr(self.id) + ' ' +\
 3302            'name: ' + repr(self.name) + ' ' +\
 3303            'server_address: ' + repr(self.server_address) + ' ' +\
 3304            'tags: ' + repr(self.tags) + ' ' +\
 3305            '>'
 3306
 3307    def to_dict(self):
 3308        return {
 3309            'id': self.id,
 3310            'name': self.name,
 3311            'server_address': self.server_address,
 3312            'tags': self.tags,
 3313        }
 3314
 3315    @classmethod
 3316    def from_dict(cls, d):
 3317        return cls(
 3318            id=d.get('id'),
 3319            name=d.get('name'),
 3320            server_address=d.get('server_address'),
 3321            tags=d.get('tags'),
 3322        )
 3323
 3324
 3325class Activity:
 3326    '''
 3327         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3328     a user creation, resource deletion, sso configuration change, etc.
 3329    '''
 3330    __slots__ = [
 3331        'actor',
 3332        'completed_at',
 3333        'description',
 3334        'entities',
 3335        'id',
 3336        'ip_address',
 3337        'user_agent',
 3338        'verb',
 3339    ]
 3340
 3341    def __init__(
 3342        self,
 3343        actor=None,
 3344        completed_at=None,
 3345        description=None,
 3346        entities=None,
 3347        id=None,
 3348        ip_address=None,
 3349        user_agent=None,
 3350        verb=None,
 3351    ):
 3352        self.actor = actor if actor is not None else None
 3353        '''
 3354         The account who executed this activity. If the actor later has a name or email change,
 3355         that change is not reflected here. Actor is a snapshot of the executing account at
 3356         the time an activity took place.
 3357        '''
 3358        self.completed_at = completed_at if completed_at is not None else None
 3359        '''
 3360         The time this activity took effect.
 3361        '''
 3362        self.description = description if description is not None else ''
 3363        '''
 3364         A humanized description of the activity.
 3365        '''
 3366        self.entities = entities if entities is not None else []
 3367        '''
 3368         The entities involved in this activity. These entities can be any first class
 3369         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3370         every activity affects explicit entities.
 3371        '''
 3372        self.id = id if id is not None else ''
 3373        '''
 3374         Unique identifier of the Activity.
 3375        '''
 3376        self.ip_address = ip_address if ip_address is not None else ''
 3377        '''
 3378         The IP from which this action was taken.
 3379        '''
 3380        self.user_agent = user_agent if user_agent is not None else ''
 3381        '''
 3382         The User Agent present when this request was executed. Generally a client type and version
 3383         like strongdm-cli/55.66.77
 3384        '''
 3385        self.verb = verb if verb is not None else ''
 3386        '''
 3387         The kind of activity which has taken place, one of the ActivityVerb constants.
 3388        '''
 3389
 3390    def __repr__(self):
 3391        return '<sdm.Activity ' + \
 3392            'actor: ' + repr(self.actor) + ' ' +\
 3393            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3394            'description: ' + repr(self.description) + ' ' +\
 3395            'entities: ' + repr(self.entities) + ' ' +\
 3396            'id: ' + repr(self.id) + ' ' +\
 3397            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3398            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3399            'verb: ' + repr(self.verb) + ' ' +\
 3400            '>'
 3401
 3402    def to_dict(self):
 3403        return {
 3404            'actor': self.actor,
 3405            'completed_at': self.completed_at,
 3406            'description': self.description,
 3407            'entities': self.entities,
 3408            'id': self.id,
 3409            'ip_address': self.ip_address,
 3410            'user_agent': self.user_agent,
 3411            'verb': self.verb,
 3412        }
 3413
 3414    @classmethod
 3415    def from_dict(cls, d):
 3416        return cls(
 3417            actor=d.get('actor'),
 3418            completed_at=d.get('completed_at'),
 3419            description=d.get('description'),
 3420            entities=d.get('entities'),
 3421            id=d.get('id'),
 3422            ip_address=d.get('ip_address'),
 3423            user_agent=d.get('user_agent'),
 3424            verb=d.get('verb'),
 3425        )
 3426
 3427
 3428class ActivityActor:
 3429    __slots__ = [
 3430        'activity_external_id',
 3431        'email',
 3432        'first_name',
 3433        'id',
 3434        'last_name',
 3435    ]
 3436
 3437    def __init__(
 3438        self,
 3439        activity_external_id=None,
 3440        email=None,
 3441        first_name=None,
 3442        id=None,
 3443        last_name=None,
 3444    ):
 3445        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3446        '''
 3447         The external ID of the actor at the time this activity occurred.
 3448        '''
 3449        self.email = email if email is not None else ''
 3450        '''
 3451         The email of the actor at the time this activity occurred.
 3452        '''
 3453        self.first_name = first_name if first_name is not None else ''
 3454        '''
 3455         The first name of the actor at the time this activity occurred.
 3456        '''
 3457        self.id = id if id is not None else ''
 3458        '''
 3459         Unique identifier of the actor. Immutable.
 3460        '''
 3461        self.last_name = last_name if last_name is not None else ''
 3462        '''
 3463         The last name of the actor at the time this activity occurred.
 3464        '''
 3465
 3466    def __repr__(self):
 3467        return '<sdm.ActivityActor ' + \
 3468            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3469            'email: ' + repr(self.email) + ' ' +\
 3470            'first_name: ' + repr(self.first_name) + ' ' +\
 3471            'id: ' + repr(self.id) + ' ' +\
 3472            'last_name: ' + repr(self.last_name) + ' ' +\
 3473            '>'
 3474
 3475    def to_dict(self):
 3476        return {
 3477            'activity_external_id': self.activity_external_id,
 3478            'email': self.email,
 3479            'first_name': self.first_name,
 3480            'id': self.id,
 3481            'last_name': self.last_name,
 3482        }
 3483
 3484    @classmethod
 3485    def from_dict(cls, d):
 3486        return cls(
 3487            activity_external_id=d.get('activity_external_id'),
 3488            email=d.get('email'),
 3489            first_name=d.get('first_name'),
 3490            id=d.get('id'),
 3491            last_name=d.get('last_name'),
 3492        )
 3493
 3494
 3495class ActivityEntity:
 3496    __slots__ = [
 3497        'email',
 3498        'external_id',
 3499        'id',
 3500        'name',
 3501        'type',
 3502    ]
 3503
 3504    def __init__(
 3505        self,
 3506        email=None,
 3507        external_id=None,
 3508        id=None,
 3509        name=None,
 3510        type=None,
 3511    ):
 3512        self.email = email if email is not None else ''
 3513        '''
 3514         The email of the affected entity, if it has one (for example, if it is an account).
 3515        '''
 3516        self.external_id = external_id if external_id is not None else ''
 3517        '''
 3518         The external ID of the affected entity, if it has one (for example, if it is an account).
 3519        '''
 3520        self.id = id if id is not None else ''
 3521        '''
 3522         The unique identifier of the entity this activity affected.
 3523        '''
 3524        self.name = name if name is not None else ''
 3525        '''
 3526         A display name representing the affected entity.
 3527        '''
 3528        self.type = type if type is not None else ''
 3529        '''
 3530         The type of entity affected, one of the ActivityEntityType constants.
 3531        '''
 3532
 3533    def __repr__(self):
 3534        return '<sdm.ActivityEntity ' + \
 3535            'email: ' + repr(self.email) + ' ' +\
 3536            'external_id: ' + repr(self.external_id) + ' ' +\
 3537            'id: ' + repr(self.id) + ' ' +\
 3538            'name: ' + repr(self.name) + ' ' +\
 3539            'type: ' + repr(self.type) + ' ' +\
 3540            '>'
 3541
 3542    def to_dict(self):
 3543        return {
 3544            'email': self.email,
 3545            'external_id': self.external_id,
 3546            'id': self.id,
 3547            'name': self.name,
 3548            'type': self.type,
 3549        }
 3550
 3551    @classmethod
 3552    def from_dict(cls, d):
 3553        return cls(
 3554            email=d.get('email'),
 3555            external_id=d.get('external_id'),
 3556            id=d.get('id'),
 3557            name=d.get('name'),
 3558            type=d.get('type'),
 3559        )
 3560
 3561
 3562class ActivityGetResponse:
 3563    '''
 3564         ActivityGetResponse returns a requested Activity.
 3565    '''
 3566    __slots__ = [
 3567        'activity',
 3568        'meta',
 3569        'rate_limit',
 3570    ]
 3571
 3572    def __init__(
 3573        self,
 3574        activity=None,
 3575        meta=None,
 3576        rate_limit=None,
 3577    ):
 3578        self.activity = activity if activity is not None else None
 3579        '''
 3580         The requested Activity.
 3581        '''
 3582        self.meta = meta if meta is not None else None
 3583        '''
 3584         Reserved for future use.
 3585        '''
 3586        self.rate_limit = rate_limit if rate_limit is not None else None
 3587        '''
 3588         Rate limit information.
 3589        '''
 3590
 3591    def __repr__(self):
 3592        return '<sdm.ActivityGetResponse ' + \
 3593            'activity: ' + repr(self.activity) + ' ' +\
 3594            'meta: ' + repr(self.meta) + ' ' +\
 3595            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3596            '>'
 3597
 3598    def to_dict(self):
 3599        return {
 3600            'activity': self.activity,
 3601            'meta': self.meta,
 3602            'rate_limit': self.rate_limit,
 3603        }
 3604
 3605    @classmethod
 3606    def from_dict(cls, d):
 3607        return cls(
 3608            activity=d.get('activity'),
 3609            meta=d.get('meta'),
 3610            rate_limit=d.get('rate_limit'),
 3611        )
 3612
 3613
 3614class AmazonEKS:
 3615    __slots__ = [
 3616        'access_key',
 3617        'allow_resource_role_bypass',
 3618        'bind_interface',
 3619        'certificate_authority',
 3620        'cluster_name',
 3621        'discovery_enabled',
 3622        'discovery_username',
 3623        'egress_filter',
 3624        'endpoint',
 3625        'healthcheck_namespace',
 3626        'healthy',
 3627        'id',
 3628        'identity_alias_healthcheck_username',
 3629        'identity_set_id',
 3630        'name',
 3631        'port_override',
 3632        'proxy_cluster_id',
 3633        'region',
 3634        'role_arn',
 3635        'role_external_id',
 3636        'secret_access_key',
 3637        'secret_store_id',
 3638        'subdomain',
 3639        'tags',
 3640    ]
 3641
 3642    def __init__(
 3643        self,
 3644        access_key=None,
 3645        allow_resource_role_bypass=None,
 3646        bind_interface=None,
 3647        certificate_authority=None,
 3648        cluster_name=None,
 3649        discovery_enabled=None,
 3650        discovery_username=None,
 3651        egress_filter=None,
 3652        endpoint=None,
 3653        healthcheck_namespace=None,
 3654        healthy=None,
 3655        id=None,
 3656        identity_alias_healthcheck_username=None,
 3657        identity_set_id=None,
 3658        name=None,
 3659        port_override=None,
 3660        proxy_cluster_id=None,
 3661        region=None,
 3662        role_arn=None,
 3663        role_external_id=None,
 3664        secret_access_key=None,
 3665        secret_store_id=None,
 3666        subdomain=None,
 3667        tags=None,
 3668    ):
 3669        self.access_key = access_key if access_key is not None else ''
 3670        '''
 3671         The Access Key ID to use to authenticate.
 3672        '''
 3673        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 3674        '''
 3675         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 3676         when a resource role is not provided.
 3677        '''
 3678        self.bind_interface = bind_interface if bind_interface is not None else ''
 3679        '''
 3680         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3681        '''
 3682        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 3683        '''
 3684         The CA to authenticate TLS connections with.
 3685        '''
 3686        self.cluster_name = cluster_name if cluster_name is not None else ''
 3687        '''
 3688         The name of the cluster to connect to.
 3689        '''
 3690        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 3691        '''
 3692         If true, configures discovery of a cluster to be run from a node.
 3693        '''
 3694        self.discovery_username = discovery_username if discovery_username is not None else ''
 3695        '''
 3696         If a cluster is configured for user impersonation, this is the user to impersonate when
 3697         running discovery.
 3698        '''
 3699        self.egress_filter = egress_filter if egress_filter is not None else ''
 3700        '''
 3701         A filter applied to the routing logic to pin datasource to nodes.
 3702        '''
 3703        self.endpoint = endpoint if endpoint is not None else ''
 3704        '''
 3705         The endpoint to dial.
 3706        '''
 3707        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 3708        '''
 3709         The path used to check the health of your connection.  Defaults to `default`.
 3710        '''
 3711        self.healthy = healthy if healthy is not None else False
 3712        '''
 3713         True if the datasource is reachable and the credentials are valid.
 3714        '''
 3715        self.id = id if id is not None else ''
 3716        '''
 3717         Unique identifier of the Resource.
 3718        '''
 3719        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 3720        '''
 3721         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 3722        '''
 3723        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 3724        '''
 3725         The ID of the identity set to use for identity connections.
 3726        '''
 3727        self.name = name if name is not None else ''
 3728        '''
 3729         Unique human-readable name of the Resource.
 3730        '''
 3731        self.port_override = port_override if port_override is not None else 0
 3732        '''
 3733         The local port used by clients to connect to this resource.
 3734        '''
 3735        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3736        '''
 3737         ID of the proxy cluster for this resource, if any.
 3738        '''
 3739        self.region = region if region is not None else ''
 3740        '''
 3741         The AWS region to connect to e.g. us-east-1.
 3742        '''
 3743        self.role_arn = role_arn if role_arn is not None else ''
 3744        '''
 3745         The role to assume after logging in.
 3746        '''
 3747        self.role_external_id = role_external_id if role_external_id is not None else ''
 3748        '''
 3749         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 3750        '''
 3751        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 3752        '''
 3753         The Secret Access Key to use to authenticate.
 3754        '''
 3755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3756        '''
 3757         ID of the secret store containing credentials for this resource, if any.
 3758        '''
 3759        self.subdomain = subdomain if subdomain is not None else ''
 3760        '''
 3761         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3762        '''
 3763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3764        '''
 3765         Tags is a map of key, value pairs.
 3766        '''
 3767
 3768    def __repr__(self):
 3769        return '<sdm.AmazonEKS ' + \
 3770            'access_key: ' + repr(self.access_key) + ' ' +\
 3771            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 3772            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3773            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 3774            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 3775            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 3776            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 3777            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3778            'endpoint: ' + repr(self.endpoint) + ' ' +\
 3779            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 3780            'healthy: ' + repr(self.healthy) + ' ' +\
 3781            'id: ' + repr(self.id) + ' ' +\
 3782            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 3783            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 3784            'name: ' + repr(self.name) + ' ' +\
 3785            'port_override: ' + repr(self.port_override) + ' ' +\
 3786            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3787            'region: ' + repr(self.region) + ' ' +\
 3788            'role_arn: ' + repr(self.role_arn) + ' ' +\
 3789            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 3790            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 3791            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3792            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3793            'tags: ' + repr(self.tags) + ' ' +\
 3794            '>'
 3795
 3796    def to_dict(self):
 3797        return {
 3798            'access_key': self.access_key,
 3799            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 3800            'bind_interface': self.bind_interface,
 3801            'certificate_authority': self.certificate_authority,
 3802            'cluster_name': self.cluster_name,
 3803            'discovery_enabled': self.discovery_enabled,
 3804            'discovery_username': self.discovery_username,
 3805            'egress_filter': self.egress_filter,
 3806            'endpoint': self.endpoint,
 3807            'healthcheck_namespace': self.healthcheck_namespace,
 3808            'healthy': self.healthy,
 3809            'id': self.id,
 3810            'identity_alias_healthcheck_username':
 3811            self.identity_alias_healthcheck_username,
 3812            'identity_set_id': self.identity_set_id,
 3813            'name': self.name,
 3814            'port_override': self.port_override,
 3815            'proxy_cluster_id': self.proxy_cluster_id,
 3816            'region': self.region,
 3817            'role_arn': self.role_arn,
 3818            'role_external_id': self.role_external_id,
 3819            'secret_access_key': self.secret_access_key,
 3820            'secret_store_id': self.secret_store_id,
 3821            'subdomain': self.subdomain,
 3822            'tags': self.tags,
 3823        }
 3824
 3825    @classmethod
 3826    def from_dict(cls, d):
 3827        return cls(
 3828            access_key=d.get('access_key'),
 3829            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 3830            bind_interface=d.get('bind_interface'),
 3831            certificate_authority=d.get('certificate_authority'),
 3832            cluster_name=d.get('cluster_name'),
 3833            discovery_enabled=d.get('discovery_enabled'),
 3834            discovery_username=d.get('discovery_username'),
 3835            egress_filter=d.get('egress_filter'),
 3836            endpoint=d.get('endpoint'),
 3837            healthcheck_namespace=d.get('healthcheck_namespace'),
 3838            healthy=d.get('healthy'),
 3839            id=d.get('id'),
 3840            identity_alias_healthcheck_username=d.get(
 3841                'identity_alias_healthcheck_username'),
 3842            identity_set_id=d.get('identity_set_id'),
 3843            name=d.get('name'),
 3844            port_override=d.get('port_override'),
 3845            proxy_cluster_id=d.get('proxy_cluster_id'),
 3846            region=d.get('region'),
 3847            role_arn=d.get('role_arn'),
 3848            role_external_id=d.get('role_external_id'),
 3849            secret_access_key=d.get('secret_access_key'),
 3850            secret_store_id=d.get('secret_store_id'),
 3851            subdomain=d.get('subdomain'),
 3852            tags=d.get('tags'),
 3853        )
 3854
 3855
 3856class AmazonEKSInstanceProfile:
 3857    __slots__ = [
 3858        'allow_resource_role_bypass',
 3859        'bind_interface',
 3860        'certificate_authority',
 3861        'cluster_name',
 3862        'discovery_enabled',
 3863        'discovery_username',
 3864        'egress_filter',
 3865        'endpoint',
 3866        'healthcheck_namespace',
 3867        'healthy',
 3868        'id',
 3869        'identity_alias_healthcheck_username',
 3870        'identity_set_id',
 3871        'name',
 3872        'port_override',
 3873        'proxy_cluster_id',
 3874        'region',
 3875        'role_arn',
 3876        'role_external_id',
 3877        'secret_store_id',
 3878        'subdomain',
 3879        'tags',
 3880    ]
 3881
 3882    def __init__(
 3883        self,
 3884        allow_resource_role_bypass=None,
 3885        bind_interface=None,
 3886        certificate_authority=None,
 3887        cluster_name=None,
 3888        discovery_enabled=None,
 3889        discovery_username=None,
 3890        egress_filter=None,
 3891        endpoint=None,
 3892        healthcheck_namespace=None,
 3893        healthy=None,
 3894        id=None,
 3895        identity_alias_healthcheck_username=None,
 3896        identity_set_id=None,
 3897        name=None,
 3898        port_override=None,
 3899        proxy_cluster_id=None,
 3900        region=None,
 3901        role_arn=None,
 3902        role_external_id=None,
 3903        secret_store_id=None,
 3904        subdomain=None,
 3905        tags=None,
 3906    ):
 3907        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 3908        '''
 3909         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 3910         when a resource role is not provided.
 3911        '''
 3912        self.bind_interface = bind_interface if bind_interface is not None else ''
 3913        '''
 3914         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3915        '''
 3916        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 3917        '''
 3918         The CA to authenticate TLS connections with.
 3919        '''
 3920        self.cluster_name = cluster_name if cluster_name is not None else ''
 3921        '''
 3922         The name of the cluster to connect to.
 3923        '''
 3924        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 3925        '''
 3926         If true, configures discovery of a cluster to be run from a node.
 3927        '''
 3928        self.discovery_username = discovery_username if discovery_username is not None else ''
 3929        '''
 3930         If a cluster is configured for user impersonation, this is the user to impersonate when
 3931         running discovery.
 3932        '''
 3933        self.egress_filter = egress_filter if egress_filter is not None else ''
 3934        '''
 3935         A filter applied to the routing logic to pin datasource to nodes.
 3936        '''
 3937        self.endpoint = endpoint if endpoint is not None else ''
 3938        '''
 3939         The endpoint to dial.
 3940        '''
 3941        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 3942        '''
 3943         The path used to check the health of your connection.  Defaults to `default`.
 3944        '''
 3945        self.healthy = healthy if healthy is not None else False
 3946        '''
 3947         True if the datasource is reachable and the credentials are valid.
 3948        '''
 3949        self.id = id if id is not None else ''
 3950        '''
 3951         Unique identifier of the Resource.
 3952        '''
 3953        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 3954        '''
 3955         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 3956        '''
 3957        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 3958        '''
 3959         The ID of the identity set to use for identity connections.
 3960        '''
 3961        self.name = name if name is not None else ''
 3962        '''
 3963         Unique human-readable name of the Resource.
 3964        '''
 3965        self.port_override = port_override if port_override is not None else 0
 3966        '''
 3967         The local port used by clients to connect to this resource.
 3968        '''
 3969        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3970        '''
 3971         ID of the proxy cluster for this resource, if any.
 3972        '''
 3973        self.region = region if region is not None else ''
 3974        '''
 3975         The AWS region to connect to e.g. us-east-1.
 3976        '''
 3977        self.role_arn = role_arn if role_arn is not None else ''
 3978        '''
 3979         The role to assume after logging in.
 3980        '''
 3981        self.role_external_id = role_external_id if role_external_id is not None else ''
 3982        '''
 3983         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 3984        '''
 3985        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3986        '''
 3987         ID of the secret store containing credentials for this resource, if any.
 3988        '''
 3989        self.subdomain = subdomain if subdomain is not None else ''
 3990        '''
 3991         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3992        '''
 3993        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3994        '''
 3995         Tags is a map of key, value pairs.
 3996        '''
 3997
 3998    def __repr__(self):
 3999        return '<sdm.AmazonEKSInstanceProfile ' + \
 4000            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4001            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4002            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4003            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4004            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4005            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4006            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4007            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4008            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4009            'healthy: ' + repr(self.healthy) + ' ' +\
 4010            'id: ' + repr(self.id) + ' ' +\
 4011            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4012            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4013            'name: ' + repr(self.name) + ' ' +\
 4014            'port_override: ' + repr(self.port_override) + ' ' +\
 4015            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4016            'region: ' + repr(self.region) + ' ' +\
 4017            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4018            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4019            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4020            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4021            'tags: ' + repr(self.tags) + ' ' +\
 4022            '>'
 4023
 4024    def to_dict(self):
 4025        return {
 4026            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4027            'bind_interface': self.bind_interface,
 4028            'certificate_authority': self.certificate_authority,
 4029            'cluster_name': self.cluster_name,
 4030            'discovery_enabled': self.discovery_enabled,
 4031            'discovery_username': self.discovery_username,
 4032            'egress_filter': self.egress_filter,
 4033            'endpoint': self.endpoint,
 4034            'healthcheck_namespace': self.healthcheck_namespace,
 4035            'healthy': self.healthy,
 4036            'id': self.id,
 4037            'identity_alias_healthcheck_username':
 4038            self.identity_alias_healthcheck_username,
 4039            'identity_set_id': self.identity_set_id,
 4040            'name': self.name,
 4041            'port_override': self.port_override,
 4042            'proxy_cluster_id': self.proxy_cluster_id,
 4043            'region': self.region,
 4044            'role_arn': self.role_arn,
 4045            'role_external_id': self.role_external_id,
 4046            'secret_store_id': self.secret_store_id,
 4047            'subdomain': self.subdomain,
 4048            'tags': self.tags,
 4049        }
 4050
 4051    @classmethod
 4052    def from_dict(cls, d):
 4053        return cls(
 4054            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4055            bind_interface=d.get('bind_interface'),
 4056            certificate_authority=d.get('certificate_authority'),
 4057            cluster_name=d.get('cluster_name'),
 4058            discovery_enabled=d.get('discovery_enabled'),
 4059            discovery_username=d.get('discovery_username'),
 4060            egress_filter=d.get('egress_filter'),
 4061            endpoint=d.get('endpoint'),
 4062            healthcheck_namespace=d.get('healthcheck_namespace'),
 4063            healthy=d.get('healthy'),
 4064            id=d.get('id'),
 4065            identity_alias_healthcheck_username=d.get(
 4066                'identity_alias_healthcheck_username'),
 4067            identity_set_id=d.get('identity_set_id'),
 4068            name=d.get('name'),
 4069            port_override=d.get('port_override'),
 4070            proxy_cluster_id=d.get('proxy_cluster_id'),
 4071            region=d.get('region'),
 4072            role_arn=d.get('role_arn'),
 4073            role_external_id=d.get('role_external_id'),
 4074            secret_store_id=d.get('secret_store_id'),
 4075            subdomain=d.get('subdomain'),
 4076            tags=d.get('tags'),
 4077        )
 4078
 4079
 4080class AmazonEKSInstanceProfileUserImpersonation:
 4081    __slots__ = [
 4082        'bind_interface',
 4083        'certificate_authority',
 4084        'cluster_name',
 4085        'egress_filter',
 4086        'endpoint',
 4087        'healthcheck_namespace',
 4088        'healthy',
 4089        'id',
 4090        'name',
 4091        'port_override',
 4092        'proxy_cluster_id',
 4093        'region',
 4094        'role_arn',
 4095        'role_external_id',
 4096        'secret_store_id',
 4097        'subdomain',
 4098        'tags',
 4099    ]
 4100
 4101    def __init__(
 4102        self,
 4103        bind_interface=None,
 4104        certificate_authority=None,
 4105        cluster_name=None,
 4106        egress_filter=None,
 4107        endpoint=None,
 4108        healthcheck_namespace=None,
 4109        healthy=None,
 4110        id=None,
 4111        name=None,
 4112        port_override=None,
 4113        proxy_cluster_id=None,
 4114        region=None,
 4115        role_arn=None,
 4116        role_external_id=None,
 4117        secret_store_id=None,
 4118        subdomain=None,
 4119        tags=None,
 4120    ):
 4121        self.bind_interface = bind_interface if bind_interface is not None else ''
 4122        '''
 4123         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4124        '''
 4125        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4126        '''
 4127         The CA to authenticate TLS connections with.
 4128        '''
 4129        self.cluster_name = cluster_name if cluster_name is not None else ''
 4130        '''
 4131         The name of the cluster to connect to.
 4132        '''
 4133        self.egress_filter = egress_filter if egress_filter is not None else ''
 4134        '''
 4135         A filter applied to the routing logic to pin datasource to nodes.
 4136        '''
 4137        self.endpoint = endpoint if endpoint is not None else ''
 4138        '''
 4139         The endpoint to dial.
 4140        '''
 4141        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4142        '''
 4143         The path used to check the health of your connection.  Defaults to `default`.
 4144        '''
 4145        self.healthy = healthy if healthy is not None else False
 4146        '''
 4147         True if the datasource is reachable and the credentials are valid.
 4148        '''
 4149        self.id = id if id is not None else ''
 4150        '''
 4151         Unique identifier of the Resource.
 4152        '''
 4153        self.name = name if name is not None else ''
 4154        '''
 4155         Unique human-readable name of the Resource.
 4156        '''
 4157        self.port_override = port_override if port_override is not None else 0
 4158        '''
 4159         The local port used by clients to connect to this resource.
 4160        '''
 4161        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4162        '''
 4163         ID of the proxy cluster for this resource, if any.
 4164        '''
 4165        self.region = region if region is not None else ''
 4166        '''
 4167         The AWS region to connect to e.g. us-east-1.
 4168        '''
 4169        self.role_arn = role_arn if role_arn is not None else ''
 4170        '''
 4171         The role to assume after logging in.
 4172        '''
 4173        self.role_external_id = role_external_id if role_external_id is not None else ''
 4174        '''
 4175         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4176        '''
 4177        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4178        '''
 4179         ID of the secret store containing credentials for this resource, if any.
 4180        '''
 4181        self.subdomain = subdomain if subdomain is not None else ''
 4182        '''
 4183         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4184        '''
 4185        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4186        '''
 4187         Tags is a map of key, value pairs.
 4188        '''
 4189
 4190    def __repr__(self):
 4191        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4192            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4193            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4194            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4195            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4196            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4197            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4198            'healthy: ' + repr(self.healthy) + ' ' +\
 4199            'id: ' + repr(self.id) + ' ' +\
 4200            'name: ' + repr(self.name) + ' ' +\
 4201            'port_override: ' + repr(self.port_override) + ' ' +\
 4202            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4203            'region: ' + repr(self.region) + ' ' +\
 4204            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4205            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4206            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4207            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4208            'tags: ' + repr(self.tags) + ' ' +\
 4209            '>'
 4210
 4211    def to_dict(self):
 4212        return {
 4213            'bind_interface': self.bind_interface,
 4214            'certificate_authority': self.certificate_authority,
 4215            'cluster_name': self.cluster_name,
 4216            'egress_filter': self.egress_filter,
 4217            'endpoint': self.endpoint,
 4218            'healthcheck_namespace': self.healthcheck_namespace,
 4219            'healthy': self.healthy,
 4220            'id': self.id,
 4221            'name': self.name,
 4222            'port_override': self.port_override,
 4223            'proxy_cluster_id': self.proxy_cluster_id,
 4224            'region': self.region,
 4225            'role_arn': self.role_arn,
 4226            'role_external_id': self.role_external_id,
 4227            'secret_store_id': self.secret_store_id,
 4228            'subdomain': self.subdomain,
 4229            'tags': self.tags,
 4230        }
 4231
 4232    @classmethod
 4233    def from_dict(cls, d):
 4234        return cls(
 4235            bind_interface=d.get('bind_interface'),
 4236            certificate_authority=d.get('certificate_authority'),
 4237            cluster_name=d.get('cluster_name'),
 4238            egress_filter=d.get('egress_filter'),
 4239            endpoint=d.get('endpoint'),
 4240            healthcheck_namespace=d.get('healthcheck_namespace'),
 4241            healthy=d.get('healthy'),
 4242            id=d.get('id'),
 4243            name=d.get('name'),
 4244            port_override=d.get('port_override'),
 4245            proxy_cluster_id=d.get('proxy_cluster_id'),
 4246            region=d.get('region'),
 4247            role_arn=d.get('role_arn'),
 4248            role_external_id=d.get('role_external_id'),
 4249            secret_store_id=d.get('secret_store_id'),
 4250            subdomain=d.get('subdomain'),
 4251            tags=d.get('tags'),
 4252        )
 4253
 4254
 4255class AmazonEKSUserImpersonation:
 4256    __slots__ = [
 4257        'access_key',
 4258        'bind_interface',
 4259        'certificate_authority',
 4260        'cluster_name',
 4261        'egress_filter',
 4262        'endpoint',
 4263        'healthcheck_namespace',
 4264        'healthy',
 4265        'id',
 4266        'name',
 4267        'port_override',
 4268        'proxy_cluster_id',
 4269        'region',
 4270        'role_arn',
 4271        'role_external_id',
 4272        'secret_access_key',
 4273        'secret_store_id',
 4274        'subdomain',
 4275        'tags',
 4276    ]
 4277
 4278    def __init__(
 4279        self,
 4280        access_key=None,
 4281        bind_interface=None,
 4282        certificate_authority=None,
 4283        cluster_name=None,
 4284        egress_filter=None,
 4285        endpoint=None,
 4286        healthcheck_namespace=None,
 4287        healthy=None,
 4288        id=None,
 4289        name=None,
 4290        port_override=None,
 4291        proxy_cluster_id=None,
 4292        region=None,
 4293        role_arn=None,
 4294        role_external_id=None,
 4295        secret_access_key=None,
 4296        secret_store_id=None,
 4297        subdomain=None,
 4298        tags=None,
 4299    ):
 4300        self.access_key = access_key if access_key is not None else ''
 4301        '''
 4302         The Access Key ID to use to authenticate.
 4303        '''
 4304        self.bind_interface = bind_interface if bind_interface is not None else ''
 4305        '''
 4306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4307        '''
 4308        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4309        '''
 4310         The CA to authenticate TLS connections with.
 4311        '''
 4312        self.cluster_name = cluster_name if cluster_name is not None else ''
 4313        '''
 4314         The name of the cluster to connect to.
 4315        '''
 4316        self.egress_filter = egress_filter if egress_filter is not None else ''
 4317        '''
 4318         A filter applied to the routing logic to pin datasource to nodes.
 4319        '''
 4320        self.endpoint = endpoint if endpoint is not None else ''
 4321        '''
 4322         The endpoint to dial.
 4323        '''
 4324        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4325        '''
 4326         The path used to check the health of your connection.  Defaults to `default`.
 4327        '''
 4328        self.healthy = healthy if healthy is not None else False
 4329        '''
 4330         True if the datasource is reachable and the credentials are valid.
 4331        '''
 4332        self.id = id if id is not None else ''
 4333        '''
 4334         Unique identifier of the Resource.
 4335        '''
 4336        self.name = name if name is not None else ''
 4337        '''
 4338         Unique human-readable name of the Resource.
 4339        '''
 4340        self.port_override = port_override if port_override is not None else 0
 4341        '''
 4342         The local port used by clients to connect to this resource.
 4343        '''
 4344        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4345        '''
 4346         ID of the proxy cluster for this resource, if any.
 4347        '''
 4348        self.region = region if region is not None else ''
 4349        '''
 4350         The AWS region to connect to e.g. us-east-1.
 4351        '''
 4352        self.role_arn = role_arn if role_arn is not None else ''
 4353        '''
 4354         The role to assume after logging in.
 4355        '''
 4356        self.role_external_id = role_external_id if role_external_id is not None else ''
 4357        '''
 4358         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4359        '''
 4360        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4361        '''
 4362         The Secret Access Key to use to authenticate.
 4363        '''
 4364        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4365        '''
 4366         ID of the secret store containing credentials for this resource, if any.
 4367        '''
 4368        self.subdomain = subdomain if subdomain is not None else ''
 4369        '''
 4370         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4371        '''
 4372        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4373        '''
 4374         Tags is a map of key, value pairs.
 4375        '''
 4376
 4377    def __repr__(self):
 4378        return '<sdm.AmazonEKSUserImpersonation ' + \
 4379            'access_key: ' + repr(self.access_key) + ' ' +\
 4380            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4381            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4382            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4383            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4384            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4385            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4386            'healthy: ' + repr(self.healthy) + ' ' +\
 4387            'id: ' + repr(self.id) + ' ' +\
 4388            'name: ' + repr(self.name) + ' ' +\
 4389            'port_override: ' + repr(self.port_override) + ' ' +\
 4390            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4391            'region: ' + repr(self.region) + ' ' +\
 4392            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4393            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4394            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4395            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4396            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4397            'tags: ' + repr(self.tags) + ' ' +\
 4398            '>'
 4399
 4400    def to_dict(self):
 4401        return {
 4402            'access_key': self.access_key,
 4403            'bind_interface': self.bind_interface,
 4404            'certificate_authority': self.certificate_authority,
 4405            'cluster_name': self.cluster_name,
 4406            'egress_filter': self.egress_filter,
 4407            'endpoint': self.endpoint,
 4408            'healthcheck_namespace': self.healthcheck_namespace,
 4409            'healthy': self.healthy,
 4410            'id': self.id,
 4411            'name': self.name,
 4412            'port_override': self.port_override,
 4413            'proxy_cluster_id': self.proxy_cluster_id,
 4414            'region': self.region,
 4415            'role_arn': self.role_arn,
 4416            'role_external_id': self.role_external_id,
 4417            'secret_access_key': self.secret_access_key,
 4418            'secret_store_id': self.secret_store_id,
 4419            'subdomain': self.subdomain,
 4420            'tags': self.tags,
 4421        }
 4422
 4423    @classmethod
 4424    def from_dict(cls, d):
 4425        return cls(
 4426            access_key=d.get('access_key'),
 4427            bind_interface=d.get('bind_interface'),
 4428            certificate_authority=d.get('certificate_authority'),
 4429            cluster_name=d.get('cluster_name'),
 4430            egress_filter=d.get('egress_filter'),
 4431            endpoint=d.get('endpoint'),
 4432            healthcheck_namespace=d.get('healthcheck_namespace'),
 4433            healthy=d.get('healthy'),
 4434            id=d.get('id'),
 4435            name=d.get('name'),
 4436            port_override=d.get('port_override'),
 4437            proxy_cluster_id=d.get('proxy_cluster_id'),
 4438            region=d.get('region'),
 4439            role_arn=d.get('role_arn'),
 4440            role_external_id=d.get('role_external_id'),
 4441            secret_access_key=d.get('secret_access_key'),
 4442            secret_store_id=d.get('secret_store_id'),
 4443            subdomain=d.get('subdomain'),
 4444            tags=d.get('tags'),
 4445        )
 4446
 4447
 4448class AmazonES:
 4449    __slots__ = [
 4450        'access_key',
 4451        'bind_interface',
 4452        'egress_filter',
 4453        'endpoint',
 4454        'healthy',
 4455        'id',
 4456        'name',
 4457        'port_override',
 4458        'proxy_cluster_id',
 4459        'region',
 4460        'role_arn',
 4461        'role_external_id',
 4462        'secret_access_key',
 4463        'secret_store_id',
 4464        'subdomain',
 4465        'tags',
 4466    ]
 4467
 4468    def __init__(
 4469        self,
 4470        access_key=None,
 4471        bind_interface=None,
 4472        egress_filter=None,
 4473        endpoint=None,
 4474        healthy=None,
 4475        id=None,
 4476        name=None,
 4477        port_override=None,
 4478        proxy_cluster_id=None,
 4479        region=None,
 4480        role_arn=None,
 4481        role_external_id=None,
 4482        secret_access_key=None,
 4483        secret_store_id=None,
 4484        subdomain=None,
 4485        tags=None,
 4486    ):
 4487        self.access_key = access_key if access_key is not None else ''
 4488        '''
 4489         The Access Key ID to use to authenticate.
 4490        '''
 4491        self.bind_interface = bind_interface if bind_interface is not None else ''
 4492        '''
 4493         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4494        '''
 4495        self.egress_filter = egress_filter if egress_filter is not None else ''
 4496        '''
 4497         A filter applied to the routing logic to pin datasource to nodes.
 4498        '''
 4499        self.endpoint = endpoint if endpoint is not None else ''
 4500        '''
 4501         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4502        '''
 4503        self.healthy = healthy if healthy is not None else False
 4504        '''
 4505         True if the datasource is reachable and the credentials are valid.
 4506        '''
 4507        self.id = id if id is not None else ''
 4508        '''
 4509         Unique identifier of the Resource.
 4510        '''
 4511        self.name = name if name is not None else ''
 4512        '''
 4513         Unique human-readable name of the Resource.
 4514        '''
 4515        self.port_override = port_override if port_override is not None else 0
 4516        '''
 4517         The local port used by clients to connect to this resource.
 4518        '''
 4519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4520        '''
 4521         ID of the proxy cluster for this resource, if any.
 4522        '''
 4523        self.region = region if region is not None else ''
 4524        '''
 4525         The AWS region to connect to e.g. us-east-1.
 4526        '''
 4527        self.role_arn = role_arn if role_arn is not None else ''
 4528        '''
 4529         The role to assume after logging in.
 4530        '''
 4531        self.role_external_id = role_external_id if role_external_id is not None else ''
 4532        '''
 4533         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4534        '''
 4535        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4536        '''
 4537         The Secret Access Key to use to authenticate.
 4538        '''
 4539        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4540        '''
 4541         ID of the secret store containing credentials for this resource, if any.
 4542        '''
 4543        self.subdomain = subdomain if subdomain is not None else ''
 4544        '''
 4545         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4546        '''
 4547        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4548        '''
 4549         Tags is a map of key, value pairs.
 4550        '''
 4551
 4552    def __repr__(self):
 4553        return '<sdm.AmazonES ' + \
 4554            'access_key: ' + repr(self.access_key) + ' ' +\
 4555            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4556            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4557            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4558            'healthy: ' + repr(self.healthy) + ' ' +\
 4559            'id: ' + repr(self.id) + ' ' +\
 4560            'name: ' + repr(self.name) + ' ' +\
 4561            'port_override: ' + repr(self.port_override) + ' ' +\
 4562            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4563            'region: ' + repr(self.region) + ' ' +\
 4564            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4565            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4566            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4567            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4568            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4569            'tags: ' + repr(self.tags) + ' ' +\
 4570            '>'
 4571
 4572    def to_dict(self):
 4573        return {
 4574            'access_key': self.access_key,
 4575            'bind_interface': self.bind_interface,
 4576            'egress_filter': self.egress_filter,
 4577            'endpoint': self.endpoint,
 4578            'healthy': self.healthy,
 4579            'id': self.id,
 4580            'name': self.name,
 4581            'port_override': self.port_override,
 4582            'proxy_cluster_id': self.proxy_cluster_id,
 4583            'region': self.region,
 4584            'role_arn': self.role_arn,
 4585            'role_external_id': self.role_external_id,
 4586            'secret_access_key': self.secret_access_key,
 4587            'secret_store_id': self.secret_store_id,
 4588            'subdomain': self.subdomain,
 4589            'tags': self.tags,
 4590        }
 4591
 4592    @classmethod
 4593    def from_dict(cls, d):
 4594        return cls(
 4595            access_key=d.get('access_key'),
 4596            bind_interface=d.get('bind_interface'),
 4597            egress_filter=d.get('egress_filter'),
 4598            endpoint=d.get('endpoint'),
 4599            healthy=d.get('healthy'),
 4600            id=d.get('id'),
 4601            name=d.get('name'),
 4602            port_override=d.get('port_override'),
 4603            proxy_cluster_id=d.get('proxy_cluster_id'),
 4604            region=d.get('region'),
 4605            role_arn=d.get('role_arn'),
 4606            role_external_id=d.get('role_external_id'),
 4607            secret_access_key=d.get('secret_access_key'),
 4608            secret_store_id=d.get('secret_store_id'),
 4609            subdomain=d.get('subdomain'),
 4610            tags=d.get('tags'),
 4611        )
 4612
 4613
 4614class AmazonMQAMQP091:
 4615    __slots__ = [
 4616        'bind_interface',
 4617        'egress_filter',
 4618        'healthy',
 4619        'hostname',
 4620        'id',
 4621        'name',
 4622        'password',
 4623        'port',
 4624        'port_override',
 4625        'proxy_cluster_id',
 4626        'secret_store_id',
 4627        'subdomain',
 4628        'tags',
 4629        'tls_required',
 4630        'username',
 4631    ]
 4632
 4633    def __init__(
 4634        self,
 4635        bind_interface=None,
 4636        egress_filter=None,
 4637        healthy=None,
 4638        hostname=None,
 4639        id=None,
 4640        name=None,
 4641        password=None,
 4642        port=None,
 4643        port_override=None,
 4644        proxy_cluster_id=None,
 4645        secret_store_id=None,
 4646        subdomain=None,
 4647        tags=None,
 4648        tls_required=None,
 4649        username=None,
 4650    ):
 4651        self.bind_interface = bind_interface if bind_interface is not None else ''
 4652        '''
 4653         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4654        '''
 4655        self.egress_filter = egress_filter if egress_filter is not None else ''
 4656        '''
 4657         A filter applied to the routing logic to pin datasource to nodes.
 4658        '''
 4659        self.healthy = healthy if healthy is not None else False
 4660        '''
 4661         True if the datasource is reachable and the credentials are valid.
 4662        '''
 4663        self.hostname = hostname if hostname is not None else ''
 4664        '''
 4665         The host to dial to initiate a connection from the egress node to this resource.
 4666        '''
 4667        self.id = id if id is not None else ''
 4668        '''
 4669         Unique identifier of the Resource.
 4670        '''
 4671        self.name = name if name is not None else ''
 4672        '''
 4673         Unique human-readable name of the Resource.
 4674        '''
 4675        self.password = password if password is not None else ''
 4676        '''
 4677         The password to authenticate with.
 4678        '''
 4679        self.port = port if port is not None else 0
 4680        '''
 4681         The port to dial to initiate a connection from the egress node to this resource.
 4682        '''
 4683        self.port_override = port_override if port_override is not None else 0
 4684        '''
 4685         The local port used by clients to connect to this resource.
 4686        '''
 4687        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4688        '''
 4689         ID of the proxy cluster for this resource, if any.
 4690        '''
 4691        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4692        '''
 4693         ID of the secret store containing credentials for this resource, if any.
 4694        '''
 4695        self.subdomain = subdomain if subdomain is not None else ''
 4696        '''
 4697         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4698        '''
 4699        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4700        '''
 4701         Tags is a map of key, value pairs.
 4702        '''
 4703        self.tls_required = tls_required if tls_required is not None else False
 4704        '''
 4705         If set, TLS must be used to connect to this resource.
 4706        '''
 4707        self.username = username if username is not None else ''
 4708        '''
 4709         The username to authenticate with.
 4710        '''
 4711
 4712    def __repr__(self):
 4713        return '<sdm.AmazonMQAMQP091 ' + \
 4714            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4715            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4716            'healthy: ' + repr(self.healthy) + ' ' +\
 4717            'hostname: ' + repr(self.hostname) + ' ' +\
 4718            'id: ' + repr(self.id) + ' ' +\
 4719            'name: ' + repr(self.name) + ' ' +\
 4720            'password: ' + repr(self.password) + ' ' +\
 4721            'port: ' + repr(self.port) + ' ' +\
 4722            'port_override: ' + repr(self.port_override) + ' ' +\
 4723            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4724            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4725            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4726            'tags: ' + repr(self.tags) + ' ' +\
 4727            'tls_required: ' + repr(self.tls_required) + ' ' +\
 4728            'username: ' + repr(self.username) + ' ' +\
 4729            '>'
 4730
 4731    def to_dict(self):
 4732        return {
 4733            'bind_interface': self.bind_interface,
 4734            'egress_filter': self.egress_filter,
 4735            'healthy': self.healthy,
 4736            'hostname': self.hostname,
 4737            'id': self.id,
 4738            'name': self.name,
 4739            'password': self.password,
 4740            'port': self.port,
 4741            'port_override': self.port_override,
 4742            'proxy_cluster_id': self.proxy_cluster_id,
 4743            'secret_store_id': self.secret_store_id,
 4744            'subdomain': self.subdomain,
 4745            'tags': self.tags,
 4746            'tls_required': self.tls_required,
 4747            'username': self.username,
 4748        }
 4749
 4750    @classmethod
 4751    def from_dict(cls, d):
 4752        return cls(
 4753            bind_interface=d.get('bind_interface'),
 4754            egress_filter=d.get('egress_filter'),
 4755            healthy=d.get('healthy'),
 4756            hostname=d.get('hostname'),
 4757            id=d.get('id'),
 4758            name=d.get('name'),
 4759            password=d.get('password'),
 4760            port=d.get('port'),
 4761            port_override=d.get('port_override'),
 4762            proxy_cluster_id=d.get('proxy_cluster_id'),
 4763            secret_store_id=d.get('secret_store_id'),
 4764            subdomain=d.get('subdomain'),
 4765            tags=d.get('tags'),
 4766            tls_required=d.get('tls_required'),
 4767            username=d.get('username'),
 4768        )
 4769
 4770
 4771class ApprovalWorkflow:
 4772    '''
 4773         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 4774     approvers and be approved or denied.
 4775    '''
 4776    __slots__ = [
 4777        'approval_mode',
 4778        'description',
 4779        'id',
 4780        'name',
 4781    ]
 4782
 4783    def __init__(
 4784        self,
 4785        approval_mode=None,
 4786        description=None,
 4787        id=None,
 4788        name=None,
 4789    ):
 4790        self.approval_mode = approval_mode if approval_mode is not None else ''
 4791        '''
 4792         Approval mode of the ApprovalWorkflow
 4793        '''
 4794        self.description = description if description is not None else ''
 4795        '''
 4796         Optional description of the ApprovalWorkflow.
 4797        '''
 4798        self.id = id if id is not None else ''
 4799        '''
 4800         Unique identifier of the ApprovalWorkflow.
 4801        '''
 4802        self.name = name if name is not None else ''
 4803        '''
 4804         Unique human-readable name of the ApprovalWorkflow.
 4805        '''
 4806
 4807    def __repr__(self):
 4808        return '<sdm.ApprovalWorkflow ' + \
 4809            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 4810            'description: ' + repr(self.description) + ' ' +\
 4811            'id: ' + repr(self.id) + ' ' +\
 4812            'name: ' + repr(self.name) + ' ' +\
 4813            '>'
 4814
 4815    def to_dict(self):
 4816        return {
 4817            'approval_mode': self.approval_mode,
 4818            'description': self.description,
 4819            'id': self.id,
 4820            'name': self.name,
 4821        }
 4822
 4823    @classmethod
 4824    def from_dict(cls, d):
 4825        return cls(
 4826            approval_mode=d.get('approval_mode'),
 4827            description=d.get('description'),
 4828            id=d.get('id'),
 4829            name=d.get('name'),
 4830        )
 4831
 4832
 4833class ApprovalWorkflowApprover:
 4834    '''
 4835         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 4836    '''
 4837    __slots__ = [
 4838        'account_id',
 4839        'approval_flow_id',
 4840        'approval_step_id',
 4841        'id',
 4842        'role_id',
 4843    ]
 4844
 4845    def __init__(
 4846        self,
 4847        account_id=None,
 4848        approval_flow_id=None,
 4849        approval_step_id=None,
 4850        id=None,
 4851        role_id=None,
 4852    ):
 4853        self.account_id = account_id if account_id is not None else ''
 4854        '''
 4855         The approver account id.
 4856        '''
 4857        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 4858        '''
 4859         The approval flow id specified the approval workflow that this approver belongs to
 4860        '''
 4861        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 4862        '''
 4863         The approval step id specified the approval flow step that this approver belongs to
 4864        '''
 4865        self.id = id if id is not None else ''
 4866        '''
 4867         Unique identifier of the ApprovalWorkflowApprover.
 4868        '''
 4869        self.role_id = role_id if role_id is not None else ''
 4870        '''
 4871         The approver role id
 4872        '''
 4873
 4874    def __repr__(self):
 4875        return '<sdm.ApprovalWorkflowApprover ' + \
 4876            'account_id: ' + repr(self.account_id) + ' ' +\
 4877            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 4878            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 4879            'id: ' + repr(self.id) + ' ' +\
 4880            'role_id: ' + repr(self.role_id) + ' ' +\
 4881            '>'
 4882
 4883    def to_dict(self):
 4884        return {
 4885            'account_id': self.account_id,
 4886            'approval_flow_id': self.approval_flow_id,
 4887            'approval_step_id': self.approval_step_id,
 4888            'id': self.id,
 4889            'role_id': self.role_id,
 4890        }
 4891
 4892    @classmethod
 4893    def from_dict(cls, d):
 4894        return cls(
 4895            account_id=d.get('account_id'),
 4896            approval_flow_id=d.get('approval_flow_id'),
 4897            approval_step_id=d.get('approval_step_id'),
 4898            id=d.get('id'),
 4899            role_id=d.get('role_id'),
 4900        )
 4901
 4902
 4903class ApprovalWorkflowApproverCreateResponse:
 4904    '''
 4905         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 4906    '''
 4907    __slots__ = [
 4908        'approval_workflow_approver',
 4909        'rate_limit',
 4910    ]
 4911
 4912    def __init__(
 4913        self,
 4914        approval_workflow_approver=None,
 4915        rate_limit=None,
 4916    ):
 4917        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 4918        '''
 4919         The created approval workflow approver.
 4920        '''
 4921        self.rate_limit = rate_limit if rate_limit is not None else None
 4922        '''
 4923         Rate limit information.
 4924        '''
 4925
 4926    def __repr__(self):
 4927        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 4928            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 4929            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 4930            '>'
 4931
 4932    def to_dict(self):
 4933        return {
 4934            'approval_workflow_approver': self.approval_workflow_approver,
 4935            'rate_limit': self.rate_limit,
 4936        }
 4937
 4938    @classmethod
 4939    def from_dict(cls, d):
 4940        return cls(
 4941            approval_workflow_approver=d.get('approval_workflow_approver'),
 4942            rate_limit=d.get('rate_limit'),
 4943        )
 4944
 4945
 4946class ApprovalWorkflowApproverDeleteResponse:
 4947    '''
 4948         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 4949    '''
 4950    __slots__ = [
 4951        'id',
 4952        'rate_limit',
 4953    ]
 4954
 4955    def __init__(
 4956        self,
 4957        id=None,
 4958        rate_limit=None,
 4959    ):
 4960        self.id = id if id is not None else ''
 4961        '''
 4962         The deleted approval workflow approver id.
 4963        '''
 4964        self.rate_limit = rate_limit if rate_limit is not None else None
 4965        '''
 4966         Rate limit information.
 4967        '''
 4968
 4969    def __repr__(self):
 4970        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 4971            'id: ' + repr(self.id) + ' ' +\
 4972            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 4973            '>'
 4974
 4975    def to_dict(self):
 4976        return {
 4977            'id': self.id,
 4978            'rate_limit': self.rate_limit,
 4979        }
 4980
 4981    @classmethod
 4982    def from_dict(cls, d):
 4983        return cls(
 4984            id=d.get('id'),
 4985            rate_limit=d.get('rate_limit'),
 4986        )
 4987
 4988
 4989class ApprovalWorkflowApproverGetResponse:
 4990    '''
 4991         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 4992    '''
 4993    __slots__ = [
 4994        'approval_workflow_approver',
 4995        'meta',
 4996        'rate_limit',
 4997    ]
 4998
 4999    def __init__(
 5000        self,
 5001        approval_workflow_approver=None,
 5002        meta=None,
 5003        rate_limit=None,
 5004    ):
 5005        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5006        '''
 5007         The requested ApprovalWorkflowApprover.
 5008        '''
 5009        self.meta = meta if meta is not None else None
 5010        '''
 5011         Reserved for future use.
 5012        '''
 5013        self.rate_limit = rate_limit if rate_limit is not None else None
 5014        '''
 5015         Rate limit information.
 5016        '''
 5017
 5018    def __repr__(self):
 5019        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5020            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5021            'meta: ' + repr(self.meta) + ' ' +\
 5022            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5023            '>'
 5024
 5025    def to_dict(self):
 5026        return {
 5027            'approval_workflow_approver': self.approval_workflow_approver,
 5028            'meta': self.meta,
 5029            'rate_limit': self.rate_limit,
 5030        }
 5031
 5032    @classmethod
 5033    def from_dict(cls, d):
 5034        return cls(
 5035            approval_workflow_approver=d.get('approval_workflow_approver'),
 5036            meta=d.get('meta'),
 5037            rate_limit=d.get('rate_limit'),
 5038        )
 5039
 5040
 5041class ApprovalWorkflowApproverHistory:
 5042    '''
 5043         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5044     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5045     ApprovalWorkflowApproverHistory record.
 5046    '''
 5047    __slots__ = [
 5048        'activity_id',
 5049        'approval_workflow_approver',
 5050        'deleted_at',
 5051        'timestamp',
 5052    ]
 5053
 5054    def __init__(
 5055        self,
 5056        activity_id=None,
 5057        approval_workflow_approver=None,
 5058        deleted_at=None,
 5059        timestamp=None,
 5060    ):
 5061        self.activity_id = activity_id if activity_id is not None else ''
 5062        '''
 5063         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5064         May be empty for some system-initiated updates.
 5065        '''
 5066        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5067        '''
 5068         The complete ApprovalWorkflowApprover state at this time.
 5069        '''
 5070        self.deleted_at = deleted_at if deleted_at is not None else None
 5071        '''
 5072         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5073        '''
 5074        self.timestamp = timestamp if timestamp is not None else None
 5075        '''
 5076         The time at which the ApprovalWorkflowApprover state was recorded.
 5077        '''
 5078
 5079    def __repr__(self):
 5080        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5081            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5082            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5083            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5084            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5085            '>'
 5086
 5087    def to_dict(self):
 5088        return {
 5089            'activity_id': self.activity_id,
 5090            'approval_workflow_approver': self.approval_workflow_approver,
 5091            'deleted_at': self.deleted_at,
 5092            'timestamp': self.timestamp,
 5093        }
 5094
 5095    @classmethod
 5096    def from_dict(cls, d):
 5097        return cls(
 5098            activity_id=d.get('activity_id'),
 5099            approval_workflow_approver=d.get('approval_workflow_approver'),
 5100            deleted_at=d.get('deleted_at'),
 5101            timestamp=d.get('timestamp'),
 5102        )
 5103
 5104
 5105class ApprovalWorkflowApproverListResponse:
 5106    '''
 5107         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5108     the criteria of an ApprovalWorkflowApproverListRequest.
 5109    '''
 5110    __slots__ = [
 5111        'rate_limit',
 5112    ]
 5113
 5114    def __init__(
 5115        self,
 5116        rate_limit=None,
 5117    ):
 5118        self.rate_limit = rate_limit if rate_limit is not None else None
 5119        '''
 5120         Rate limit information.
 5121        '''
 5122
 5123    def __repr__(self):
 5124        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5125            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5126            '>'
 5127
 5128    def to_dict(self):
 5129        return {
 5130            'rate_limit': self.rate_limit,
 5131        }
 5132
 5133    @classmethod
 5134    def from_dict(cls, d):
 5135        return cls(rate_limit=d.get('rate_limit'), )
 5136
 5137
 5138class ApprovalWorkflowCreateResponse:
 5139    '''
 5140         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5141    '''
 5142    __slots__ = [
 5143        'approval_workflow',
 5144        'rate_limit',
 5145    ]
 5146
 5147    def __init__(
 5148        self,
 5149        approval_workflow=None,
 5150        rate_limit=None,
 5151    ):
 5152        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5153        '''
 5154         The created approval workflow.
 5155        '''
 5156        self.rate_limit = rate_limit if rate_limit is not None else None
 5157        '''
 5158         Rate limit information.
 5159        '''
 5160
 5161    def __repr__(self):
 5162        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5163            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5164            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5165            '>'
 5166
 5167    def to_dict(self):
 5168        return {
 5169            'approval_workflow': self.approval_workflow,
 5170            'rate_limit': self.rate_limit,
 5171        }
 5172
 5173    @classmethod
 5174    def from_dict(cls, d):
 5175        return cls(
 5176            approval_workflow=d.get('approval_workflow'),
 5177            rate_limit=d.get('rate_limit'),
 5178        )
 5179
 5180
 5181class ApprovalWorkflowDeleteResponse:
 5182    '''
 5183         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5184    '''
 5185    __slots__ = [
 5186        'id',
 5187        'rate_limit',
 5188    ]
 5189
 5190    def __init__(
 5191        self,
 5192        id=None,
 5193        rate_limit=None,
 5194    ):
 5195        self.id = id if id is not None else ''
 5196        '''
 5197         The deleted approval workflow id.
 5198        '''
 5199        self.rate_limit = rate_limit if rate_limit is not None else None
 5200        '''
 5201         Rate limit information.
 5202        '''
 5203
 5204    def __repr__(self):
 5205        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5206            'id: ' + repr(self.id) + ' ' +\
 5207            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5208            '>'
 5209
 5210    def to_dict(self):
 5211        return {
 5212            'id': self.id,
 5213            'rate_limit': self.rate_limit,
 5214        }
 5215
 5216    @classmethod
 5217    def from_dict(cls, d):
 5218        return cls(
 5219            id=d.get('id'),
 5220            rate_limit=d.get('rate_limit'),
 5221        )
 5222
 5223
 5224class ApprovalWorkflowGetResponse:
 5225    '''
 5226         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5227    '''
 5228    __slots__ = [
 5229        'approval_workflow',
 5230        'meta',
 5231        'rate_limit',
 5232    ]
 5233
 5234    def __init__(
 5235        self,
 5236        approval_workflow=None,
 5237        meta=None,
 5238        rate_limit=None,
 5239    ):
 5240        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5241        '''
 5242         The requested ApprovalWorkflow.
 5243        '''
 5244        self.meta = meta if meta is not None else None
 5245        '''
 5246         Reserved for future use.
 5247        '''
 5248        self.rate_limit = rate_limit if rate_limit is not None else None
 5249        '''
 5250         Rate limit information.
 5251        '''
 5252
 5253    def __repr__(self):
 5254        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5255            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5256            'meta: ' + repr(self.meta) + ' ' +\
 5257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5258            '>'
 5259
 5260    def to_dict(self):
 5261        return {
 5262            'approval_workflow': self.approval_workflow,
 5263            'meta': self.meta,
 5264            'rate_limit': self.rate_limit,
 5265        }
 5266
 5267    @classmethod
 5268    def from_dict(cls, d):
 5269        return cls(
 5270            approval_workflow=d.get('approval_workflow'),
 5271            meta=d.get('meta'),
 5272            rate_limit=d.get('rate_limit'),
 5273        )
 5274
 5275
 5276class ApprovalWorkflowHistory:
 5277    '''
 5278         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5279     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5280     ApprovalWorkflowHistory record.
 5281    '''
 5282    __slots__ = [
 5283        'activity_id',
 5284        'approval_workflow',
 5285        'deleted_at',
 5286        'timestamp',
 5287    ]
 5288
 5289    def __init__(
 5290        self,
 5291        activity_id=None,
 5292        approval_workflow=None,
 5293        deleted_at=None,
 5294        timestamp=None,
 5295    ):
 5296        self.activity_id = activity_id if activity_id is not None else ''
 5297        '''
 5298         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5299         May be empty for some system-initiated updates.
 5300        '''
 5301        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5302        '''
 5303         The complete ApprovalWorkflow state at this time.
 5304        '''
 5305        self.deleted_at = deleted_at if deleted_at is not None else None
 5306        '''
 5307         If this ApprovalWorkflow was deleted, the time it was deleted.
 5308        '''
 5309        self.timestamp = timestamp if timestamp is not None else None
 5310        '''
 5311         The time at which the ApprovalWorkflow state was recorded.
 5312        '''
 5313
 5314    def __repr__(self):
 5315        return '<sdm.ApprovalWorkflowHistory ' + \
 5316            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5317            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5318            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5319            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5320            '>'
 5321
 5322    def to_dict(self):
 5323        return {
 5324            'activity_id': self.activity_id,
 5325            'approval_workflow': self.approval_workflow,
 5326            'deleted_at': self.deleted_at,
 5327            'timestamp': self.timestamp,
 5328        }
 5329
 5330    @classmethod
 5331    def from_dict(cls, d):
 5332        return cls(
 5333            activity_id=d.get('activity_id'),
 5334            approval_workflow=d.get('approval_workflow'),
 5335            deleted_at=d.get('deleted_at'),
 5336            timestamp=d.get('timestamp'),
 5337        )
 5338
 5339
 5340class ApprovalWorkflowListResponse:
 5341    '''
 5342         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 5343     the criteria of an ApprovalWorkflowListRequest.
 5344    '''
 5345    __slots__ = [
 5346        'rate_limit',
 5347    ]
 5348
 5349    def __init__(
 5350        self,
 5351        rate_limit=None,
 5352    ):
 5353        self.rate_limit = rate_limit if rate_limit is not None else None
 5354        '''
 5355         Rate limit information.
 5356        '''
 5357
 5358    def __repr__(self):
 5359        return '<sdm.ApprovalWorkflowListResponse ' + \
 5360            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5361            '>'
 5362
 5363    def to_dict(self):
 5364        return {
 5365            'rate_limit': self.rate_limit,
 5366        }
 5367
 5368    @classmethod
 5369    def from_dict(cls, d):
 5370        return cls(rate_limit=d.get('rate_limit'), )
 5371
 5372
 5373class ApprovalWorkflowStep:
 5374    '''
 5375         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 5376    '''
 5377    __slots__ = [
 5378        'approval_flow_id',
 5379        'id',
 5380    ]
 5381
 5382    def __init__(
 5383        self,
 5384        approval_flow_id=None,
 5385        id=None,
 5386    ):
 5387        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5388        '''
 5389         The approval flow id specified the approval workfflow that this step belongs to
 5390        '''
 5391        self.id = id if id is not None else ''
 5392        '''
 5393         Unique identifier of the ApprovalWorkflowStep.
 5394        '''
 5395
 5396    def __repr__(self):
 5397        return '<sdm.ApprovalWorkflowStep ' + \
 5398            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5399            'id: ' + repr(self.id) + ' ' +\
 5400            '>'
 5401
 5402    def to_dict(self):
 5403        return {
 5404            'approval_flow_id': self.approval_flow_id,
 5405            'id': self.id,
 5406        }
 5407
 5408    @classmethod
 5409    def from_dict(cls, d):
 5410        return cls(
 5411            approval_flow_id=d.get('approval_flow_id'),
 5412            id=d.get('id'),
 5413        )
 5414
 5415
 5416class ApprovalWorkflowStepCreateResponse:
 5417    '''
 5418         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 5419    '''
 5420    __slots__ = [
 5421        'approval_workflow_step',
 5422        'rate_limit',
 5423    ]
 5424
 5425    def __init__(
 5426        self,
 5427        approval_workflow_step=None,
 5428        rate_limit=None,
 5429    ):
 5430        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5431        '''
 5432         The created approval workflow step.
 5433        '''
 5434        self.rate_limit = rate_limit if rate_limit is not None else None
 5435        '''
 5436         Rate limit information.
 5437        '''
 5438
 5439    def __repr__(self):
 5440        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 5441            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5442            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5443            '>'
 5444
 5445    def to_dict(self):
 5446        return {
 5447            'approval_workflow_step': self.approval_workflow_step,
 5448            'rate_limit': self.rate_limit,
 5449        }
 5450
 5451    @classmethod
 5452    def from_dict(cls, d):
 5453        return cls(
 5454            approval_workflow_step=d.get('approval_workflow_step'),
 5455            rate_limit=d.get('rate_limit'),
 5456        )
 5457
 5458
 5459class ApprovalWorkflowStepDeleteResponse:
 5460    '''
 5461         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 5462    '''
 5463    __slots__ = [
 5464        'id',
 5465        'rate_limit',
 5466    ]
 5467
 5468    def __init__(
 5469        self,
 5470        id=None,
 5471        rate_limit=None,
 5472    ):
 5473        self.id = id if id is not None else ''
 5474        '''
 5475         The deleted approval workflow step id.
 5476        '''
 5477        self.rate_limit = rate_limit if rate_limit is not None else None
 5478        '''
 5479         Rate limit information.
 5480        '''
 5481
 5482    def __repr__(self):
 5483        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 5484            'id: ' + repr(self.id) + ' ' +\
 5485            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5486            '>'
 5487
 5488    def to_dict(self):
 5489        return {
 5490            'id': self.id,
 5491            'rate_limit': self.rate_limit,
 5492        }
 5493
 5494    @classmethod
 5495    def from_dict(cls, d):
 5496        return cls(
 5497            id=d.get('id'),
 5498            rate_limit=d.get('rate_limit'),
 5499        )
 5500
 5501
 5502class ApprovalWorkflowStepGetResponse:
 5503    '''
 5504         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 5505    '''
 5506    __slots__ = [
 5507        'approval_workflow_step',
 5508        'meta',
 5509        'rate_limit',
 5510    ]
 5511
 5512    def __init__(
 5513        self,
 5514        approval_workflow_step=None,
 5515        meta=None,
 5516        rate_limit=None,
 5517    ):
 5518        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5519        '''
 5520         The requested ApprovalWorkflowStep.
 5521        '''
 5522        self.meta = meta if meta is not None else None
 5523        '''
 5524         Reserved for future use.
 5525        '''
 5526        self.rate_limit = rate_limit if rate_limit is not None else None
 5527        '''
 5528         Rate limit information.
 5529        '''
 5530
 5531    def __repr__(self):
 5532        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 5533            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5534            'meta: ' + repr(self.meta) + ' ' +\
 5535            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5536            '>'
 5537
 5538    def to_dict(self):
 5539        return {
 5540            'approval_workflow_step': self.approval_workflow_step,
 5541            'meta': self.meta,
 5542            'rate_limit': self.rate_limit,
 5543        }
 5544
 5545    @classmethod
 5546    def from_dict(cls, d):
 5547        return cls(
 5548            approval_workflow_step=d.get('approval_workflow_step'),
 5549            meta=d.get('meta'),
 5550            rate_limit=d.get('rate_limit'),
 5551        )
 5552
 5553
 5554class ApprovalWorkflowStepHistory:
 5555    '''
 5556         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 5557     where every change (create or delete) to an ApprovalWorkflowStep produces an
 5558     ApprovalWorkflowStepHistory record.
 5559    '''
 5560    __slots__ = [
 5561        'activity_id',
 5562        'approval_workflow_step',
 5563        'deleted_at',
 5564        'timestamp',
 5565    ]
 5566
 5567    def __init__(
 5568        self,
 5569        activity_id=None,
 5570        approval_workflow_step=None,
 5571        deleted_at=None,
 5572        timestamp=None,
 5573    ):
 5574        self.activity_id = activity_id if activity_id is not None else ''
 5575        '''
 5576         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 5577         May be empty for some system-initiated updates.
 5578        '''
 5579        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 5580        '''
 5581         The complete ApprovalWorkflowStep state at this time.
 5582        '''
 5583        self.deleted_at = deleted_at if deleted_at is not None else None
 5584        '''
 5585         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 5586        '''
 5587        self.timestamp = timestamp if timestamp is not None else None
 5588        '''
 5589         The time at which the ApprovalWorkflowStep state was recorded.
 5590        '''
 5591
 5592    def __repr__(self):
 5593        return '<sdm.ApprovalWorkflowStepHistory ' + \
 5594            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5595            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 5596            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5597            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5598            '>'
 5599
 5600    def to_dict(self):
 5601        return {
 5602            'activity_id': self.activity_id,
 5603            'approval_workflow_step': self.approval_workflow_step,
 5604            'deleted_at': self.deleted_at,
 5605            'timestamp': self.timestamp,
 5606        }
 5607
 5608    @classmethod
 5609    def from_dict(cls, d):
 5610        return cls(
 5611            activity_id=d.get('activity_id'),
 5612            approval_workflow_step=d.get('approval_workflow_step'),
 5613            deleted_at=d.get('deleted_at'),
 5614            timestamp=d.get('timestamp'),
 5615        )
 5616
 5617
 5618class ApprovalWorkflowStepListResponse:
 5619    '''
 5620         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 5621     the criteria of an ApprovalWorkflowStepListRequest.
 5622    '''
 5623    __slots__ = [
 5624        'rate_limit',
 5625    ]
 5626
 5627    def __init__(
 5628        self,
 5629        rate_limit=None,
 5630    ):
 5631        self.rate_limit = rate_limit if rate_limit is not None else None
 5632        '''
 5633         Rate limit information.
 5634        '''
 5635
 5636    def __repr__(self):
 5637        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 5638            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5639            '>'
 5640
 5641    def to_dict(self):
 5642        return {
 5643            'rate_limit': self.rate_limit,
 5644        }
 5645
 5646    @classmethod
 5647    def from_dict(cls, d):
 5648        return cls(rate_limit=d.get('rate_limit'), )
 5649
 5650
 5651class ApprovalWorkflowUpdateResponse:
 5652    '''
 5653         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 5654     an ApprovalWorkflowUpdateRequest.
 5655    '''
 5656    __slots__ = [
 5657        'approval_workflow',
 5658        'rate_limit',
 5659    ]
 5660
 5661    def __init__(
 5662        self,
 5663        approval_workflow=None,
 5664        rate_limit=None,
 5665    ):
 5666        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5667        '''
 5668         The updated approval workflow.
 5669        '''
 5670        self.rate_limit = rate_limit if rate_limit is not None else None
 5671        '''
 5672         Rate limit information.
 5673        '''
 5674
 5675    def __repr__(self):
 5676        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 5677            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5678            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5679            '>'
 5680
 5681    def to_dict(self):
 5682        return {
 5683            'approval_workflow': self.approval_workflow,
 5684            'rate_limit': self.rate_limit,
 5685        }
 5686
 5687    @classmethod
 5688    def from_dict(cls, d):
 5689        return cls(
 5690            approval_workflow=d.get('approval_workflow'),
 5691            rate_limit=d.get('rate_limit'),
 5692        )
 5693
 5694
 5695class Athena:
 5696    __slots__ = [
 5697        'access_key',
 5698        'bind_interface',
 5699        'egress_filter',
 5700        'healthy',
 5701        'id',
 5702        'name',
 5703        'output',
 5704        'port_override',
 5705        'proxy_cluster_id',
 5706        'region',
 5707        'role_arn',
 5708        'role_external_id',
 5709        'secret_access_key',
 5710        'secret_store_id',
 5711        'subdomain',
 5712        'tags',
 5713    ]
 5714
 5715    def __init__(
 5716        self,
 5717        access_key=None,
 5718        bind_interface=None,
 5719        egress_filter=None,
 5720        healthy=None,
 5721        id=None,
 5722        name=None,
 5723        output=None,
 5724        port_override=None,
 5725        proxy_cluster_id=None,
 5726        region=None,
 5727        role_arn=None,
 5728        role_external_id=None,
 5729        secret_access_key=None,
 5730        secret_store_id=None,
 5731        subdomain=None,
 5732        tags=None,
 5733    ):
 5734        self.access_key = access_key if access_key is not None else ''
 5735        '''
 5736         The Access Key ID to use to authenticate.
 5737        '''
 5738        self.bind_interface = bind_interface if bind_interface is not None else ''
 5739        '''
 5740         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5741        '''
 5742        self.egress_filter = egress_filter if egress_filter is not None else ''
 5743        '''
 5744         A filter applied to the routing logic to pin datasource to nodes.
 5745        '''
 5746        self.healthy = healthy if healthy is not None else False
 5747        '''
 5748         True if the datasource is reachable and the credentials are valid.
 5749        '''
 5750        self.id = id if id is not None else ''
 5751        '''
 5752         Unique identifier of the Resource.
 5753        '''
 5754        self.name = name if name is not None else ''
 5755        '''
 5756         Unique human-readable name of the Resource.
 5757        '''
 5758        self.output = output if output is not None else ''
 5759        '''
 5760         The AWS S3 output location.
 5761        '''
 5762        self.port_override = port_override if port_override is not None else 0
 5763        '''
 5764         The local port used by clients to connect to this resource.
 5765        '''
 5766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5767        '''
 5768         ID of the proxy cluster for this resource, if any.
 5769        '''
 5770        self.region = region if region is not None else ''
 5771        '''
 5772         The AWS region to connect to e.g. us-east-1.
 5773        '''
 5774        self.role_arn = role_arn if role_arn is not None else ''
 5775        '''
 5776         The role to assume after logging in.
 5777        '''
 5778        self.role_external_id = role_external_id if role_external_id is not None else ''
 5779        '''
 5780         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5781        '''
 5782        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5783        '''
 5784         The Secret Access Key to use to authenticate.
 5785        '''
 5786        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5787        '''
 5788         ID of the secret store containing credentials for this resource, if any.
 5789        '''
 5790        self.subdomain = subdomain if subdomain is not None else ''
 5791        '''
 5792         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5793        '''
 5794        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5795        '''
 5796         Tags is a map of key, value pairs.
 5797        '''
 5798
 5799    def __repr__(self):
 5800        return '<sdm.Athena ' + \
 5801            'access_key: ' + repr(self.access_key) + ' ' +\
 5802            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5803            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5804            'healthy: ' + repr(self.healthy) + ' ' +\
 5805            'id: ' + repr(self.id) + ' ' +\
 5806            'name: ' + repr(self.name) + ' ' +\
 5807            'output: ' + repr(self.output) + ' ' +\
 5808            'port_override: ' + repr(self.port_override) + ' ' +\
 5809            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5810            'region: ' + repr(self.region) + ' ' +\
 5811            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5812            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5813            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5814            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5815            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5816            'tags: ' + repr(self.tags) + ' ' +\
 5817            '>'
 5818
 5819    def to_dict(self):
 5820        return {
 5821            'access_key': self.access_key,
 5822            'bind_interface': self.bind_interface,
 5823            'egress_filter': self.egress_filter,
 5824            'healthy': self.healthy,
 5825            'id': self.id,
 5826            'name': self.name,
 5827            'output': self.output,
 5828            'port_override': self.port_override,
 5829            'proxy_cluster_id': self.proxy_cluster_id,
 5830            'region': self.region,
 5831            'role_arn': self.role_arn,
 5832            'role_external_id': self.role_external_id,
 5833            'secret_access_key': self.secret_access_key,
 5834            'secret_store_id': self.secret_store_id,
 5835            'subdomain': self.subdomain,
 5836            'tags': self.tags,
 5837        }
 5838
 5839    @classmethod
 5840    def from_dict(cls, d):
 5841        return cls(
 5842            access_key=d.get('access_key'),
 5843            bind_interface=d.get('bind_interface'),
 5844            egress_filter=d.get('egress_filter'),
 5845            healthy=d.get('healthy'),
 5846            id=d.get('id'),
 5847            name=d.get('name'),
 5848            output=d.get('output'),
 5849            port_override=d.get('port_override'),
 5850            proxy_cluster_id=d.get('proxy_cluster_id'),
 5851            region=d.get('region'),
 5852            role_arn=d.get('role_arn'),
 5853            role_external_id=d.get('role_external_id'),
 5854            secret_access_key=d.get('secret_access_key'),
 5855            secret_store_id=d.get('secret_store_id'),
 5856            subdomain=d.get('subdomain'),
 5857            tags=d.get('tags'),
 5858        )
 5859
 5860
 5861class AuroraMysql:
 5862    __slots__ = [
 5863        'bind_interface',
 5864        'database',
 5865        'egress_filter',
 5866        'healthy',
 5867        'hostname',
 5868        'id',
 5869        'name',
 5870        'password',
 5871        'port',
 5872        'port_override',
 5873        'proxy_cluster_id',
 5874        'require_native_auth',
 5875        'secret_store_id',
 5876        'subdomain',
 5877        'tags',
 5878        'use_azure_single_server_usernames',
 5879        'username',
 5880    ]
 5881
 5882    def __init__(
 5883        self,
 5884        bind_interface=None,
 5885        database=None,
 5886        egress_filter=None,
 5887        healthy=None,
 5888        hostname=None,
 5889        id=None,
 5890        name=None,
 5891        password=None,
 5892        port=None,
 5893        port_override=None,
 5894        proxy_cluster_id=None,
 5895        require_native_auth=None,
 5896        secret_store_id=None,
 5897        subdomain=None,
 5898        tags=None,
 5899        use_azure_single_server_usernames=None,
 5900        username=None,
 5901    ):
 5902        self.bind_interface = bind_interface if bind_interface is not None else ''
 5903        '''
 5904         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5905        '''
 5906        self.database = database if database is not None else ''
 5907        '''
 5908         The database for healthchecks. Does not affect client requests
 5909        '''
 5910        self.egress_filter = egress_filter if egress_filter is not None else ''
 5911        '''
 5912         A filter applied to the routing logic to pin datasource to nodes.
 5913        '''
 5914        self.healthy = healthy if healthy is not None else False
 5915        '''
 5916         True if the datasource is reachable and the credentials are valid.
 5917        '''
 5918        self.hostname = hostname if hostname is not None else ''
 5919        '''
 5920         The host to dial to initiate a connection from the egress node to this resource.
 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.password = password if password is not None else ''
 5931        '''
 5932         The password to authenticate with.
 5933        '''
 5934        self.port = port if port is not None else 0
 5935        '''
 5936         The port to dial to initiate a connection from the egress node to this resource.
 5937        '''
 5938        self.port_override = port_override if port_override is not None else 0
 5939        '''
 5940         The local port used by clients to connect to this resource.
 5941        '''
 5942        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5943        '''
 5944         ID of the proxy cluster for this resource, if any.
 5945        '''
 5946        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 5947        '''
 5948         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 5949        '''
 5950        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5951        '''
 5952         ID of the secret store containing credentials for this resource, if any.
 5953        '''
 5954        self.subdomain = subdomain if subdomain is not None else ''
 5955        '''
 5956         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5957        '''
 5958        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5959        '''
 5960         Tags is a map of key, value pairs.
 5961        '''
 5962        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 5963        '''
 5964         If true, appends the hostname to the username when hitting a database.azure.com address
 5965        '''
 5966        self.username = username if username is not None else ''
 5967        '''
 5968         The username to authenticate with.
 5969        '''
 5970
 5971    def __repr__(self):
 5972        return '<sdm.AuroraMysql ' + \
 5973            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5974            'database: ' + repr(self.database) + ' ' +\
 5975            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5976            'healthy: ' + repr(self.healthy) + ' ' +\
 5977            'hostname: ' + repr(self.hostname) + ' ' +\
 5978            'id: ' + repr(self.id) + ' ' +\
 5979            'name: ' + repr(self.name) + ' ' +\
 5980            'password: ' + repr(self.password) + ' ' +\
 5981            'port: ' + repr(self.port) + ' ' +\
 5982            'port_override: ' + repr(self.port_override) + ' ' +\
 5983            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5984            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 5985            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5986            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5987            'tags: ' + repr(self.tags) + ' ' +\
 5988            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 5989            'username: ' + repr(self.username) + ' ' +\
 5990            '>'
 5991
 5992    def to_dict(self):
 5993        return {
 5994            'bind_interface': self.bind_interface,
 5995            'database': self.database,
 5996            'egress_filter': self.egress_filter,
 5997            'healthy': self.healthy,
 5998            'hostname': self.hostname,
 5999            'id': self.id,
 6000            'name': self.name,
 6001            'password': self.password,
 6002            'port': self.port,
 6003            'port_override': self.port_override,
 6004            'proxy_cluster_id': self.proxy_cluster_id,
 6005            'require_native_auth': self.require_native_auth,
 6006            'secret_store_id': self.secret_store_id,
 6007            'subdomain': self.subdomain,
 6008            'tags': self.tags,
 6009            'use_azure_single_server_usernames':
 6010            self.use_azure_single_server_usernames,
 6011            'username': self.username,
 6012        }
 6013
 6014    @classmethod
 6015    def from_dict(cls, d):
 6016        return cls(
 6017            bind_interface=d.get('bind_interface'),
 6018            database=d.get('database'),
 6019            egress_filter=d.get('egress_filter'),
 6020            healthy=d.get('healthy'),
 6021            hostname=d.get('hostname'),
 6022            id=d.get('id'),
 6023            name=d.get('name'),
 6024            password=d.get('password'),
 6025            port=d.get('port'),
 6026            port_override=d.get('port_override'),
 6027            proxy_cluster_id=d.get('proxy_cluster_id'),
 6028            require_native_auth=d.get('require_native_auth'),
 6029            secret_store_id=d.get('secret_store_id'),
 6030            subdomain=d.get('subdomain'),
 6031            tags=d.get('tags'),
 6032            use_azure_single_server_usernames=d.get(
 6033                'use_azure_single_server_usernames'),
 6034            username=d.get('username'),
 6035        )
 6036
 6037
 6038class AuroraPostgres:
 6039    __slots__ = [
 6040        'bind_interface',
 6041        'database',
 6042        'egress_filter',
 6043        'healthy',
 6044        'hostname',
 6045        'id',
 6046        'name',
 6047        'override_database',
 6048        'password',
 6049        'port',
 6050        'port_override',
 6051        'proxy_cluster_id',
 6052        'secret_store_id',
 6053        'subdomain',
 6054        'tags',
 6055        'username',
 6056    ]
 6057
 6058    def __init__(
 6059        self,
 6060        bind_interface=None,
 6061        database=None,
 6062        egress_filter=None,
 6063        healthy=None,
 6064        hostname=None,
 6065        id=None,
 6066        name=None,
 6067        override_database=None,
 6068        password=None,
 6069        port=None,
 6070        port_override=None,
 6071        proxy_cluster_id=None,
 6072        secret_store_id=None,
 6073        subdomain=None,
 6074        tags=None,
 6075        username=None,
 6076    ):
 6077        self.bind_interface = bind_interface if bind_interface is not None else ''
 6078        '''
 6079         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6080        '''
 6081        self.database = database if database is not None else ''
 6082        '''
 6083         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 6084        '''
 6085        self.egress_filter = egress_filter if egress_filter is not None else ''
 6086        '''
 6087         A filter applied to the routing logic to pin datasource to nodes.
 6088        '''
 6089        self.healthy = healthy if healthy is not None else False
 6090        '''
 6091         True if the datasource is reachable and the credentials are valid.
 6092        '''
 6093        self.hostname = hostname if hostname is not None else ''
 6094        '''
 6095         The host to dial to initiate a connection from the egress node to this resource.
 6096        '''
 6097        self.id = id if id is not None else ''
 6098        '''
 6099         Unique identifier of the Resource.
 6100        '''
 6101        self.name = name if name is not None else ''
 6102        '''
 6103         Unique human-readable name of the Resource.
 6104        '''
 6105        self.override_database = override_database if override_database is not None else False
 6106        '''
 6107         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.
 6108        '''
 6109        self.password = password if password is not None else ''
 6110        '''
 6111         The password to authenticate with.
 6112        '''
 6113        self.port = port if port is not None else 0
 6114        '''
 6115         The port to dial to initiate a connection from the egress node to this resource.
 6116        '''
 6117        self.port_override = port_override if port_override is not None else 0
 6118        '''
 6119         The local port used by clients to connect to this resource.
 6120        '''
 6121        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6122        '''
 6123         ID of the proxy cluster for this resource, if any.
 6124        '''
 6125        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6126        '''
 6127         ID of the secret store containing credentials for this resource, if any.
 6128        '''
 6129        self.subdomain = subdomain if subdomain is not None else ''
 6130        '''
 6131         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6132        '''
 6133        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6134        '''
 6135         Tags is a map of key, value pairs.
 6136        '''
 6137        self.username = username if username is not None else ''
 6138        '''
 6139         The username to authenticate with.
 6140        '''
 6141
 6142    def __repr__(self):
 6143        return '<sdm.AuroraPostgres ' + \
 6144            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6145            'database: ' + repr(self.database) + ' ' +\
 6146            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6147            'healthy: ' + repr(self.healthy) + ' ' +\
 6148            'hostname: ' + repr(self.hostname) + ' ' +\
 6149            'id: ' + repr(self.id) + ' ' +\
 6150            'name: ' + repr(self.name) + ' ' +\
 6151            'override_database: ' + repr(self.override_database) + ' ' +\
 6152            'password: ' + repr(self.password) + ' ' +\
 6153            'port: ' + repr(self.port) + ' ' +\
 6154            'port_override: ' + repr(self.port_override) + ' ' +\
 6155            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6156            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6157            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6158            'tags: ' + repr(self.tags) + ' ' +\
 6159            'username: ' + repr(self.username) + ' ' +\
 6160            '>'
 6161
 6162    def to_dict(self):
 6163        return {
 6164            'bind_interface': self.bind_interface,
 6165            'database': self.database,
 6166            'egress_filter': self.egress_filter,
 6167            'healthy': self.healthy,
 6168            'hostname': self.hostname,
 6169            'id': self.id,
 6170            'name': self.name,
 6171            'override_database': self.override_database,
 6172            'password': self.password,
 6173            'port': self.port,
 6174            'port_override': self.port_override,
 6175            'proxy_cluster_id': self.proxy_cluster_id,
 6176            'secret_store_id': self.secret_store_id,
 6177            'subdomain': self.subdomain,
 6178            'tags': self.tags,
 6179            'username': self.username,
 6180        }
 6181
 6182    @classmethod
 6183    def from_dict(cls, d):
 6184        return cls(
 6185            bind_interface=d.get('bind_interface'),
 6186            database=d.get('database'),
 6187            egress_filter=d.get('egress_filter'),
 6188            healthy=d.get('healthy'),
 6189            hostname=d.get('hostname'),
 6190            id=d.get('id'),
 6191            name=d.get('name'),
 6192            override_database=d.get('override_database'),
 6193            password=d.get('password'),
 6194            port=d.get('port'),
 6195            port_override=d.get('port_override'),
 6196            proxy_cluster_id=d.get('proxy_cluster_id'),
 6197            secret_store_id=d.get('secret_store_id'),
 6198            subdomain=d.get('subdomain'),
 6199            tags=d.get('tags'),
 6200            username=d.get('username'),
 6201        )
 6202
 6203
 6204class AuroraPostgresIAM:
 6205    __slots__ = [
 6206        'bind_interface',
 6207        'database',
 6208        'egress_filter',
 6209        'healthy',
 6210        'hostname',
 6211        'id',
 6212        'name',
 6213        'override_database',
 6214        'port',
 6215        'port_override',
 6216        'proxy_cluster_id',
 6217        'region',
 6218        'role_assumption_arn',
 6219        'secret_store_id',
 6220        'subdomain',
 6221        'tags',
 6222        'username',
 6223    ]
 6224
 6225    def __init__(
 6226        self,
 6227        bind_interface=None,
 6228        database=None,
 6229        egress_filter=None,
 6230        healthy=None,
 6231        hostname=None,
 6232        id=None,
 6233        name=None,
 6234        override_database=None,
 6235        port=None,
 6236        port_override=None,
 6237        proxy_cluster_id=None,
 6238        region=None,
 6239        role_assumption_arn=None,
 6240        secret_store_id=None,
 6241        subdomain=None,
 6242        tags=None,
 6243        username=None,
 6244    ):
 6245        self.bind_interface = bind_interface if bind_interface is not None else ''
 6246        '''
 6247         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6248        '''
 6249        self.database = database if database is not None else ''
 6250        '''
 6251         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 6252        '''
 6253        self.egress_filter = egress_filter if egress_filter is not None else ''
 6254        '''
 6255         A filter applied to the routing logic to pin datasource to nodes.
 6256        '''
 6257        self.healthy = healthy if healthy is not None else False
 6258        '''
 6259         True if the datasource is reachable and the credentials are valid.
 6260        '''
 6261        self.hostname = hostname if hostname is not None else ''
 6262        '''
 6263         The host to dial to initiate a connection from the egress node to this resource.
 6264        '''
 6265        self.id = id if id is not None else ''
 6266        '''
 6267         Unique identifier of the Resource.
 6268        '''
 6269        self.name = name if name is not None else ''
 6270        '''
 6271         Unique human-readable name of the Resource.
 6272        '''
 6273        self.override_database = override_database if override_database is not None else False
 6274        '''
 6275         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.
 6276        '''
 6277        self.port = port if port is not None else 0
 6278        '''
 6279         The port to dial to initiate a connection from the egress node to this resource.
 6280        '''
 6281        self.port_override = port_override if port_override is not None else 0
 6282        '''
 6283         The local port used by clients to connect to this resource.
 6284        '''
 6285        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6286        '''
 6287         ID of the proxy cluster for this resource, if any.
 6288        '''
 6289        self.region = region if region is not None else ''
 6290        '''
 6291         The AWS region to connect to.
 6292        '''
 6293        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6294        '''
 6295         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6296        '''
 6297        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6298        '''
 6299         ID of the secret store containing credentials for this resource, if any.
 6300        '''
 6301        self.subdomain = subdomain if subdomain is not None else ''
 6302        '''
 6303         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6304        '''
 6305        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6306        '''
 6307         Tags is a map of key, value pairs.
 6308        '''
 6309        self.username = username if username is not None else ''
 6310        '''
 6311         The username to authenticate with.
 6312        '''
 6313
 6314    def __repr__(self):
 6315        return '<sdm.AuroraPostgresIAM ' + \
 6316            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6317            'database: ' + repr(self.database) + ' ' +\
 6318            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6319            'healthy: ' + repr(self.healthy) + ' ' +\
 6320            'hostname: ' + repr(self.hostname) + ' ' +\
 6321            'id: ' + repr(self.id) + ' ' +\
 6322            'name: ' + repr(self.name) + ' ' +\
 6323            'override_database: ' + repr(self.override_database) + ' ' +\
 6324            'port: ' + repr(self.port) + ' ' +\
 6325            'port_override: ' + repr(self.port_override) + ' ' +\
 6326            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6327            'region: ' + repr(self.region) + ' ' +\
 6328            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 6329            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6330            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6331            'tags: ' + repr(self.tags) + ' ' +\
 6332            'username: ' + repr(self.username) + ' ' +\
 6333            '>'
 6334
 6335    def to_dict(self):
 6336        return {
 6337            'bind_interface': self.bind_interface,
 6338            'database': self.database,
 6339            'egress_filter': self.egress_filter,
 6340            'healthy': self.healthy,
 6341            'hostname': self.hostname,
 6342            'id': self.id,
 6343            'name': self.name,
 6344            'override_database': self.override_database,
 6345            'port': self.port,
 6346            'port_override': self.port_override,
 6347            'proxy_cluster_id': self.proxy_cluster_id,
 6348            'region': self.region,
 6349            'role_assumption_arn': self.role_assumption_arn,
 6350            'secret_store_id': self.secret_store_id,
 6351            'subdomain': self.subdomain,
 6352            'tags': self.tags,
 6353            'username': self.username,
 6354        }
 6355
 6356    @classmethod
 6357    def from_dict(cls, d):
 6358        return cls(
 6359            bind_interface=d.get('bind_interface'),
 6360            database=d.get('database'),
 6361            egress_filter=d.get('egress_filter'),
 6362            healthy=d.get('healthy'),
 6363            hostname=d.get('hostname'),
 6364            id=d.get('id'),
 6365            name=d.get('name'),
 6366            override_database=d.get('override_database'),
 6367            port=d.get('port'),
 6368            port_override=d.get('port_override'),
 6369            proxy_cluster_id=d.get('proxy_cluster_id'),
 6370            region=d.get('region'),
 6371            role_assumption_arn=d.get('role_assumption_arn'),
 6372            secret_store_id=d.get('secret_store_id'),
 6373            subdomain=d.get('subdomain'),
 6374            tags=d.get('tags'),
 6375            username=d.get('username'),
 6376        )
 6377
 6378
 6379class Azure:
 6380    __slots__ = [
 6381        'app_id',
 6382        'bind_interface',
 6383        'egress_filter',
 6384        'healthy',
 6385        'id',
 6386        'name',
 6387        'password',
 6388        'port_override',
 6389        'proxy_cluster_id',
 6390        'secret_store_id',
 6391        'subdomain',
 6392        'tags',
 6393        'tenant_id',
 6394    ]
 6395
 6396    def __init__(
 6397        self,
 6398        app_id=None,
 6399        bind_interface=None,
 6400        egress_filter=None,
 6401        healthy=None,
 6402        id=None,
 6403        name=None,
 6404        password=None,
 6405        port_override=None,
 6406        proxy_cluster_id=None,
 6407        secret_store_id=None,
 6408        subdomain=None,
 6409        tags=None,
 6410        tenant_id=None,
 6411    ):
 6412        self.app_id = app_id if app_id is not None else ''
 6413        '''
 6414         The application ID to authenticate with.
 6415        '''
 6416        self.bind_interface = bind_interface if bind_interface is not None else ''
 6417        '''
 6418         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6419        '''
 6420        self.egress_filter = egress_filter if egress_filter is not None else ''
 6421        '''
 6422         A filter applied to the routing logic to pin datasource to nodes.
 6423        '''
 6424        self.healthy = healthy if healthy is not None else False
 6425        '''
 6426         True if the datasource is reachable and the credentials are valid.
 6427        '''
 6428        self.id = id if id is not None else ''
 6429        '''
 6430         Unique identifier of the Resource.
 6431        '''
 6432        self.name = name if name is not None else ''
 6433        '''
 6434         Unique human-readable name of the Resource.
 6435        '''
 6436        self.password = password if password is not None else ''
 6437        '''
 6438         The password to authenticate with.
 6439        '''
 6440        self.port_override = port_override if port_override is not None else 0
 6441        '''
 6442         The local port used by clients to connect to this resource.
 6443        '''
 6444        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6445        '''
 6446         ID of the proxy cluster for this resource, if any.
 6447        '''
 6448        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6449        '''
 6450         ID of the secret store containing credentials for this resource, if any.
 6451        '''
 6452        self.subdomain = subdomain if subdomain is not None else ''
 6453        '''
 6454         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6455        '''
 6456        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6457        '''
 6458         Tags is a map of key, value pairs.
 6459        '''
 6460        self.tenant_id = tenant_id if tenant_id is not None else ''
 6461        '''
 6462         The tenant ID to authenticate to.
 6463        '''
 6464
 6465    def __repr__(self):
 6466        return '<sdm.Azure ' + \
 6467            'app_id: ' + repr(self.app_id) + ' ' +\
 6468            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6469            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6470            'healthy: ' + repr(self.healthy) + ' ' +\
 6471            'id: ' + repr(self.id) + ' ' +\
 6472            'name: ' + repr(self.name) + ' ' +\
 6473            'password: ' + repr(self.password) + ' ' +\
 6474            'port_override: ' + repr(self.port_override) + ' ' +\
 6475            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6476            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6477            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6478            'tags: ' + repr(self.tags) + ' ' +\
 6479            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 6480            '>'
 6481
 6482    def to_dict(self):
 6483        return {
 6484            'app_id': self.app_id,
 6485            'bind_interface': self.bind_interface,
 6486            'egress_filter': self.egress_filter,
 6487            'healthy': self.healthy,
 6488            'id': self.id,
 6489            'name': self.name,
 6490            'password': self.password,
 6491            'port_override': self.port_override,
 6492            'proxy_cluster_id': self.proxy_cluster_id,
 6493            'secret_store_id': self.secret_store_id,
 6494            'subdomain': self.subdomain,
 6495            'tags': self.tags,
 6496            'tenant_id': self.tenant_id,
 6497        }
 6498
 6499    @classmethod
 6500    def from_dict(cls, d):
 6501        return cls(
 6502            app_id=d.get('app_id'),
 6503            bind_interface=d.get('bind_interface'),
 6504            egress_filter=d.get('egress_filter'),
 6505            healthy=d.get('healthy'),
 6506            id=d.get('id'),
 6507            name=d.get('name'),
 6508            password=d.get('password'),
 6509            port_override=d.get('port_override'),
 6510            proxy_cluster_id=d.get('proxy_cluster_id'),
 6511            secret_store_id=d.get('secret_store_id'),
 6512            subdomain=d.get('subdomain'),
 6513            tags=d.get('tags'),
 6514            tenant_id=d.get('tenant_id'),
 6515        )
 6516
 6517
 6518class AzureCertificate:
 6519    __slots__ = [
 6520        'app_id',
 6521        'bind_interface',
 6522        'client_certificate',
 6523        'egress_filter',
 6524        'healthy',
 6525        'id',
 6526        'name',
 6527        'port_override',
 6528        'proxy_cluster_id',
 6529        'secret_store_id',
 6530        'subdomain',
 6531        'tags',
 6532        'tenant_id',
 6533    ]
 6534
 6535    def __init__(
 6536        self,
 6537        app_id=None,
 6538        bind_interface=None,
 6539        client_certificate=None,
 6540        egress_filter=None,
 6541        healthy=None,
 6542        id=None,
 6543        name=None,
 6544        port_override=None,
 6545        proxy_cluster_id=None,
 6546        secret_store_id=None,
 6547        subdomain=None,
 6548        tags=None,
 6549        tenant_id=None,
 6550    ):
 6551        self.app_id = app_id if app_id is not None else ''
 6552        '''
 6553         The application ID to authenticate with.
 6554        '''
 6555        self.bind_interface = bind_interface if bind_interface is not None else ''
 6556        '''
 6557         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6558        '''
 6559        self.client_certificate = client_certificate if client_certificate is not None else ''
 6560        '''
 6561         The service Principal certificate file, both private and public key included.
 6562        '''
 6563        self.egress_filter = egress_filter if egress_filter is not None else ''
 6564        '''
 6565         A filter applied to the routing logic to pin datasource to nodes.
 6566        '''
 6567        self.healthy = healthy if healthy is not None else False
 6568        '''
 6569         True if the datasource is reachable and the credentials are valid.
 6570        '''
 6571        self.id = id if id is not None else ''
 6572        '''
 6573         Unique identifier of the Resource.
 6574        '''
 6575        self.name = name if name is not None else ''
 6576        '''
 6577         Unique human-readable name of the Resource.
 6578        '''
 6579        self.port_override = port_override if port_override is not None else 0
 6580        '''
 6581         The local port used by clients to connect to this resource.
 6582        '''
 6583        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6584        '''
 6585         ID of the proxy cluster for this resource, if any.
 6586        '''
 6587        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6588        '''
 6589         ID of the secret store containing credentials for this resource, if any.
 6590        '''
 6591        self.subdomain = subdomain if subdomain is not None else ''
 6592        '''
 6593         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6594        '''
 6595        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6596        '''
 6597         Tags is a map of key, value pairs.
 6598        '''
 6599        self.tenant_id = tenant_id if tenant_id is not None else ''
 6600        '''
 6601         The tenant ID to authenticate to.
 6602        '''
 6603
 6604    def __repr__(self):
 6605        return '<sdm.AzureCertificate ' + \
 6606            'app_id: ' + repr(self.app_id) + ' ' +\
 6607            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6608            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 6609            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6610            'healthy: ' + repr(self.healthy) + ' ' +\
 6611            'id: ' + repr(self.id) + ' ' +\
 6612            'name: ' + repr(self.name) + ' ' +\
 6613            'port_override: ' + repr(self.port_override) + ' ' +\
 6614            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6615            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6616            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6617            'tags: ' + repr(self.tags) + ' ' +\
 6618            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 6619            '>'
 6620
 6621    def to_dict(self):
 6622        return {
 6623            'app_id': self.app_id,
 6624            'bind_interface': self.bind_interface,
 6625            'client_certificate': self.client_certificate,
 6626            'egress_filter': self.egress_filter,
 6627            'healthy': self.healthy,
 6628            'id': self.id,
 6629            'name': self.name,
 6630            'port_override': self.port_override,
 6631            'proxy_cluster_id': self.proxy_cluster_id,
 6632            'secret_store_id': self.secret_store_id,
 6633            'subdomain': self.subdomain,
 6634            'tags': self.tags,
 6635            'tenant_id': self.tenant_id,
 6636        }
 6637
 6638    @classmethod
 6639    def from_dict(cls, d):
 6640        return cls(
 6641            app_id=d.get('app_id'),
 6642            bind_interface=d.get('bind_interface'),
 6643            client_certificate=d.get('client_certificate'),
 6644            egress_filter=d.get('egress_filter'),
 6645            healthy=d.get('healthy'),
 6646            id=d.get('id'),
 6647            name=d.get('name'),
 6648            port_override=d.get('port_override'),
 6649            proxy_cluster_id=d.get('proxy_cluster_id'),
 6650            secret_store_id=d.get('secret_store_id'),
 6651            subdomain=d.get('subdomain'),
 6652            tags=d.get('tags'),
 6653            tenant_id=d.get('tenant_id'),
 6654        )
 6655
 6656
 6657class AzureMysql:
 6658    __slots__ = [
 6659        'bind_interface',
 6660        'database',
 6661        'egress_filter',
 6662        'healthy',
 6663        'hostname',
 6664        'id',
 6665        'name',
 6666        'password',
 6667        'port',
 6668        'port_override',
 6669        'proxy_cluster_id',
 6670        'require_native_auth',
 6671        'secret_store_id',
 6672        'subdomain',
 6673        'tags',
 6674        'use_azure_single_server_usernames',
 6675        'username',
 6676    ]
 6677
 6678    def __init__(
 6679        self,
 6680        bind_interface=None,
 6681        database=None,
 6682        egress_filter=None,
 6683        healthy=None,
 6684        hostname=None,
 6685        id=None,
 6686        name=None,
 6687        password=None,
 6688        port=None,
 6689        port_override=None,
 6690        proxy_cluster_id=None,
 6691        require_native_auth=None,
 6692        secret_store_id=None,
 6693        subdomain=None,
 6694        tags=None,
 6695        use_azure_single_server_usernames=None,
 6696        username=None,
 6697    ):
 6698        self.bind_interface = bind_interface if bind_interface is not None else ''
 6699        '''
 6700         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6701        '''
 6702        self.database = database if database is not None else ''
 6703        '''
 6704         The database for healthchecks. Does not affect client requests.
 6705        '''
 6706        self.egress_filter = egress_filter if egress_filter is not None else ''
 6707        '''
 6708         A filter applied to the routing logic to pin datasource to nodes.
 6709        '''
 6710        self.healthy = healthy if healthy is not None else False
 6711        '''
 6712         True if the datasource is reachable and the credentials are valid.
 6713        '''
 6714        self.hostname = hostname if hostname is not None else ''
 6715        '''
 6716         The host to dial to initiate a connection from the egress node to this resource.
 6717        '''
 6718        self.id = id if id is not None else ''
 6719        '''
 6720         Unique identifier of the Resource.
 6721        '''
 6722        self.name = name if name is not None else ''
 6723        '''
 6724         Unique human-readable name of the Resource.
 6725        '''
 6726        self.password = password if password is not None else ''
 6727        '''
 6728         The password to authenticate with.
 6729        '''
 6730        self.port = port if port is not None else 0
 6731        '''
 6732         The port to dial to initiate a connection from the egress node to this resource.
 6733        '''
 6734        self.port_override = port_override if port_override is not None else 0
 6735        '''
 6736         The local port used by clients to connect to this resource.
 6737        '''
 6738        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6739        '''
 6740         ID of the proxy cluster for this resource, if any.
 6741        '''
 6742        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6743        '''
 6744         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6745        '''
 6746        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6747        '''
 6748         ID of the secret store containing credentials for this resource, if any.
 6749        '''
 6750        self.subdomain = subdomain if subdomain is not None else ''
 6751        '''
 6752         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6753        '''
 6754        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6755        '''
 6756         Tags is a map of key, value pairs.
 6757        '''
 6758        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6759        '''
 6760         If true, appends the hostname to the username when hitting a database.azure.com address
 6761        '''
 6762        self.username = username if username is not None else ''
 6763        '''
 6764         The username to authenticate with.
 6765        '''
 6766
 6767    def __repr__(self):
 6768        return '<sdm.AzureMysql ' + \
 6769            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6770            'database: ' + repr(self.database) + ' ' +\
 6771            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6772            'healthy: ' + repr(self.healthy) + ' ' +\
 6773            'hostname: ' + repr(self.hostname) + ' ' +\
 6774            'id: ' + repr(self.id) + ' ' +\
 6775            'name: ' + repr(self.name) + ' ' +\
 6776            'password: ' + repr(self.password) + ' ' +\
 6777            'port: ' + repr(self.port) + ' ' +\
 6778            'port_override: ' + repr(self.port_override) + ' ' +\
 6779            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6780            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6781            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6782            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6783            'tags: ' + repr(self.tags) + ' ' +\
 6784            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6785            'username: ' + repr(self.username) + ' ' +\
 6786            '>'
 6787
 6788    def to_dict(self):
 6789        return {
 6790            'bind_interface': self.bind_interface,
 6791            'database': self.database,
 6792            'egress_filter': self.egress_filter,
 6793            'healthy': self.healthy,
 6794            'hostname': self.hostname,
 6795            'id': self.id,
 6796            'name': self.name,
 6797            'password': self.password,
 6798            'port': self.port,
 6799            'port_override': self.port_override,
 6800            'proxy_cluster_id': self.proxy_cluster_id,
 6801            'require_native_auth': self.require_native_auth,
 6802            'secret_store_id': self.secret_store_id,
 6803            'subdomain': self.subdomain,
 6804            'tags': self.tags,
 6805            'use_azure_single_server_usernames':
 6806            self.use_azure_single_server_usernames,
 6807            'username': self.username,
 6808        }
 6809
 6810    @classmethod
 6811    def from_dict(cls, d):
 6812        return cls(
 6813            bind_interface=d.get('bind_interface'),
 6814            database=d.get('database'),
 6815            egress_filter=d.get('egress_filter'),
 6816            healthy=d.get('healthy'),
 6817            hostname=d.get('hostname'),
 6818            id=d.get('id'),
 6819            name=d.get('name'),
 6820            password=d.get('password'),
 6821            port=d.get('port'),
 6822            port_override=d.get('port_override'),
 6823            proxy_cluster_id=d.get('proxy_cluster_id'),
 6824            require_native_auth=d.get('require_native_auth'),
 6825            secret_store_id=d.get('secret_store_id'),
 6826            subdomain=d.get('subdomain'),
 6827            tags=d.get('tags'),
 6828            use_azure_single_server_usernames=d.get(
 6829                'use_azure_single_server_usernames'),
 6830            username=d.get('username'),
 6831        )
 6832
 6833
 6834class AzurePostgres:
 6835    __slots__ = [
 6836        'bind_interface',
 6837        'database',
 6838        'egress_filter',
 6839        'healthy',
 6840        'hostname',
 6841        'id',
 6842        'name',
 6843        'override_database',
 6844        'password',
 6845        'port',
 6846        'port_override',
 6847        'proxy_cluster_id',
 6848        'secret_store_id',
 6849        'subdomain',
 6850        'tags',
 6851        'username',
 6852    ]
 6853
 6854    def __init__(
 6855        self,
 6856        bind_interface=None,
 6857        database=None,
 6858        egress_filter=None,
 6859        healthy=None,
 6860        hostname=None,
 6861        id=None,
 6862        name=None,
 6863        override_database=None,
 6864        password=None,
 6865        port=None,
 6866        port_override=None,
 6867        proxy_cluster_id=None,
 6868        secret_store_id=None,
 6869        subdomain=None,
 6870        tags=None,
 6871        username=None,
 6872    ):
 6873        self.bind_interface = bind_interface if bind_interface is not None else ''
 6874        '''
 6875         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6876        '''
 6877        self.database = database if database is not None else ''
 6878        '''
 6879         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 6880        '''
 6881        self.egress_filter = egress_filter if egress_filter is not None else ''
 6882        '''
 6883         A filter applied to the routing logic to pin datasource to nodes.
 6884        '''
 6885        self.healthy = healthy if healthy is not None else False
 6886        '''
 6887         True if the datasource is reachable and the credentials are valid.
 6888        '''
 6889        self.hostname = hostname if hostname is not None else ''
 6890        '''
 6891         The host to dial to initiate a connection from the egress node to this resource.
 6892        '''
 6893        self.id = id if id is not None else ''
 6894        '''
 6895         Unique identifier of the Resource.
 6896        '''
 6897        self.name = name if name is not None else ''
 6898        '''
 6899         Unique human-readable name of the Resource.
 6900        '''
 6901        self.override_database = override_database if override_database is not None else False
 6902        '''
 6903         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.
 6904        '''
 6905        self.password = password if password is not None else ''
 6906        '''
 6907         The password to authenticate with.
 6908        '''
 6909        self.port = port if port is not None else 0
 6910        '''
 6911         The port to dial to initiate a connection from the egress node to this resource.
 6912        '''
 6913        self.port_override = port_override if port_override is not None else 0
 6914        '''
 6915         The local port used by clients to connect to this resource.
 6916        '''
 6917        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6918        '''
 6919         ID of the proxy cluster for this resource, if any.
 6920        '''
 6921        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6922        '''
 6923         ID of the secret store containing credentials for this resource, if any.
 6924        '''
 6925        self.subdomain = subdomain if subdomain is not None else ''
 6926        '''
 6927         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6928        '''
 6929        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6930        '''
 6931         Tags is a map of key, value pairs.
 6932        '''
 6933        self.username = username if username is not None else ''
 6934        '''
 6935         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.
 6936        '''
 6937
 6938    def __repr__(self):
 6939        return '<sdm.AzurePostgres ' + \
 6940            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6941            'database: ' + repr(self.database) + ' ' +\
 6942            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6943            'healthy: ' + repr(self.healthy) + ' ' +\
 6944            'hostname: ' + repr(self.hostname) + ' ' +\
 6945            'id: ' + repr(self.id) + ' ' +\
 6946            'name: ' + repr(self.name) + ' ' +\
 6947            'override_database: ' + repr(self.override_database) + ' ' +\
 6948            'password: ' + repr(self.password) + ' ' +\
 6949            'port: ' + repr(self.port) + ' ' +\
 6950            'port_override: ' + repr(self.port_override) + ' ' +\
 6951            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6952            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6953            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6954            'tags: ' + repr(self.tags) + ' ' +\
 6955            'username: ' + repr(self.username) + ' ' +\
 6956            '>'
 6957
 6958    def to_dict(self):
 6959        return {
 6960            'bind_interface': self.bind_interface,
 6961            'database': self.database,
 6962            'egress_filter': self.egress_filter,
 6963            'healthy': self.healthy,
 6964            'hostname': self.hostname,
 6965            'id': self.id,
 6966            'name': self.name,
 6967            'override_database': self.override_database,
 6968            'password': self.password,
 6969            'port': self.port,
 6970            'port_override': self.port_override,
 6971            'proxy_cluster_id': self.proxy_cluster_id,
 6972            'secret_store_id': self.secret_store_id,
 6973            'subdomain': self.subdomain,
 6974            'tags': self.tags,
 6975            'username': self.username,
 6976        }
 6977
 6978    @classmethod
 6979    def from_dict(cls, d):
 6980        return cls(
 6981            bind_interface=d.get('bind_interface'),
 6982            database=d.get('database'),
 6983            egress_filter=d.get('egress_filter'),
 6984            healthy=d.get('healthy'),
 6985            hostname=d.get('hostname'),
 6986            id=d.get('id'),
 6987            name=d.get('name'),
 6988            override_database=d.get('override_database'),
 6989            password=d.get('password'),
 6990            port=d.get('port'),
 6991            port_override=d.get('port_override'),
 6992            proxy_cluster_id=d.get('proxy_cluster_id'),
 6993            secret_store_id=d.get('secret_store_id'),
 6994            subdomain=d.get('subdomain'),
 6995            tags=d.get('tags'),
 6996            username=d.get('username'),
 6997        )
 6998
 6999
 7000class AzurePostgresManagedIdentity:
 7001    __slots__ = [
 7002        'bind_interface',
 7003        'database',
 7004        'egress_filter',
 7005        'healthy',
 7006        'hostname',
 7007        'id',
 7008        'name',
 7009        'override_database',
 7010        'password',
 7011        'port',
 7012        'port_override',
 7013        'proxy_cluster_id',
 7014        'secret_store_id',
 7015        'subdomain',
 7016        'tags',
 7017        'use_azure_single_server_usernames',
 7018        'username',
 7019    ]
 7020
 7021    def __init__(
 7022        self,
 7023        bind_interface=None,
 7024        database=None,
 7025        egress_filter=None,
 7026        healthy=None,
 7027        hostname=None,
 7028        id=None,
 7029        name=None,
 7030        override_database=None,
 7031        password=None,
 7032        port=None,
 7033        port_override=None,
 7034        proxy_cluster_id=None,
 7035        secret_store_id=None,
 7036        subdomain=None,
 7037        tags=None,
 7038        use_azure_single_server_usernames=None,
 7039        username=None,
 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.database = database if database is not None else ''
 7046        '''
 7047         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 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.hostname = hostname if hostname is not None else ''
 7058        '''
 7059         The host to dial to initiate a connection from the egress node to this resource.
 7060        '''
 7061        self.id = id if id is not None else ''
 7062        '''
 7063         Unique identifier of the Resource.
 7064        '''
 7065        self.name = name if name is not None else ''
 7066        '''
 7067         Unique human-readable name of the Resource.
 7068        '''
 7069        self.override_database = override_database if override_database is not None else False
 7070        '''
 7071         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.
 7072        '''
 7073        self.password = password if password is not None else ''
 7074        '''
 7075         The password to authenticate with.
 7076        '''
 7077        self.port = port if port is not None else 0
 7078        '''
 7079         The port to dial to initiate a connection from the egress node to this resource.
 7080        '''
 7081        self.port_override = port_override if port_override is not None else 0
 7082        '''
 7083         The local port used by clients to connect to this resource.
 7084        '''
 7085        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7086        '''
 7087         ID of the proxy cluster for this resource, if any.
 7088        '''
 7089        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7090        '''
 7091         ID of the secret store containing credentials for this resource, if any.
 7092        '''
 7093        self.subdomain = subdomain if subdomain is not None else ''
 7094        '''
 7095         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7096        '''
 7097        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7098        '''
 7099         Tags is a map of key, value pairs.
 7100        '''
 7101        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7102        '''
 7103         If true, appends the hostname to the username when hitting a database.azure.com address
 7104        '''
 7105        self.username = username if username is not None else ''
 7106        '''
 7107         The username to authenticate with.
 7108        '''
 7109
 7110    def __repr__(self):
 7111        return '<sdm.AzurePostgresManagedIdentity ' + \
 7112            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7113            'database: ' + repr(self.database) + ' ' +\
 7114            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7115            'healthy: ' + repr(self.healthy) + ' ' +\
 7116            'hostname: ' + repr(self.hostname) + ' ' +\
 7117            'id: ' + repr(self.id) + ' ' +\
 7118            'name: ' + repr(self.name) + ' ' +\
 7119            'override_database: ' + repr(self.override_database) + ' ' +\
 7120            'password: ' + repr(self.password) + ' ' +\
 7121            'port: ' + repr(self.port) + ' ' +\
 7122            'port_override: ' + repr(self.port_override) + ' ' +\
 7123            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7124            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7125            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7126            'tags: ' + repr(self.tags) + ' ' +\
 7127            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7128            'username: ' + repr(self.username) + ' ' +\
 7129            '>'
 7130
 7131    def to_dict(self):
 7132        return {
 7133            'bind_interface': self.bind_interface,
 7134            'database': self.database,
 7135            'egress_filter': self.egress_filter,
 7136            'healthy': self.healthy,
 7137            'hostname': self.hostname,
 7138            'id': self.id,
 7139            'name': self.name,
 7140            'override_database': self.override_database,
 7141            'password': self.password,
 7142            'port': self.port,
 7143            'port_override': self.port_override,
 7144            'proxy_cluster_id': self.proxy_cluster_id,
 7145            'secret_store_id': self.secret_store_id,
 7146            'subdomain': self.subdomain,
 7147            'tags': self.tags,
 7148            'use_azure_single_server_usernames':
 7149            self.use_azure_single_server_usernames,
 7150            'username': self.username,
 7151        }
 7152
 7153    @classmethod
 7154    def from_dict(cls, d):
 7155        return cls(
 7156            bind_interface=d.get('bind_interface'),
 7157            database=d.get('database'),
 7158            egress_filter=d.get('egress_filter'),
 7159            healthy=d.get('healthy'),
 7160            hostname=d.get('hostname'),
 7161            id=d.get('id'),
 7162            name=d.get('name'),
 7163            override_database=d.get('override_database'),
 7164            password=d.get('password'),
 7165            port=d.get('port'),
 7166            port_override=d.get('port_override'),
 7167            proxy_cluster_id=d.get('proxy_cluster_id'),
 7168            secret_store_id=d.get('secret_store_id'),
 7169            subdomain=d.get('subdomain'),
 7170            tags=d.get('tags'),
 7171            use_azure_single_server_usernames=d.get(
 7172                'use_azure_single_server_usernames'),
 7173            username=d.get('username'),
 7174        )
 7175
 7176
 7177class AzureStore:
 7178    __slots__ = [
 7179        'id',
 7180        'name',
 7181        'tags',
 7182        'vault_uri',
 7183    ]
 7184
 7185    def __init__(
 7186        self,
 7187        id=None,
 7188        name=None,
 7189        tags=None,
 7190        vault_uri=None,
 7191    ):
 7192        self.id = id if id is not None else ''
 7193        '''
 7194         Unique identifier of the SecretStore.
 7195        '''
 7196        self.name = name if name is not None else ''
 7197        '''
 7198         Unique human-readable name of the SecretStore.
 7199        '''
 7200        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7201        '''
 7202         Tags is a map of key, value pairs.
 7203        '''
 7204        self.vault_uri = vault_uri if vault_uri is not None else ''
 7205        '''
 7206         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 7207        '''
 7208
 7209    def __repr__(self):
 7210        return '<sdm.AzureStore ' + \
 7211            'id: ' + repr(self.id) + ' ' +\
 7212            'name: ' + repr(self.name) + ' ' +\
 7213            'tags: ' + repr(self.tags) + ' ' +\
 7214            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 7215            '>'
 7216
 7217    def to_dict(self):
 7218        return {
 7219            'id': self.id,
 7220            'name': self.name,
 7221            'tags': self.tags,
 7222            'vault_uri': self.vault_uri,
 7223        }
 7224
 7225    @classmethod
 7226    def from_dict(cls, d):
 7227        return cls(
 7228            id=d.get('id'),
 7229            name=d.get('name'),
 7230            tags=d.get('tags'),
 7231            vault_uri=d.get('vault_uri'),
 7232        )
 7233
 7234
 7235class BigQuery:
 7236    __slots__ = [
 7237        'bind_interface',
 7238        'egress_filter',
 7239        'endpoint',
 7240        'healthy',
 7241        'id',
 7242        'name',
 7243        'port_override',
 7244        'private_key',
 7245        'project',
 7246        'proxy_cluster_id',
 7247        'secret_store_id',
 7248        'subdomain',
 7249        'tags',
 7250        'username',
 7251    ]
 7252
 7253    def __init__(
 7254        self,
 7255        bind_interface=None,
 7256        egress_filter=None,
 7257        endpoint=None,
 7258        healthy=None,
 7259        id=None,
 7260        name=None,
 7261        port_override=None,
 7262        private_key=None,
 7263        project=None,
 7264        proxy_cluster_id=None,
 7265        secret_store_id=None,
 7266        subdomain=None,
 7267        tags=None,
 7268        username=None,
 7269    ):
 7270        self.bind_interface = bind_interface if bind_interface is not None else ''
 7271        '''
 7272         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7273        '''
 7274        self.egress_filter = egress_filter if egress_filter is not None else ''
 7275        '''
 7276         A filter applied to the routing logic to pin datasource to nodes.
 7277        '''
 7278        self.endpoint = endpoint if endpoint is not None else ''
 7279        '''
 7280         The endpoint to dial.
 7281        '''
 7282        self.healthy = healthy if healthy is not None else False
 7283        '''
 7284         True if the datasource is reachable and the credentials are valid.
 7285        '''
 7286        self.id = id if id is not None else ''
 7287        '''
 7288         Unique identifier of the Resource.
 7289        '''
 7290        self.name = name if name is not None else ''
 7291        '''
 7292         Unique human-readable name of the Resource.
 7293        '''
 7294        self.port_override = port_override if port_override is not None else 0
 7295        '''
 7296         The local port used by clients to connect to this resource.
 7297        '''
 7298        self.private_key = private_key if private_key is not None else ''
 7299        '''
 7300         The JSON Private key to authenticate with.
 7301        '''
 7302        self.project = project if project is not None else ''
 7303        '''
 7304         The project to connect to.
 7305        '''
 7306        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7307        '''
 7308         ID of the proxy cluster for this resource, if any.
 7309        '''
 7310        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7311        '''
 7312         ID of the secret store containing credentials for this resource, if any.
 7313        '''
 7314        self.subdomain = subdomain if subdomain is not None else ''
 7315        '''
 7316         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7317        '''
 7318        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7319        '''
 7320         Tags is a map of key, value pairs.
 7321        '''
 7322        self.username = username if username is not None else ''
 7323        '''
 7324         The username to authenticate with.
 7325        '''
 7326
 7327    def __repr__(self):
 7328        return '<sdm.BigQuery ' + \
 7329            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7330            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7331            'endpoint: ' + repr(self.endpoint) + ' ' +\
 7332            'healthy: ' + repr(self.healthy) + ' ' +\
 7333            'id: ' + repr(self.id) + ' ' +\
 7334            'name: ' + repr(self.name) + ' ' +\
 7335            'port_override: ' + repr(self.port_override) + ' ' +\
 7336            'private_key: ' + repr(self.private_key) + ' ' +\
 7337            'project: ' + repr(self.project) + ' ' +\
 7338            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7339            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7340            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7341            'tags: ' + repr(self.tags) + ' ' +\
 7342            'username: ' + repr(self.username) + ' ' +\
 7343            '>'
 7344
 7345    def to_dict(self):
 7346        return {
 7347            'bind_interface': self.bind_interface,
 7348            'egress_filter': self.egress_filter,
 7349            'endpoint': self.endpoint,
 7350            'healthy': self.healthy,
 7351            'id': self.id,
 7352            'name': self.name,
 7353            'port_override': self.port_override,
 7354            'private_key': self.private_key,
 7355            'project': self.project,
 7356            'proxy_cluster_id': self.proxy_cluster_id,
 7357            'secret_store_id': self.secret_store_id,
 7358            'subdomain': self.subdomain,
 7359            'tags': self.tags,
 7360            'username': self.username,
 7361        }
 7362
 7363    @classmethod
 7364    def from_dict(cls, d):
 7365        return cls(
 7366            bind_interface=d.get('bind_interface'),
 7367            egress_filter=d.get('egress_filter'),
 7368            endpoint=d.get('endpoint'),
 7369            healthy=d.get('healthy'),
 7370            id=d.get('id'),
 7371            name=d.get('name'),
 7372            port_override=d.get('port_override'),
 7373            private_key=d.get('private_key'),
 7374            project=d.get('project'),
 7375            proxy_cluster_id=d.get('proxy_cluster_id'),
 7376            secret_store_id=d.get('secret_store_id'),
 7377            subdomain=d.get('subdomain'),
 7378            tags=d.get('tags'),
 7379            username=d.get('username'),
 7380        )
 7381
 7382
 7383class Cassandra:
 7384    __slots__ = [
 7385        'bind_interface',
 7386        'egress_filter',
 7387        'healthy',
 7388        'hostname',
 7389        'id',
 7390        'name',
 7391        'password',
 7392        'port',
 7393        'port_override',
 7394        'proxy_cluster_id',
 7395        'secret_store_id',
 7396        'subdomain',
 7397        'tags',
 7398        'tls_required',
 7399        'username',
 7400    ]
 7401
 7402    def __init__(
 7403        self,
 7404        bind_interface=None,
 7405        egress_filter=None,
 7406        healthy=None,
 7407        hostname=None,
 7408        id=None,
 7409        name=None,
 7410        password=None,
 7411        port=None,
 7412        port_override=None,
 7413        proxy_cluster_id=None,
 7414        secret_store_id=None,
 7415        subdomain=None,
 7416        tags=None,
 7417        tls_required=None,
 7418        username=None,
 7419    ):
 7420        self.bind_interface = bind_interface if bind_interface is not None else ''
 7421        '''
 7422         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7423        '''
 7424        self.egress_filter = egress_filter if egress_filter is not None else ''
 7425        '''
 7426         A filter applied to the routing logic to pin datasource to nodes.
 7427        '''
 7428        self.healthy = healthy if healthy is not None else False
 7429        '''
 7430         True if the datasource is reachable and the credentials are valid.
 7431        '''
 7432        self.hostname = hostname if hostname is not None else ''
 7433        '''
 7434         The host to dial to initiate a connection from the egress node to this resource.
 7435        '''
 7436        self.id = id if id is not None else ''
 7437        '''
 7438         Unique identifier of the Resource.
 7439        '''
 7440        self.name = name if name is not None else ''
 7441        '''
 7442         Unique human-readable name of the Resource.
 7443        '''
 7444        self.password = password if password is not None else ''
 7445        '''
 7446         The password to authenticate with.
 7447        '''
 7448        self.port = port if port is not None else 0
 7449        '''
 7450         The port to dial to initiate a connection from the egress node to this resource.
 7451        '''
 7452        self.port_override = port_override if port_override is not None else 0
 7453        '''
 7454         The local port used by clients to connect to this resource.
 7455        '''
 7456        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7457        '''
 7458         ID of the proxy cluster for this resource, if any.
 7459        '''
 7460        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7461        '''
 7462         ID of the secret store containing credentials for this resource, if any.
 7463        '''
 7464        self.subdomain = subdomain if subdomain is not None else ''
 7465        '''
 7466         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7467        '''
 7468        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7469        '''
 7470         Tags is a map of key, value pairs.
 7471        '''
 7472        self.tls_required = tls_required if tls_required is not None else False
 7473        '''
 7474         If set, TLS must be used to connect to this resource.
 7475        '''
 7476        self.username = username if username is not None else ''
 7477        '''
 7478         The username to authenticate with.
 7479        '''
 7480
 7481    def __repr__(self):
 7482        return '<sdm.Cassandra ' + \
 7483            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7484            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7485            'healthy: ' + repr(self.healthy) + ' ' +\
 7486            'hostname: ' + repr(self.hostname) + ' ' +\
 7487            'id: ' + repr(self.id) + ' ' +\
 7488            'name: ' + repr(self.name) + ' ' +\
 7489            'password: ' + repr(self.password) + ' ' +\
 7490            'port: ' + repr(self.port) + ' ' +\
 7491            'port_override: ' + repr(self.port_override) + ' ' +\
 7492            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7493            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7494            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7495            'tags: ' + repr(self.tags) + ' ' +\
 7496            'tls_required: ' + repr(self.tls_required) + ' ' +\
 7497            'username: ' + repr(self.username) + ' ' +\
 7498            '>'
 7499
 7500    def to_dict(self):
 7501        return {
 7502            'bind_interface': self.bind_interface,
 7503            'egress_filter': self.egress_filter,
 7504            'healthy': self.healthy,
 7505            'hostname': self.hostname,
 7506            'id': self.id,
 7507            'name': self.name,
 7508            'password': self.password,
 7509            'port': self.port,
 7510            'port_override': self.port_override,
 7511            'proxy_cluster_id': self.proxy_cluster_id,
 7512            'secret_store_id': self.secret_store_id,
 7513            'subdomain': self.subdomain,
 7514            'tags': self.tags,
 7515            'tls_required': self.tls_required,
 7516            'username': self.username,
 7517        }
 7518
 7519    @classmethod
 7520    def from_dict(cls, d):
 7521        return cls(
 7522            bind_interface=d.get('bind_interface'),
 7523            egress_filter=d.get('egress_filter'),
 7524            healthy=d.get('healthy'),
 7525            hostname=d.get('hostname'),
 7526            id=d.get('id'),
 7527            name=d.get('name'),
 7528            password=d.get('password'),
 7529            port=d.get('port'),
 7530            port_override=d.get('port_override'),
 7531            proxy_cluster_id=d.get('proxy_cluster_id'),
 7532            secret_store_id=d.get('secret_store_id'),
 7533            subdomain=d.get('subdomain'),
 7534            tags=d.get('tags'),
 7535            tls_required=d.get('tls_required'),
 7536            username=d.get('username'),
 7537        )
 7538
 7539
 7540class Citus:
 7541    __slots__ = [
 7542        'bind_interface',
 7543        'database',
 7544        'egress_filter',
 7545        'healthy',
 7546        'hostname',
 7547        'id',
 7548        'name',
 7549        'override_database',
 7550        'password',
 7551        'port',
 7552        'port_override',
 7553        'proxy_cluster_id',
 7554        'secret_store_id',
 7555        'subdomain',
 7556        'tags',
 7557        'username',
 7558    ]
 7559
 7560    def __init__(
 7561        self,
 7562        bind_interface=None,
 7563        database=None,
 7564        egress_filter=None,
 7565        healthy=None,
 7566        hostname=None,
 7567        id=None,
 7568        name=None,
 7569        override_database=None,
 7570        password=None,
 7571        port=None,
 7572        port_override=None,
 7573        proxy_cluster_id=None,
 7574        secret_store_id=None,
 7575        subdomain=None,
 7576        tags=None,
 7577        username=None,
 7578    ):
 7579        self.bind_interface = bind_interface if bind_interface is not None else ''
 7580        '''
 7581         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7582        '''
 7583        self.database = database if database is not None else ''
 7584        '''
 7585         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7586        '''
 7587        self.egress_filter = egress_filter if egress_filter is not None else ''
 7588        '''
 7589         A filter applied to the routing logic to pin datasource to nodes.
 7590        '''
 7591        self.healthy = healthy if healthy is not None else False
 7592        '''
 7593         True if the datasource is reachable and the credentials are valid.
 7594        '''
 7595        self.hostname = hostname if hostname is not None else ''
 7596        '''
 7597         The host to dial to initiate a connection from the egress node to this resource.
 7598        '''
 7599        self.id = id if id is not None else ''
 7600        '''
 7601         Unique identifier of the Resource.
 7602        '''
 7603        self.name = name if name is not None else ''
 7604        '''
 7605         Unique human-readable name of the Resource.
 7606        '''
 7607        self.override_database = override_database if override_database is not None else False
 7608        '''
 7609         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.
 7610        '''
 7611        self.password = password if password is not None else ''
 7612        '''
 7613         The password to authenticate with.
 7614        '''
 7615        self.port = port if port is not None else 0
 7616        '''
 7617         The port to dial to initiate a connection from the egress node to this resource.
 7618        '''
 7619        self.port_override = port_override if port_override is not None else 0
 7620        '''
 7621         The local port used by clients to connect to this resource.
 7622        '''
 7623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7624        '''
 7625         ID of the proxy cluster for this resource, if any.
 7626        '''
 7627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7628        '''
 7629         ID of the secret store containing credentials for this resource, if any.
 7630        '''
 7631        self.subdomain = subdomain if subdomain is not None else ''
 7632        '''
 7633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7634        '''
 7635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7636        '''
 7637         Tags is a map of key, value pairs.
 7638        '''
 7639        self.username = username if username is not None else ''
 7640        '''
 7641         The username to authenticate with.
 7642        '''
 7643
 7644    def __repr__(self):
 7645        return '<sdm.Citus ' + \
 7646            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7647            'database: ' + repr(self.database) + ' ' +\
 7648            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7649            'healthy: ' + repr(self.healthy) + ' ' +\
 7650            'hostname: ' + repr(self.hostname) + ' ' +\
 7651            'id: ' + repr(self.id) + ' ' +\
 7652            'name: ' + repr(self.name) + ' ' +\
 7653            'override_database: ' + repr(self.override_database) + ' ' +\
 7654            'password: ' + repr(self.password) + ' ' +\
 7655            'port: ' + repr(self.port) + ' ' +\
 7656            'port_override: ' + repr(self.port_override) + ' ' +\
 7657            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7658            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7659            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7660            'tags: ' + repr(self.tags) + ' ' +\
 7661            'username: ' + repr(self.username) + ' ' +\
 7662            '>'
 7663
 7664    def to_dict(self):
 7665        return {
 7666            'bind_interface': self.bind_interface,
 7667            'database': self.database,
 7668            'egress_filter': self.egress_filter,
 7669            'healthy': self.healthy,
 7670            'hostname': self.hostname,
 7671            'id': self.id,
 7672            'name': self.name,
 7673            'override_database': self.override_database,
 7674            'password': self.password,
 7675            'port': self.port,
 7676            'port_override': self.port_override,
 7677            'proxy_cluster_id': self.proxy_cluster_id,
 7678            'secret_store_id': self.secret_store_id,
 7679            'subdomain': self.subdomain,
 7680            'tags': self.tags,
 7681            'username': self.username,
 7682        }
 7683
 7684    @classmethod
 7685    def from_dict(cls, d):
 7686        return cls(
 7687            bind_interface=d.get('bind_interface'),
 7688            database=d.get('database'),
 7689            egress_filter=d.get('egress_filter'),
 7690            healthy=d.get('healthy'),
 7691            hostname=d.get('hostname'),
 7692            id=d.get('id'),
 7693            name=d.get('name'),
 7694            override_database=d.get('override_database'),
 7695            password=d.get('password'),
 7696            port=d.get('port'),
 7697            port_override=d.get('port_override'),
 7698            proxy_cluster_id=d.get('proxy_cluster_id'),
 7699            secret_store_id=d.get('secret_store_id'),
 7700            subdomain=d.get('subdomain'),
 7701            tags=d.get('tags'),
 7702            username=d.get('username'),
 7703        )
 7704
 7705
 7706class Clustrix:
 7707    __slots__ = [
 7708        'bind_interface',
 7709        'database',
 7710        'egress_filter',
 7711        'healthy',
 7712        'hostname',
 7713        'id',
 7714        'name',
 7715        'password',
 7716        'port',
 7717        'port_override',
 7718        'proxy_cluster_id',
 7719        'require_native_auth',
 7720        'secret_store_id',
 7721        'subdomain',
 7722        'tags',
 7723        'use_azure_single_server_usernames',
 7724        'username',
 7725    ]
 7726
 7727    def __init__(
 7728        self,
 7729        bind_interface=None,
 7730        database=None,
 7731        egress_filter=None,
 7732        healthy=None,
 7733        hostname=None,
 7734        id=None,
 7735        name=None,
 7736        password=None,
 7737        port=None,
 7738        port_override=None,
 7739        proxy_cluster_id=None,
 7740        require_native_auth=None,
 7741        secret_store_id=None,
 7742        subdomain=None,
 7743        tags=None,
 7744        use_azure_single_server_usernames=None,
 7745        username=None,
 7746    ):
 7747        self.bind_interface = bind_interface if bind_interface is not None else ''
 7748        '''
 7749         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7750        '''
 7751        self.database = database if database is not None else ''
 7752        '''
 7753         The database for healthchecks. Does not affect client requests.
 7754        '''
 7755        self.egress_filter = egress_filter if egress_filter is not None else ''
 7756        '''
 7757         A filter applied to the routing logic to pin datasource to nodes.
 7758        '''
 7759        self.healthy = healthy if healthy is not None else False
 7760        '''
 7761         True if the datasource is reachable and the credentials are valid.
 7762        '''
 7763        self.hostname = hostname if hostname is not None else ''
 7764        '''
 7765         The host to dial to initiate a connection from the egress node to this resource.
 7766        '''
 7767        self.id = id if id is not None else ''
 7768        '''
 7769         Unique identifier of the Resource.
 7770        '''
 7771        self.name = name if name is not None else ''
 7772        '''
 7773         Unique human-readable name of the Resource.
 7774        '''
 7775        self.password = password if password is not None else ''
 7776        '''
 7777         The password to authenticate with.
 7778        '''
 7779        self.port = port if port is not None else 0
 7780        '''
 7781         The port to dial to initiate a connection from the egress node to this resource.
 7782        '''
 7783        self.port_override = port_override if port_override is not None else 0
 7784        '''
 7785         The local port used by clients to connect to this resource.
 7786        '''
 7787        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7788        '''
 7789         ID of the proxy cluster for this resource, if any.
 7790        '''
 7791        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7792        '''
 7793         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 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.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7808        '''
 7809         If true, appends the hostname to the username when hitting a database.azure.com address
 7810        '''
 7811        self.username = username if username is not None else ''
 7812        '''
 7813         The username to authenticate with.
 7814        '''
 7815
 7816    def __repr__(self):
 7817        return '<sdm.Clustrix ' + \
 7818            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7819            'database: ' + repr(self.database) + ' ' +\
 7820            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7821            'healthy: ' + repr(self.healthy) + ' ' +\
 7822            'hostname: ' + repr(self.hostname) + ' ' +\
 7823            'id: ' + repr(self.id) + ' ' +\
 7824            'name: ' + repr(self.name) + ' ' +\
 7825            'password: ' + repr(self.password) + ' ' +\
 7826            'port: ' + repr(self.port) + ' ' +\
 7827            'port_override: ' + repr(self.port_override) + ' ' +\
 7828            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7829            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7830            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7831            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7832            'tags: ' + repr(self.tags) + ' ' +\
 7833            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7834            'username: ' + repr(self.username) + ' ' +\
 7835            '>'
 7836
 7837    def to_dict(self):
 7838        return {
 7839            'bind_interface': self.bind_interface,
 7840            'database': self.database,
 7841            'egress_filter': self.egress_filter,
 7842            'healthy': self.healthy,
 7843            'hostname': self.hostname,
 7844            'id': self.id,
 7845            'name': self.name,
 7846            'password': self.password,
 7847            'port': self.port,
 7848            'port_override': self.port_override,
 7849            'proxy_cluster_id': self.proxy_cluster_id,
 7850            'require_native_auth': self.require_native_auth,
 7851            'secret_store_id': self.secret_store_id,
 7852            'subdomain': self.subdomain,
 7853            'tags': self.tags,
 7854            'use_azure_single_server_usernames':
 7855            self.use_azure_single_server_usernames,
 7856            'username': self.username,
 7857        }
 7858
 7859    @classmethod
 7860    def from_dict(cls, d):
 7861        return cls(
 7862            bind_interface=d.get('bind_interface'),
 7863            database=d.get('database'),
 7864            egress_filter=d.get('egress_filter'),
 7865            healthy=d.get('healthy'),
 7866            hostname=d.get('hostname'),
 7867            id=d.get('id'),
 7868            name=d.get('name'),
 7869            password=d.get('password'),
 7870            port=d.get('port'),
 7871            port_override=d.get('port_override'),
 7872            proxy_cluster_id=d.get('proxy_cluster_id'),
 7873            require_native_auth=d.get('require_native_auth'),
 7874            secret_store_id=d.get('secret_store_id'),
 7875            subdomain=d.get('subdomain'),
 7876            tags=d.get('tags'),
 7877            use_azure_single_server_usernames=d.get(
 7878                'use_azure_single_server_usernames'),
 7879            username=d.get('username'),
 7880        )
 7881
 7882
 7883class Cockroach:
 7884    __slots__ = [
 7885        'bind_interface',
 7886        'database',
 7887        'egress_filter',
 7888        'healthy',
 7889        'hostname',
 7890        'id',
 7891        'name',
 7892        'override_database',
 7893        'password',
 7894        'port',
 7895        'port_override',
 7896        'proxy_cluster_id',
 7897        'secret_store_id',
 7898        'subdomain',
 7899        'tags',
 7900        'username',
 7901    ]
 7902
 7903    def __init__(
 7904        self,
 7905        bind_interface=None,
 7906        database=None,
 7907        egress_filter=None,
 7908        healthy=None,
 7909        hostname=None,
 7910        id=None,
 7911        name=None,
 7912        override_database=None,
 7913        password=None,
 7914        port=None,
 7915        port_override=None,
 7916        proxy_cluster_id=None,
 7917        secret_store_id=None,
 7918        subdomain=None,
 7919        tags=None,
 7920        username=None,
 7921    ):
 7922        self.bind_interface = bind_interface if bind_interface is not None else ''
 7923        '''
 7924         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7925        '''
 7926        self.database = database if database is not None else ''
 7927        '''
 7928         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7929        '''
 7930        self.egress_filter = egress_filter if egress_filter is not None else ''
 7931        '''
 7932         A filter applied to the routing logic to pin datasource to nodes.
 7933        '''
 7934        self.healthy = healthy if healthy is not None else False
 7935        '''
 7936         True if the datasource is reachable and the credentials are valid.
 7937        '''
 7938        self.hostname = hostname if hostname is not None else ''
 7939        '''
 7940         The host to dial to initiate a connection from the egress node to this resource.
 7941        '''
 7942        self.id = id if id is not None else ''
 7943        '''
 7944         Unique identifier of the Resource.
 7945        '''
 7946        self.name = name if name is not None else ''
 7947        '''
 7948         Unique human-readable name of the Resource.
 7949        '''
 7950        self.override_database = override_database if override_database is not None else False
 7951        '''
 7952         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.
 7953        '''
 7954        self.password = password if password is not None else ''
 7955        '''
 7956         The password to authenticate with.
 7957        '''
 7958        self.port = port if port is not None else 0
 7959        '''
 7960         The port to dial to initiate a connection from the egress node to this resource.
 7961        '''
 7962        self.port_override = port_override if port_override is not None else 0
 7963        '''
 7964         The local port used by clients to connect to this resource.
 7965        '''
 7966        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7967        '''
 7968         ID of the proxy cluster for this resource, if any.
 7969        '''
 7970        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7971        '''
 7972         ID of the secret store containing credentials for this resource, if any.
 7973        '''
 7974        self.subdomain = subdomain if subdomain is not None else ''
 7975        '''
 7976         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7977        '''
 7978        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7979        '''
 7980         Tags is a map of key, value pairs.
 7981        '''
 7982        self.username = username if username is not None else ''
 7983        '''
 7984         The username to authenticate with.
 7985        '''
 7986
 7987    def __repr__(self):
 7988        return '<sdm.Cockroach ' + \
 7989            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7990            'database: ' + repr(self.database) + ' ' +\
 7991            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7992            'healthy: ' + repr(self.healthy) + ' ' +\
 7993            'hostname: ' + repr(self.hostname) + ' ' +\
 7994            'id: ' + repr(self.id) + ' ' +\
 7995            'name: ' + repr(self.name) + ' ' +\
 7996            'override_database: ' + repr(self.override_database) + ' ' +\
 7997            'password: ' + repr(self.password) + ' ' +\
 7998            'port: ' + repr(self.port) + ' ' +\
 7999            'port_override: ' + repr(self.port_override) + ' ' +\
 8000            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8001            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8002            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8003            'tags: ' + repr(self.tags) + ' ' +\
 8004            'username: ' + repr(self.username) + ' ' +\
 8005            '>'
 8006
 8007    def to_dict(self):
 8008        return {
 8009            'bind_interface': self.bind_interface,
 8010            'database': self.database,
 8011            'egress_filter': self.egress_filter,
 8012            'healthy': self.healthy,
 8013            'hostname': self.hostname,
 8014            'id': self.id,
 8015            'name': self.name,
 8016            'override_database': self.override_database,
 8017            'password': self.password,
 8018            'port': self.port,
 8019            'port_override': self.port_override,
 8020            'proxy_cluster_id': self.proxy_cluster_id,
 8021            'secret_store_id': self.secret_store_id,
 8022            'subdomain': self.subdomain,
 8023            'tags': self.tags,
 8024            'username': self.username,
 8025        }
 8026
 8027    @classmethod
 8028    def from_dict(cls, d):
 8029        return cls(
 8030            bind_interface=d.get('bind_interface'),
 8031            database=d.get('database'),
 8032            egress_filter=d.get('egress_filter'),
 8033            healthy=d.get('healthy'),
 8034            hostname=d.get('hostname'),
 8035            id=d.get('id'),
 8036            name=d.get('name'),
 8037            override_database=d.get('override_database'),
 8038            password=d.get('password'),
 8039            port=d.get('port'),
 8040            port_override=d.get('port_override'),
 8041            proxy_cluster_id=d.get('proxy_cluster_id'),
 8042            secret_store_id=d.get('secret_store_id'),
 8043            subdomain=d.get('subdomain'),
 8044            tags=d.get('tags'),
 8045            username=d.get('username'),
 8046        )
 8047
 8048
 8049class ControlPanelGetRDPCAPublicKeyResponse:
 8050    '''
 8051         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 8052     organization's RDP Certificate Authority public key.
 8053    '''
 8054    __slots__ = [
 8055        'meta',
 8056        'public_key',
 8057        'rate_limit',
 8058    ]
 8059
 8060    def __init__(
 8061        self,
 8062        meta=None,
 8063        public_key=None,
 8064        rate_limit=None,
 8065    ):
 8066        self.meta = meta if meta is not None else None
 8067        '''
 8068         Reserved for future use.
 8069        '''
 8070        self.public_key = public_key if public_key is not None else ''
 8071        '''
 8072         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 8073         key format.
 8074        '''
 8075        self.rate_limit = rate_limit if rate_limit is not None else None
 8076        '''
 8077         Rate limit information.
 8078        '''
 8079
 8080    def __repr__(self):
 8081        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 8082            'meta: ' + repr(self.meta) + ' ' +\
 8083            'public_key: ' + repr(self.public_key) + ' ' +\
 8084            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 8085            '>'
 8086
 8087    def to_dict(self):
 8088        return {
 8089            'meta': self.meta,
 8090            'public_key': self.public_key,
 8091            'rate_limit': self.rate_limit,
 8092        }
 8093
 8094    @classmethod
 8095    def from_dict(cls, d):
 8096        return cls(
 8097            meta=d.get('meta'),
 8098            public_key=d.get('public_key'),
 8099            rate_limit=d.get('rate_limit'),
 8100        )
 8101
 8102
 8103class ControlPanelGetSSHCAPublicKeyResponse:
 8104    '''
 8105         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 8106     organization's SSH Certificate Authority public key.
 8107    '''
 8108    __slots__ = [
 8109        'meta',
 8110        'public_key',
 8111        'rate_limit',
 8112    ]
 8113
 8114    def __init__(
 8115        self,
 8116        meta=None,
 8117        public_key=None,
 8118        rate_limit=None,
 8119    ):
 8120        self.meta = meta if meta is not None else None
 8121        '''
 8122         Reserved for future use.
 8123        '''
 8124        self.public_key = public_key if public_key is not None else ''
 8125        '''
 8126         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 8127         key format.
 8128        '''
 8129        self.rate_limit = rate_limit if rate_limit is not None else None
 8130        '''
 8131         Rate limit information.
 8132        '''
 8133
 8134    def __repr__(self):
 8135        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 8136            'meta: ' + repr(self.meta) + ' ' +\
 8137            'public_key: ' + repr(self.public_key) + ' ' +\
 8138            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 8139            '>'
 8140
 8141    def to_dict(self):
 8142        return {
 8143            'meta': self.meta,
 8144            'public_key': self.public_key,
 8145            'rate_limit': self.rate_limit,
 8146        }
 8147
 8148    @classmethod
 8149    def from_dict(cls, d):
 8150        return cls(
 8151            meta=d.get('meta'),
 8152            public_key=d.get('public_key'),
 8153            rate_limit=d.get('rate_limit'),
 8154        )
 8155
 8156
 8157class ControlPanelVerifyJWTResponse:
 8158    '''
 8159         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 8160    '''
 8161    __slots__ = [
 8162        'meta',
 8163        'rate_limit',
 8164        'valid',
 8165    ]
 8166
 8167    def __init__(
 8168        self,
 8169        meta=None,
 8170        rate_limit=None,
 8171        valid=None,
 8172    ):
 8173        self.meta = meta if meta is not None else None
 8174        '''
 8175         Reserved for future use.
 8176        '''
 8177        self.rate_limit = rate_limit if rate_limit is not None else None
 8178        '''
 8179         Rate limit information.
 8180        '''
 8181        self.valid = valid if valid is not None else False
 8182        '''
 8183         Reports if the given token is valid.
 8184        '''
 8185
 8186    def __repr__(self):
 8187        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 8188            'meta: ' + repr(self.meta) + ' ' +\
 8189            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 8190            'valid: ' + repr(self.valid) + ' ' +\
 8191            '>'
 8192
 8193    def to_dict(self):
 8194        return {
 8195            'meta': self.meta,
 8196            'rate_limit': self.rate_limit,
 8197            'valid': self.valid,
 8198        }
 8199
 8200    @classmethod
 8201    def from_dict(cls, d):
 8202        return cls(
 8203            meta=d.get('meta'),
 8204            rate_limit=d.get('rate_limit'),
 8205            valid=d.get('valid'),
 8206        )
 8207
 8208
 8209class CouchbaseDatabase:
 8210    __slots__ = [
 8211        'bind_interface',
 8212        'egress_filter',
 8213        'healthy',
 8214        'hostname',
 8215        'id',
 8216        'n1ql_port',
 8217        'name',
 8218        'password',
 8219        'port',
 8220        'port_override',
 8221        'proxy_cluster_id',
 8222        'secret_store_id',
 8223        'subdomain',
 8224        'tags',
 8225        'tls_required',
 8226        'username',
 8227    ]
 8228
 8229    def __init__(
 8230        self,
 8231        bind_interface=None,
 8232        egress_filter=None,
 8233        healthy=None,
 8234        hostname=None,
 8235        id=None,
 8236        n1ql_port=None,
 8237        name=None,
 8238        password=None,
 8239        port=None,
 8240        port_override=None,
 8241        proxy_cluster_id=None,
 8242        secret_store_id=None,
 8243        subdomain=None,
 8244        tags=None,
 8245        tls_required=None,
 8246        username=None,
 8247    ):
 8248        self.bind_interface = bind_interface if bind_interface is not None else ''
 8249        '''
 8250         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8251        '''
 8252        self.egress_filter = egress_filter if egress_filter is not None else ''
 8253        '''
 8254         A filter applied to the routing logic to pin datasource to nodes.
 8255        '''
 8256        self.healthy = healthy if healthy is not None else False
 8257        '''
 8258         True if the datasource is reachable and the credentials are valid.
 8259        '''
 8260        self.hostname = hostname if hostname is not None else ''
 8261        '''
 8262         The host to dial to initiate a connection from the egress node to this resource.
 8263        '''
 8264        self.id = id if id is not None else ''
 8265        '''
 8266         Unique identifier of the Resource.
 8267        '''
 8268        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 8269        '''
 8270         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 8271        '''
 8272        self.name = name if name is not None else ''
 8273        '''
 8274         Unique human-readable name of the Resource.
 8275        '''
 8276        self.password = password if password is not None else ''
 8277        '''
 8278         The password to authenticate with.
 8279        '''
 8280        self.port = port if port is not None else 0
 8281        '''
 8282         The port to dial to initiate a connection from the egress node to this resource.
 8283        '''
 8284        self.port_override = port_override if port_override is not None else 0
 8285        '''
 8286         The local port used by clients to connect to this resource.
 8287        '''
 8288        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8289        '''
 8290         ID of the proxy cluster for this resource, if any.
 8291        '''
 8292        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8293        '''
 8294         ID of the secret store containing credentials for this resource, if any.
 8295        '''
 8296        self.subdomain = subdomain if subdomain is not None else ''
 8297        '''
 8298         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8299        '''
 8300        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8301        '''
 8302         Tags is a map of key, value pairs.
 8303        '''
 8304        self.tls_required = tls_required if tls_required is not None else False
 8305        '''
 8306         If set, TLS must be used to connect to this resource.
 8307        '''
 8308        self.username = username if username is not None else ''
 8309        '''
 8310         The username to authenticate with.
 8311        '''
 8312
 8313    def __repr__(self):
 8314        return '<sdm.CouchbaseDatabase ' + \
 8315            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8316            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8317            'healthy: ' + repr(self.healthy) + ' ' +\
 8318            'hostname: ' + repr(self.hostname) + ' ' +\
 8319            'id: ' + repr(self.id) + ' ' +\
 8320            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 8321            'name: ' + repr(self.name) + ' ' +\
 8322            'password: ' + repr(self.password) + ' ' +\
 8323            'port: ' + repr(self.port) + ' ' +\
 8324            'port_override: ' + repr(self.port_override) + ' ' +\
 8325            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8326            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8327            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8328            'tags: ' + repr(self.tags) + ' ' +\
 8329            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8330            'username: ' + repr(self.username) + ' ' +\
 8331            '>'
 8332
 8333    def to_dict(self):
 8334        return {
 8335            'bind_interface': self.bind_interface,
 8336            'egress_filter': self.egress_filter,
 8337            'healthy': self.healthy,
 8338            'hostname': self.hostname,
 8339            'id': self.id,
 8340            'n1ql_port': self.n1ql_port,
 8341            'name': self.name,
 8342            'password': self.password,
 8343            'port': self.port,
 8344            'port_override': self.port_override,
 8345            'proxy_cluster_id': self.proxy_cluster_id,
 8346            'secret_store_id': self.secret_store_id,
 8347            'subdomain': self.subdomain,
 8348            'tags': self.tags,
 8349            'tls_required': self.tls_required,
 8350            'username': self.username,
 8351        }
 8352
 8353    @classmethod
 8354    def from_dict(cls, d):
 8355        return cls(
 8356            bind_interface=d.get('bind_interface'),
 8357            egress_filter=d.get('egress_filter'),
 8358            healthy=d.get('healthy'),
 8359            hostname=d.get('hostname'),
 8360            id=d.get('id'),
 8361            n1ql_port=d.get('n1ql_port'),
 8362            name=d.get('name'),
 8363            password=d.get('password'),
 8364            port=d.get('port'),
 8365            port_override=d.get('port_override'),
 8366            proxy_cluster_id=d.get('proxy_cluster_id'),
 8367            secret_store_id=d.get('secret_store_id'),
 8368            subdomain=d.get('subdomain'),
 8369            tags=d.get('tags'),
 8370            tls_required=d.get('tls_required'),
 8371            username=d.get('username'),
 8372        )
 8373
 8374
 8375class CouchbaseWebUI:
 8376    __slots__ = [
 8377        'bind_interface',
 8378        'egress_filter',
 8379        'healthy',
 8380        'id',
 8381        'name',
 8382        'password',
 8383        'port_override',
 8384        'proxy_cluster_id',
 8385        'secret_store_id',
 8386        'subdomain',
 8387        'tags',
 8388        'url',
 8389        'username',
 8390    ]
 8391
 8392    def __init__(
 8393        self,
 8394        bind_interface=None,
 8395        egress_filter=None,
 8396        healthy=None,
 8397        id=None,
 8398        name=None,
 8399        password=None,
 8400        port_override=None,
 8401        proxy_cluster_id=None,
 8402        secret_store_id=None,
 8403        subdomain=None,
 8404        tags=None,
 8405        url=None,
 8406        username=None,
 8407    ):
 8408        self.bind_interface = bind_interface if bind_interface is not None else ''
 8409        '''
 8410         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8411        '''
 8412        self.egress_filter = egress_filter if egress_filter is not None else ''
 8413        '''
 8414         A filter applied to the routing logic to pin datasource to nodes.
 8415        '''
 8416        self.healthy = healthy if healthy is not None else False
 8417        '''
 8418         True if the datasource is reachable and the credentials are valid.
 8419        '''
 8420        self.id = id if id is not None else ''
 8421        '''
 8422         Unique identifier of the Resource.
 8423        '''
 8424        self.name = name if name is not None else ''
 8425        '''
 8426         Unique human-readable name of the Resource.
 8427        '''
 8428        self.password = password if password is not None else ''
 8429        '''
 8430         The password to authenticate with.
 8431        '''
 8432        self.port_override = port_override if port_override is not None else 0
 8433        '''
 8434         The local port used by clients to connect to this resource.
 8435        '''
 8436        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8437        '''
 8438         ID of the proxy cluster for this resource, if any.
 8439        '''
 8440        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8441        '''
 8442         ID of the secret store containing credentials for this resource, if any.
 8443        '''
 8444        self.subdomain = subdomain if subdomain is not None else ''
 8445        '''
 8446         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8447        '''
 8448        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8449        '''
 8450         Tags is a map of key, value pairs.
 8451        '''
 8452        self.url = url if url is not None else ''
 8453        '''
 8454         The base address of your website without the path.
 8455        '''
 8456        self.username = username if username is not None else ''
 8457        '''
 8458         The username to authenticate with.
 8459        '''
 8460
 8461    def __repr__(self):
 8462        return '<sdm.CouchbaseWebUI ' + \
 8463            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8464            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8465            'healthy: ' + repr(self.healthy) + ' ' +\
 8466            'id: ' + repr(self.id) + ' ' +\
 8467            'name: ' + repr(self.name) + ' ' +\
 8468            'password: ' + repr(self.password) + ' ' +\
 8469            'port_override: ' + repr(self.port_override) + ' ' +\
 8470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8471            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8472            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8473            'tags: ' + repr(self.tags) + ' ' +\
 8474            'url: ' + repr(self.url) + ' ' +\
 8475            'username: ' + repr(self.username) + ' ' +\
 8476            '>'
 8477
 8478    def to_dict(self):
 8479        return {
 8480            'bind_interface': self.bind_interface,
 8481            'egress_filter': self.egress_filter,
 8482            'healthy': self.healthy,
 8483            'id': self.id,
 8484            'name': self.name,
 8485            'password': self.password,
 8486            'port_override': self.port_override,
 8487            'proxy_cluster_id': self.proxy_cluster_id,
 8488            'secret_store_id': self.secret_store_id,
 8489            'subdomain': self.subdomain,
 8490            'tags': self.tags,
 8491            'url': self.url,
 8492            'username': self.username,
 8493        }
 8494
 8495    @classmethod
 8496    def from_dict(cls, d):
 8497        return cls(
 8498            bind_interface=d.get('bind_interface'),
 8499            egress_filter=d.get('egress_filter'),
 8500            healthy=d.get('healthy'),
 8501            id=d.get('id'),
 8502            name=d.get('name'),
 8503            password=d.get('password'),
 8504            port_override=d.get('port_override'),
 8505            proxy_cluster_id=d.get('proxy_cluster_id'),
 8506            secret_store_id=d.get('secret_store_id'),
 8507            subdomain=d.get('subdomain'),
 8508            tags=d.get('tags'),
 8509            url=d.get('url'),
 8510            username=d.get('username'),
 8511        )
 8512
 8513
 8514class CreateResponseMetadata:
 8515    '''
 8516         CreateResponseMetadata is reserved for future use.
 8517    '''
 8518    __slots__ = []
 8519
 8520    def __init__(self, ):
 8521        pass
 8522
 8523    def __repr__(self):
 8524        return '<sdm.CreateResponseMetadata ' + \
 8525            '>'
 8526
 8527    def to_dict(self):
 8528        return {}
 8529
 8530    @classmethod
 8531    def from_dict(cls, d):
 8532        return cls()
 8533
 8534
 8535class CyberarkConjurStore:
 8536    __slots__ = [
 8537        'appurl',
 8538        'id',
 8539        'name',
 8540        'tags',
 8541    ]
 8542
 8543    def __init__(
 8544        self,
 8545        appurl=None,
 8546        id=None,
 8547        name=None,
 8548        tags=None,
 8549    ):
 8550        self.appurl = appurl if appurl is not None else ''
 8551        '''
 8552         The URL of the Cyberark instance
 8553        '''
 8554        self.id = id if id is not None else ''
 8555        '''
 8556         Unique identifier of the SecretStore.
 8557        '''
 8558        self.name = name if name is not None else ''
 8559        '''
 8560         Unique human-readable name of the SecretStore.
 8561        '''
 8562        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8563        '''
 8564         Tags is a map of key, value pairs.
 8565        '''
 8566
 8567    def __repr__(self):
 8568        return '<sdm.CyberarkConjurStore ' + \
 8569            'appurl: ' + repr(self.appurl) + ' ' +\
 8570            'id: ' + repr(self.id) + ' ' +\
 8571            'name: ' + repr(self.name) + ' ' +\
 8572            'tags: ' + repr(self.tags) + ' ' +\
 8573            '>'
 8574
 8575    def to_dict(self):
 8576        return {
 8577            'appurl': self.appurl,
 8578            'id': self.id,
 8579            'name': self.name,
 8580            'tags': self.tags,
 8581        }
 8582
 8583    @classmethod
 8584    def from_dict(cls, d):
 8585        return cls(
 8586            appurl=d.get('appurl'),
 8587            id=d.get('id'),
 8588            name=d.get('name'),
 8589            tags=d.get('tags'),
 8590        )
 8591
 8592
 8593class CyberarkPAMExperimentalStore:
 8594    '''
 8595    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
 8596    without a major version bump.
 8597    '''
 8598    __slots__ = [
 8599        'appurl',
 8600        'id',
 8601        'name',
 8602        'tags',
 8603    ]
 8604
 8605    def __init__(
 8606        self,
 8607        appurl=None,
 8608        id=None,
 8609        name=None,
 8610        tags=None,
 8611    ):
 8612        self.appurl = appurl if appurl is not None else ''
 8613        '''
 8614         The URL of the Cyberark instance
 8615        '''
 8616        self.id = id if id is not None else ''
 8617        '''
 8618         Unique identifier of the SecretStore.
 8619        '''
 8620        self.name = name if name is not None else ''
 8621        '''
 8622         Unique human-readable name of the SecretStore.
 8623        '''
 8624        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8625        '''
 8626         Tags is a map of key, value pairs.
 8627        '''
 8628
 8629    def __repr__(self):
 8630        return '<sdm.CyberarkPAMExperimentalStore ' + \
 8631            'appurl: ' + repr(self.appurl) + ' ' +\
 8632            'id: ' + repr(self.id) + ' ' +\
 8633            'name: ' + repr(self.name) + ' ' +\
 8634            'tags: ' + repr(self.tags) + ' ' +\
 8635            '>'
 8636
 8637    def to_dict(self):
 8638        return {
 8639            'appurl': self.appurl,
 8640            'id': self.id,
 8641            'name': self.name,
 8642            'tags': self.tags,
 8643        }
 8644
 8645    @classmethod
 8646    def from_dict(cls, d):
 8647        return cls(
 8648            appurl=d.get('appurl'),
 8649            id=d.get('id'),
 8650            name=d.get('name'),
 8651            tags=d.get('tags'),
 8652        )
 8653
 8654
 8655class CyberarkPAMStore:
 8656    __slots__ = [
 8657        'appurl',
 8658        'id',
 8659        'name',
 8660        'tags',
 8661    ]
 8662
 8663    def __init__(
 8664        self,
 8665        appurl=None,
 8666        id=None,
 8667        name=None,
 8668        tags=None,
 8669    ):
 8670        self.appurl = appurl if appurl is not None else ''
 8671        '''
 8672         The URL of the Cyberark instance
 8673        '''
 8674        self.id = id if id is not None else ''
 8675        '''
 8676         Unique identifier of the SecretStore.
 8677        '''
 8678        self.name = name if name is not None else ''
 8679        '''
 8680         Unique human-readable name of the SecretStore.
 8681        '''
 8682        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8683        '''
 8684         Tags is a map of key, value pairs.
 8685        '''
 8686
 8687    def __repr__(self):
 8688        return '<sdm.CyberarkPAMStore ' + \
 8689            'appurl: ' + repr(self.appurl) + ' ' +\
 8690            'id: ' + repr(self.id) + ' ' +\
 8691            'name: ' + repr(self.name) + ' ' +\
 8692            'tags: ' + repr(self.tags) + ' ' +\
 8693            '>'
 8694
 8695    def to_dict(self):
 8696        return {
 8697            'appurl': self.appurl,
 8698            'id': self.id,
 8699            'name': self.name,
 8700            'tags': self.tags,
 8701        }
 8702
 8703    @classmethod
 8704    def from_dict(cls, d):
 8705        return cls(
 8706            appurl=d.get('appurl'),
 8707            id=d.get('id'),
 8708            name=d.get('name'),
 8709            tags=d.get('tags'),
 8710        )
 8711
 8712
 8713class DB2I:
 8714    __slots__ = [
 8715        'bind_interface',
 8716        'egress_filter',
 8717        'healthy',
 8718        'hostname',
 8719        'id',
 8720        'name',
 8721        'password',
 8722        'port',
 8723        'port_override',
 8724        'proxy_cluster_id',
 8725        'secret_store_id',
 8726        'subdomain',
 8727        'tags',
 8728        'tls_required',
 8729        'username',
 8730    ]
 8731
 8732    def __init__(
 8733        self,
 8734        bind_interface=None,
 8735        egress_filter=None,
 8736        healthy=None,
 8737        hostname=None,
 8738        id=None,
 8739        name=None,
 8740        password=None,
 8741        port=None,
 8742        port_override=None,
 8743        proxy_cluster_id=None,
 8744        secret_store_id=None,
 8745        subdomain=None,
 8746        tags=None,
 8747        tls_required=None,
 8748        username=None,
 8749    ):
 8750        self.bind_interface = bind_interface if bind_interface is not None else ''
 8751        '''
 8752         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8753        '''
 8754        self.egress_filter = egress_filter if egress_filter is not None else ''
 8755        '''
 8756         A filter applied to the routing logic to pin datasource to nodes.
 8757        '''
 8758        self.healthy = healthy if healthy is not None else False
 8759        '''
 8760         True if the datasource is reachable and the credentials are valid.
 8761        '''
 8762        self.hostname = hostname if hostname is not None else ''
 8763        '''
 8764         The host to dial to initiate a connection from the egress node to this resource.
 8765        '''
 8766        self.id = id if id is not None else ''
 8767        '''
 8768         Unique identifier of the Resource.
 8769        '''
 8770        self.name = name if name is not None else ''
 8771        '''
 8772         Unique human-readable name of the Resource.
 8773        '''
 8774        self.password = password if password is not None else ''
 8775        '''
 8776         The password to authenticate with.
 8777        '''
 8778        self.port = port if port is not None else 0
 8779        '''
 8780         The port to dial to initiate a connection from the egress node to this resource.
 8781        '''
 8782        self.port_override = port_override if port_override is not None else 0
 8783        '''
 8784         The local port used by clients to connect to this resource.
 8785        '''
 8786        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8787        '''
 8788         ID of the proxy cluster for this resource, if any.
 8789        '''
 8790        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8791        '''
 8792         ID of the secret store containing credentials for this resource, if any.
 8793        '''
 8794        self.subdomain = subdomain if subdomain is not None else ''
 8795        '''
 8796         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8797        '''
 8798        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8799        '''
 8800         Tags is a map of key, value pairs.
 8801        '''
 8802        self.tls_required = tls_required if tls_required is not None else False
 8803        '''
 8804         If set, TLS must be used to connect to this resource.
 8805        '''
 8806        self.username = username if username is not None else ''
 8807        '''
 8808         The username to authenticate with.
 8809        '''
 8810
 8811    def __repr__(self):
 8812        return '<sdm.DB2I ' + \
 8813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8814            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8815            'healthy: ' + repr(self.healthy) + ' ' +\
 8816            'hostname: ' + repr(self.hostname) + ' ' +\
 8817            'id: ' + repr(self.id) + ' ' +\
 8818            'name: ' + repr(self.name) + ' ' +\
 8819            'password: ' + repr(self.password) + ' ' +\
 8820            'port: ' + repr(self.port) + ' ' +\
 8821            'port_override: ' + repr(self.port_override) + ' ' +\
 8822            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8823            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8824            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8825            'tags: ' + repr(self.tags) + ' ' +\
 8826            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8827            'username: ' + repr(self.username) + ' ' +\
 8828            '>'
 8829
 8830    def to_dict(self):
 8831        return {
 8832            'bind_interface': self.bind_interface,
 8833            'egress_filter': self.egress_filter,
 8834            'healthy': self.healthy,
 8835            'hostname': self.hostname,
 8836            'id': self.id,
 8837            'name': self.name,
 8838            'password': self.password,
 8839            'port': self.port,
 8840            'port_override': self.port_override,
 8841            'proxy_cluster_id': self.proxy_cluster_id,
 8842            'secret_store_id': self.secret_store_id,
 8843            'subdomain': self.subdomain,
 8844            'tags': self.tags,
 8845            'tls_required': self.tls_required,
 8846            'username': self.username,
 8847        }
 8848
 8849    @classmethod
 8850    def from_dict(cls, d):
 8851        return cls(
 8852            bind_interface=d.get('bind_interface'),
 8853            egress_filter=d.get('egress_filter'),
 8854            healthy=d.get('healthy'),
 8855            hostname=d.get('hostname'),
 8856            id=d.get('id'),
 8857            name=d.get('name'),
 8858            password=d.get('password'),
 8859            port=d.get('port'),
 8860            port_override=d.get('port_override'),
 8861            proxy_cluster_id=d.get('proxy_cluster_id'),
 8862            secret_store_id=d.get('secret_store_id'),
 8863            subdomain=d.get('subdomain'),
 8864            tags=d.get('tags'),
 8865            tls_required=d.get('tls_required'),
 8866            username=d.get('username'),
 8867        )
 8868
 8869
 8870class DB2LUW:
 8871    __slots__ = [
 8872        'bind_interface',
 8873        'database',
 8874        'egress_filter',
 8875        'healthy',
 8876        'hostname',
 8877        'id',
 8878        'name',
 8879        'password',
 8880        'port',
 8881        'port_override',
 8882        'proxy_cluster_id',
 8883        'secret_store_id',
 8884        'subdomain',
 8885        'tags',
 8886        'username',
 8887    ]
 8888
 8889    def __init__(
 8890        self,
 8891        bind_interface=None,
 8892        database=None,
 8893        egress_filter=None,
 8894        healthy=None,
 8895        hostname=None,
 8896        id=None,
 8897        name=None,
 8898        password=None,
 8899        port=None,
 8900        port_override=None,
 8901        proxy_cluster_id=None,
 8902        secret_store_id=None,
 8903        subdomain=None,
 8904        tags=None,
 8905        username=None,
 8906    ):
 8907        self.bind_interface = bind_interface if bind_interface is not None else ''
 8908        '''
 8909         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8910        '''
 8911        self.database = database if database is not None else ''
 8912        '''
 8913         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8914        '''
 8915        self.egress_filter = egress_filter if egress_filter is not None else ''
 8916        '''
 8917         A filter applied to the routing logic to pin datasource to nodes.
 8918        '''
 8919        self.healthy = healthy if healthy is not None else False
 8920        '''
 8921         True if the datasource is reachable and the credentials are valid.
 8922        '''
 8923        self.hostname = hostname if hostname is not None else ''
 8924        '''
 8925         The host to dial to initiate a connection from the egress node to this resource.
 8926        '''
 8927        self.id = id if id is not None else ''
 8928        '''
 8929         Unique identifier of the Resource.
 8930        '''
 8931        self.name = name if name is not None else ''
 8932        '''
 8933         Unique human-readable name of the Resource.
 8934        '''
 8935        self.password = password if password is not None else ''
 8936        '''
 8937         The password to authenticate with.
 8938        '''
 8939        self.port = port if port is not None else 0
 8940        '''
 8941         The port to dial to initiate a connection from the egress node to this resource.
 8942        '''
 8943        self.port_override = port_override if port_override is not None else 0
 8944        '''
 8945         The local port used by clients to connect to this resource.
 8946        '''
 8947        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8948        '''
 8949         ID of the proxy cluster for this resource, if any.
 8950        '''
 8951        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8952        '''
 8953         ID of the secret store containing credentials for this resource, if any.
 8954        '''
 8955        self.subdomain = subdomain if subdomain is not None else ''
 8956        '''
 8957         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8958        '''
 8959        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8960        '''
 8961         Tags is a map of key, value pairs.
 8962        '''
 8963        self.username = username if username is not None else ''
 8964        '''
 8965         The username to authenticate with.
 8966        '''
 8967
 8968    def __repr__(self):
 8969        return '<sdm.DB2LUW ' + \
 8970            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8971            'database: ' + repr(self.database) + ' ' +\
 8972            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8973            'healthy: ' + repr(self.healthy) + ' ' +\
 8974            'hostname: ' + repr(self.hostname) + ' ' +\
 8975            'id: ' + repr(self.id) + ' ' +\
 8976            'name: ' + repr(self.name) + ' ' +\
 8977            'password: ' + repr(self.password) + ' ' +\
 8978            'port: ' + repr(self.port) + ' ' +\
 8979            'port_override: ' + repr(self.port_override) + ' ' +\
 8980            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8981            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8982            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8983            'tags: ' + repr(self.tags) + ' ' +\
 8984            'username: ' + repr(self.username) + ' ' +\
 8985            '>'
 8986
 8987    def to_dict(self):
 8988        return {
 8989            'bind_interface': self.bind_interface,
 8990            'database': self.database,
 8991            'egress_filter': self.egress_filter,
 8992            'healthy': self.healthy,
 8993            'hostname': self.hostname,
 8994            'id': self.id,
 8995            'name': self.name,
 8996            'password': self.password,
 8997            'port': self.port,
 8998            'port_override': self.port_override,
 8999            'proxy_cluster_id': self.proxy_cluster_id,
 9000            'secret_store_id': self.secret_store_id,
 9001            'subdomain': self.subdomain,
 9002            'tags': self.tags,
 9003            'username': self.username,
 9004        }
 9005
 9006    @classmethod
 9007    def from_dict(cls, d):
 9008        return cls(
 9009            bind_interface=d.get('bind_interface'),
 9010            database=d.get('database'),
 9011            egress_filter=d.get('egress_filter'),
 9012            healthy=d.get('healthy'),
 9013            hostname=d.get('hostname'),
 9014            id=d.get('id'),
 9015            name=d.get('name'),
 9016            password=d.get('password'),
 9017            port=d.get('port'),
 9018            port_override=d.get('port_override'),
 9019            proxy_cluster_id=d.get('proxy_cluster_id'),
 9020            secret_store_id=d.get('secret_store_id'),
 9021            subdomain=d.get('subdomain'),
 9022            tags=d.get('tags'),
 9023            username=d.get('username'),
 9024        )
 9025
 9026
 9027class DeleteResponseMetadata:
 9028    '''
 9029         DeleteResponseMetadata is reserved for future use.
 9030    '''
 9031    __slots__ = []
 9032
 9033    def __init__(self, ):
 9034        pass
 9035
 9036    def __repr__(self):
 9037        return '<sdm.DeleteResponseMetadata ' + \
 9038            '>'
 9039
 9040    def to_dict(self):
 9041        return {}
 9042
 9043    @classmethod
 9044    def from_dict(cls, d):
 9045        return cls()
 9046
 9047
 9048class DelineaStore:
 9049    __slots__ = [
 9050        'id',
 9051        'name',
 9052        'server_url',
 9053        'tags',
 9054        'tenant_name',
 9055    ]
 9056
 9057    def __init__(
 9058        self,
 9059        id=None,
 9060        name=None,
 9061        server_url=None,
 9062        tags=None,
 9063        tenant_name=None,
 9064    ):
 9065        self.id = id if id is not None else ''
 9066        '''
 9067         Unique identifier of the SecretStore.
 9068        '''
 9069        self.name = name if name is not None else ''
 9070        '''
 9071         Unique human-readable name of the SecretStore.
 9072        '''
 9073        self.server_url = server_url if server_url is not None else ''
 9074        '''
 9075         The URL of the Delinea instance
 9076        '''
 9077        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9078        '''
 9079         Tags is a map of key, value pairs.
 9080        '''
 9081        self.tenant_name = tenant_name if tenant_name is not None else ''
 9082        '''
 9083         The tenant name to target
 9084        '''
 9085
 9086    def __repr__(self):
 9087        return '<sdm.DelineaStore ' + \
 9088            'id: ' + repr(self.id) + ' ' +\
 9089            'name: ' + repr(self.name) + ' ' +\
 9090            'server_url: ' + repr(self.server_url) + ' ' +\
 9091            'tags: ' + repr(self.tags) + ' ' +\
 9092            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
 9093            '>'
 9094
 9095    def to_dict(self):
 9096        return {
 9097            'id': self.id,
 9098            'name': self.name,
 9099            'server_url': self.server_url,
 9100            'tags': self.tags,
 9101            'tenant_name': self.tenant_name,
 9102        }
 9103
 9104    @classmethod
 9105    def from_dict(cls, d):
 9106        return cls(
 9107            id=d.get('id'),
 9108            name=d.get('name'),
 9109            server_url=d.get('server_url'),
 9110            tags=d.get('tags'),
 9111            tenant_name=d.get('tenant_name'),
 9112        )
 9113
 9114
 9115class DocumentDBHost:
 9116    __slots__ = [
 9117        'auth_database',
 9118        'bind_interface',
 9119        'egress_filter',
 9120        'healthy',
 9121        'hostname',
 9122        'id',
 9123        'name',
 9124        'password',
 9125        'port',
 9126        'port_override',
 9127        'proxy_cluster_id',
 9128        'secret_store_id',
 9129        'subdomain',
 9130        'tags',
 9131        'username',
 9132    ]
 9133
 9134    def __init__(
 9135        self,
 9136        auth_database=None,
 9137        bind_interface=None,
 9138        egress_filter=None,
 9139        healthy=None,
 9140        hostname=None,
 9141        id=None,
 9142        name=None,
 9143        password=None,
 9144        port=None,
 9145        port_override=None,
 9146        proxy_cluster_id=None,
 9147        secret_store_id=None,
 9148        subdomain=None,
 9149        tags=None,
 9150        username=None,
 9151    ):
 9152        self.auth_database = auth_database if auth_database is not None else ''
 9153        '''
 9154         The authentication database to use.
 9155        '''
 9156        self.bind_interface = bind_interface if bind_interface is not None else ''
 9157        '''
 9158         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9159        '''
 9160        self.egress_filter = egress_filter if egress_filter is not None else ''
 9161        '''
 9162         A filter applied to the routing logic to pin datasource to nodes.
 9163        '''
 9164        self.healthy = healthy if healthy is not None else False
 9165        '''
 9166         True if the datasource is reachable and the credentials are valid.
 9167        '''
 9168        self.hostname = hostname if hostname is not None else ''
 9169        '''
 9170         The host to dial to initiate a connection from the egress node to this resource.
 9171        '''
 9172        self.id = id if id is not None else ''
 9173        '''
 9174         Unique identifier of the Resource.
 9175        '''
 9176        self.name = name if name is not None else ''
 9177        '''
 9178         Unique human-readable name of the Resource.
 9179        '''
 9180        self.password = password if password is not None else ''
 9181        '''
 9182         The password to authenticate with.
 9183        '''
 9184        self.port = port if port is not None else 0
 9185        '''
 9186         The port to dial to initiate a connection from the egress node to this resource.
 9187        '''
 9188        self.port_override = port_override if port_override is not None else 0
 9189        '''
 9190         The local port used by clients to connect to this resource.
 9191        '''
 9192        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9193        '''
 9194         ID of the proxy cluster for this resource, if any.
 9195        '''
 9196        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9197        '''
 9198         ID of the secret store containing credentials for this resource, if any.
 9199        '''
 9200        self.subdomain = subdomain if subdomain is not None else ''
 9201        '''
 9202         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9203        '''
 9204        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9205        '''
 9206         Tags is a map of key, value pairs.
 9207        '''
 9208        self.username = username if username is not None else ''
 9209        '''
 9210         The username to authenticate with.
 9211        '''
 9212
 9213    def __repr__(self):
 9214        return '<sdm.DocumentDBHost ' + \
 9215            'auth_database: ' + repr(self.auth_database) + ' ' +\
 9216            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9217            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9218            'healthy: ' + repr(self.healthy) + ' ' +\
 9219            'hostname: ' + repr(self.hostname) + ' ' +\
 9220            'id: ' + repr(self.id) + ' ' +\
 9221            'name: ' + repr(self.name) + ' ' +\
 9222            'password: ' + repr(self.password) + ' ' +\
 9223            'port: ' + repr(self.port) + ' ' +\
 9224            'port_override: ' + repr(self.port_override) + ' ' +\
 9225            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9226            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9227            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9228            'tags: ' + repr(self.tags) + ' ' +\
 9229            'username: ' + repr(self.username) + ' ' +\
 9230            '>'
 9231
 9232    def to_dict(self):
 9233        return {
 9234            'auth_database': self.auth_database,
 9235            'bind_interface': self.bind_interface,
 9236            'egress_filter': self.egress_filter,
 9237            'healthy': self.healthy,
 9238            'hostname': self.hostname,
 9239            'id': self.id,
 9240            'name': self.name,
 9241            'password': self.password,
 9242            'port': self.port,
 9243            'port_override': self.port_override,
 9244            'proxy_cluster_id': self.proxy_cluster_id,
 9245            'secret_store_id': self.secret_store_id,
 9246            'subdomain': self.subdomain,
 9247            'tags': self.tags,
 9248            'username': self.username,
 9249        }
 9250
 9251    @classmethod
 9252    def from_dict(cls, d):
 9253        return cls(
 9254            auth_database=d.get('auth_database'),
 9255            bind_interface=d.get('bind_interface'),
 9256            egress_filter=d.get('egress_filter'),
 9257            healthy=d.get('healthy'),
 9258            hostname=d.get('hostname'),
 9259            id=d.get('id'),
 9260            name=d.get('name'),
 9261            password=d.get('password'),
 9262            port=d.get('port'),
 9263            port_override=d.get('port_override'),
 9264            proxy_cluster_id=d.get('proxy_cluster_id'),
 9265            secret_store_id=d.get('secret_store_id'),
 9266            subdomain=d.get('subdomain'),
 9267            tags=d.get('tags'),
 9268            username=d.get('username'),
 9269        )
 9270
 9271
 9272class DocumentDBReplicaSet:
 9273    __slots__ = [
 9274        'auth_database',
 9275        'bind_interface',
 9276        'connect_to_replica',
 9277        'egress_filter',
 9278        'healthy',
 9279        'hostname',
 9280        'id',
 9281        'name',
 9282        'password',
 9283        'port_override',
 9284        'proxy_cluster_id',
 9285        'replica_set',
 9286        'secret_store_id',
 9287        'subdomain',
 9288        'tags',
 9289        'username',
 9290    ]
 9291
 9292    def __init__(
 9293        self,
 9294        auth_database=None,
 9295        bind_interface=None,
 9296        connect_to_replica=None,
 9297        egress_filter=None,
 9298        healthy=None,
 9299        hostname=None,
 9300        id=None,
 9301        name=None,
 9302        password=None,
 9303        port_override=None,
 9304        proxy_cluster_id=None,
 9305        replica_set=None,
 9306        secret_store_id=None,
 9307        subdomain=None,
 9308        tags=None,
 9309        username=None,
 9310    ):
 9311        self.auth_database = auth_database if auth_database is not None else ''
 9312        '''
 9313         The authentication database to use.
 9314        '''
 9315        self.bind_interface = bind_interface if bind_interface is not None else ''
 9316        '''
 9317         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9318        '''
 9319        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
 9320        '''
 9321         Set to connect to a replica instead of the primary node.
 9322        '''
 9323        self.egress_filter = egress_filter if egress_filter is not None else ''
 9324        '''
 9325         A filter applied to the routing logic to pin datasource to nodes.
 9326        '''
 9327        self.healthy = healthy if healthy is not None else False
 9328        '''
 9329         True if the datasource is reachable and the credentials are valid.
 9330        '''
 9331        self.hostname = hostname if hostname is not None else ''
 9332        '''
 9333         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
 9334        '''
 9335        self.id = id if id is not None else ''
 9336        '''
 9337         Unique identifier of the Resource.
 9338        '''
 9339        self.name = name if name is not None else ''
 9340        '''
 9341         Unique human-readable name of the Resource.
 9342        '''
 9343        self.password = password if password is not None else ''
 9344        '''
 9345         The password to authenticate with.
 9346        '''
 9347        self.port_override = port_override if port_override is not None else 0
 9348        '''
 9349         The local port used by clients to connect to this resource.
 9350        '''
 9351        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9352        '''
 9353         ID of the proxy cluster for this resource, if any.
 9354        '''
 9355        self.replica_set = replica_set if replica_set is not None else ''
 9356        '''
 9357         The name of the mongo replicaset.
 9358        '''
 9359        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9360        '''
 9361         ID of the secret store containing credentials for this resource, if any.
 9362        '''
 9363        self.subdomain = subdomain if subdomain is not None else ''
 9364        '''
 9365         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9366        '''
 9367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9368        '''
 9369         Tags is a map of key, value pairs.
 9370        '''
 9371        self.username = username if username is not None else ''
 9372        '''
 9373         The username to authenticate with.
 9374        '''
 9375
 9376    def __repr__(self):
 9377        return '<sdm.DocumentDBReplicaSet ' + \
 9378            'auth_database: ' + repr(self.auth_database) + ' ' +\
 9379            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9380            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
 9381            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9382            'healthy: ' + repr(self.healthy) + ' ' +\
 9383            'hostname: ' + repr(self.hostname) + ' ' +\
 9384            'id: ' + repr(self.id) + ' ' +\
 9385            'name: ' + repr(self.name) + ' ' +\
 9386            'password: ' + repr(self.password) + ' ' +\
 9387            'port_override: ' + repr(self.port_override) + ' ' +\
 9388            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9389            'replica_set: ' + repr(self.replica_set) + ' ' +\
 9390            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9391            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9392            'tags: ' + repr(self.tags) + ' ' +\
 9393            'username: ' + repr(self.username) + ' ' +\
 9394            '>'
 9395
 9396    def to_dict(self):
 9397        return {
 9398            'auth_database': self.auth_database,
 9399            'bind_interface': self.bind_interface,
 9400            'connect_to_replica': self.connect_to_replica,
 9401            'egress_filter': self.egress_filter,
 9402            'healthy': self.healthy,
 9403            'hostname': self.hostname,
 9404            'id': self.id,
 9405            'name': self.name,
 9406            'password': self.password,
 9407            'port_override': self.port_override,
 9408            'proxy_cluster_id': self.proxy_cluster_id,
 9409            'replica_set': self.replica_set,
 9410            'secret_store_id': self.secret_store_id,
 9411            'subdomain': self.subdomain,
 9412            'tags': self.tags,
 9413            'username': self.username,
 9414        }
 9415
 9416    @classmethod
 9417    def from_dict(cls, d):
 9418        return cls(
 9419            auth_database=d.get('auth_database'),
 9420            bind_interface=d.get('bind_interface'),
 9421            connect_to_replica=d.get('connect_to_replica'),
 9422            egress_filter=d.get('egress_filter'),
 9423            healthy=d.get('healthy'),
 9424            hostname=d.get('hostname'),
 9425            id=d.get('id'),
 9426            name=d.get('name'),
 9427            password=d.get('password'),
 9428            port_override=d.get('port_override'),
 9429            proxy_cluster_id=d.get('proxy_cluster_id'),
 9430            replica_set=d.get('replica_set'),
 9431            secret_store_id=d.get('secret_store_id'),
 9432            subdomain=d.get('subdomain'),
 9433            tags=d.get('tags'),
 9434            username=d.get('username'),
 9435        )
 9436
 9437
 9438class Druid:
 9439    __slots__ = [
 9440        'bind_interface',
 9441        'egress_filter',
 9442        'healthy',
 9443        'hostname',
 9444        'id',
 9445        'name',
 9446        'password',
 9447        'port',
 9448        'port_override',
 9449        'proxy_cluster_id',
 9450        'secret_store_id',
 9451        'subdomain',
 9452        'tags',
 9453        'username',
 9454    ]
 9455
 9456    def __init__(
 9457        self,
 9458        bind_interface=None,
 9459        egress_filter=None,
 9460        healthy=None,
 9461        hostname=None,
 9462        id=None,
 9463        name=None,
 9464        password=None,
 9465        port=None,
 9466        port_override=None,
 9467        proxy_cluster_id=None,
 9468        secret_store_id=None,
 9469        subdomain=None,
 9470        tags=None,
 9471        username=None,
 9472    ):
 9473        self.bind_interface = bind_interface if bind_interface is not None else ''
 9474        '''
 9475         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9476        '''
 9477        self.egress_filter = egress_filter if egress_filter is not None else ''
 9478        '''
 9479         A filter applied to the routing logic to pin datasource to nodes.
 9480        '''
 9481        self.healthy = healthy if healthy is not None else False
 9482        '''
 9483         True if the datasource is reachable and the credentials are valid.
 9484        '''
 9485        self.hostname = hostname if hostname is not None else ''
 9486        '''
 9487         The host to dial to initiate a connection from the egress node to this resource.
 9488        '''
 9489        self.id = id if id is not None else ''
 9490        '''
 9491         Unique identifier of the Resource.
 9492        '''
 9493        self.name = name if name is not None else ''
 9494        '''
 9495         Unique human-readable name of the Resource.
 9496        '''
 9497        self.password = password if password is not None else ''
 9498        '''
 9499         The password to authenticate with.
 9500        '''
 9501        self.port = port if port is not None else 0
 9502        '''
 9503         The port to dial to initiate a connection from the egress node to this resource.
 9504        '''
 9505        self.port_override = port_override if port_override is not None else 0
 9506        '''
 9507         The local port used by clients to connect to this resource.
 9508        '''
 9509        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9510        '''
 9511         ID of the proxy cluster for this resource, if any.
 9512        '''
 9513        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9514        '''
 9515         ID of the secret store containing credentials for this resource, if any.
 9516        '''
 9517        self.subdomain = subdomain if subdomain is not None else ''
 9518        '''
 9519         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9520        '''
 9521        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9522        '''
 9523         Tags is a map of key, value pairs.
 9524        '''
 9525        self.username = username if username is not None else ''
 9526        '''
 9527         The username to authenticate with.
 9528        '''
 9529
 9530    def __repr__(self):
 9531        return '<sdm.Druid ' + \
 9532            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9533            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9534            'healthy: ' + repr(self.healthy) + ' ' +\
 9535            'hostname: ' + repr(self.hostname) + ' ' +\
 9536            'id: ' + repr(self.id) + ' ' +\
 9537            'name: ' + repr(self.name) + ' ' +\
 9538            'password: ' + repr(self.password) + ' ' +\
 9539            'port: ' + repr(self.port) + ' ' +\
 9540            'port_override: ' + repr(self.port_override) + ' ' +\
 9541            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9542            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9543            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9544            'tags: ' + repr(self.tags) + ' ' +\
 9545            'username: ' + repr(self.username) + ' ' +\
 9546            '>'
 9547
 9548    def to_dict(self):
 9549        return {
 9550            'bind_interface': self.bind_interface,
 9551            'egress_filter': self.egress_filter,
 9552            'healthy': self.healthy,
 9553            'hostname': self.hostname,
 9554            'id': self.id,
 9555            'name': self.name,
 9556            'password': self.password,
 9557            'port': self.port,
 9558            'port_override': self.port_override,
 9559            'proxy_cluster_id': self.proxy_cluster_id,
 9560            'secret_store_id': self.secret_store_id,
 9561            'subdomain': self.subdomain,
 9562            'tags': self.tags,
 9563            'username': self.username,
 9564        }
 9565
 9566    @classmethod
 9567    def from_dict(cls, d):
 9568        return cls(
 9569            bind_interface=d.get('bind_interface'),
 9570            egress_filter=d.get('egress_filter'),
 9571            healthy=d.get('healthy'),
 9572            hostname=d.get('hostname'),
 9573            id=d.get('id'),
 9574            name=d.get('name'),
 9575            password=d.get('password'),
 9576            port=d.get('port'),
 9577            port_override=d.get('port_override'),
 9578            proxy_cluster_id=d.get('proxy_cluster_id'),
 9579            secret_store_id=d.get('secret_store_id'),
 9580            subdomain=d.get('subdomain'),
 9581            tags=d.get('tags'),
 9582            username=d.get('username'),
 9583        )
 9584
 9585
 9586class DynamoDB:
 9587    __slots__ = [
 9588        'access_key',
 9589        'bind_interface',
 9590        'egress_filter',
 9591        'endpoint',
 9592        'healthy',
 9593        'id',
 9594        'name',
 9595        'port_override',
 9596        'proxy_cluster_id',
 9597        'region',
 9598        'role_arn',
 9599        'role_external_id',
 9600        'secret_access_key',
 9601        'secret_store_id',
 9602        'subdomain',
 9603        'tags',
 9604    ]
 9605
 9606    def __init__(
 9607        self,
 9608        access_key=None,
 9609        bind_interface=None,
 9610        egress_filter=None,
 9611        endpoint=None,
 9612        healthy=None,
 9613        id=None,
 9614        name=None,
 9615        port_override=None,
 9616        proxy_cluster_id=None,
 9617        region=None,
 9618        role_arn=None,
 9619        role_external_id=None,
 9620        secret_access_key=None,
 9621        secret_store_id=None,
 9622        subdomain=None,
 9623        tags=None,
 9624    ):
 9625        self.access_key = access_key if access_key is not None else ''
 9626        '''
 9627         The Access Key ID to use to authenticate.
 9628        '''
 9629        self.bind_interface = bind_interface if bind_interface is not None else ''
 9630        '''
 9631         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9632        '''
 9633        self.egress_filter = egress_filter if egress_filter is not None else ''
 9634        '''
 9635         A filter applied to the routing logic to pin datasource to nodes.
 9636        '''
 9637        self.endpoint = endpoint if endpoint is not None else ''
 9638        '''
 9639         The endpoint to dial e.g. dynamodb.region.amazonaws.com
 9640        '''
 9641        self.healthy = healthy if healthy is not None else False
 9642        '''
 9643         True if the datasource is reachable and the credentials are valid.
 9644        '''
 9645        self.id = id if id is not None else ''
 9646        '''
 9647         Unique identifier of the Resource.
 9648        '''
 9649        self.name = name if name is not None else ''
 9650        '''
 9651         Unique human-readable name of the Resource.
 9652        '''
 9653        self.port_override = port_override if port_override is not None else 0
 9654        '''
 9655         The local port used by clients to connect to this resource.
 9656        '''
 9657        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9658        '''
 9659         ID of the proxy cluster for this resource, if any.
 9660        '''
 9661        self.region = region if region is not None else ''
 9662        '''
 9663         The region to authenticate requests against e.g. us-east-1
 9664        '''
 9665        self.role_arn = role_arn if role_arn is not None else ''
 9666        '''
 9667         The role to assume after logging in.
 9668        '''
 9669        self.role_external_id = role_external_id if role_external_id is not None else ''
 9670        '''
 9671         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 9672        '''
 9673        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 9674        '''
 9675         The Secret Access Key to use to authenticate.
 9676        '''
 9677        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9678        '''
 9679         ID of the secret store containing credentials for this resource, if any.
 9680        '''
 9681        self.subdomain = subdomain if subdomain is not None else ''
 9682        '''
 9683         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9684        '''
 9685        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9686        '''
 9687         Tags is a map of key, value pairs.
 9688        '''
 9689
 9690    def __repr__(self):
 9691        return '<sdm.DynamoDB ' + \
 9692            'access_key: ' + repr(self.access_key) + ' ' +\
 9693            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9694            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9695            'endpoint: ' + repr(self.endpoint) + ' ' +\
 9696            'healthy: ' + repr(self.healthy) + ' ' +\
 9697            'id: ' + repr(self.id) + ' ' +\
 9698            'name: ' + repr(self.name) + ' ' +\
 9699            'port_override: ' + repr(self.port_override) + ' ' +\
 9700            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9701            'region: ' + repr(self.region) + ' ' +\
 9702            'role_arn: ' + repr(self.role_arn) + ' ' +\
 9703            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 9704            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 9705            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9706            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9707            'tags: ' + repr(self.tags) + ' ' +\
 9708            '>'
 9709
 9710    def to_dict(self):
 9711        return {
 9712            'access_key': self.access_key,
 9713            'bind_interface': self.bind_interface,
 9714            'egress_filter': self.egress_filter,
 9715            'endpoint': self.endpoint,
 9716            'healthy': self.healthy,
 9717            'id': self.id,
 9718            'name': self.name,
 9719            'port_override': self.port_override,
 9720            'proxy_cluster_id': self.proxy_cluster_id,
 9721            'region': self.region,
 9722            'role_arn': self.role_arn,
 9723            'role_external_id': self.role_external_id,
 9724            'secret_access_key': self.secret_access_key,
 9725            'secret_store_id': self.secret_store_id,
 9726            'subdomain': self.subdomain,
 9727            'tags': self.tags,
 9728        }
 9729
 9730    @classmethod
 9731    def from_dict(cls, d):
 9732        return cls(
 9733            access_key=d.get('access_key'),
 9734            bind_interface=d.get('bind_interface'),
 9735            egress_filter=d.get('egress_filter'),
 9736            endpoint=d.get('endpoint'),
 9737            healthy=d.get('healthy'),
 9738            id=d.get('id'),
 9739            name=d.get('name'),
 9740            port_override=d.get('port_override'),
 9741            proxy_cluster_id=d.get('proxy_cluster_id'),
 9742            region=d.get('region'),
 9743            role_arn=d.get('role_arn'),
 9744            role_external_id=d.get('role_external_id'),
 9745            secret_access_key=d.get('secret_access_key'),
 9746            secret_store_id=d.get('secret_store_id'),
 9747            subdomain=d.get('subdomain'),
 9748            tags=d.get('tags'),
 9749        )
 9750
 9751
 9752class Elastic:
 9753    __slots__ = [
 9754        'bind_interface',
 9755        'egress_filter',
 9756        'healthy',
 9757        'hostname',
 9758        'id',
 9759        'name',
 9760        'password',
 9761        'port',
 9762        'port_override',
 9763        'proxy_cluster_id',
 9764        'secret_store_id',
 9765        'subdomain',
 9766        'tags',
 9767        'tls_required',
 9768        'username',
 9769    ]
 9770
 9771    def __init__(
 9772        self,
 9773        bind_interface=None,
 9774        egress_filter=None,
 9775        healthy=None,
 9776        hostname=None,
 9777        id=None,
 9778        name=None,
 9779        password=None,
 9780        port=None,
 9781        port_override=None,
 9782        proxy_cluster_id=None,
 9783        secret_store_id=None,
 9784        subdomain=None,
 9785        tags=None,
 9786        tls_required=None,
 9787        username=None,
 9788    ):
 9789        self.bind_interface = bind_interface if bind_interface is not None else ''
 9790        '''
 9791         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9792        '''
 9793        self.egress_filter = egress_filter if egress_filter is not None else ''
 9794        '''
 9795         A filter applied to the routing logic to pin datasource to nodes.
 9796        '''
 9797        self.healthy = healthy if healthy is not None else False
 9798        '''
 9799         True if the datasource is reachable and the credentials are valid.
 9800        '''
 9801        self.hostname = hostname if hostname is not None else ''
 9802        '''
 9803         The host to dial to initiate a connection from the egress node to this resource.
 9804        '''
 9805        self.id = id if id is not None else ''
 9806        '''
 9807         Unique identifier of the Resource.
 9808        '''
 9809        self.name = name if name is not None else ''
 9810        '''
 9811         Unique human-readable name of the Resource.
 9812        '''
 9813        self.password = password if password is not None else ''
 9814        '''
 9815         The password to authenticate with.
 9816        '''
 9817        self.port = port if port is not None else 0
 9818        '''
 9819         The port to dial to initiate a connection from the egress node to this resource.
 9820        '''
 9821        self.port_override = port_override if port_override is not None else 0
 9822        '''
 9823         The local port used by clients to connect to this resource.
 9824        '''
 9825        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9826        '''
 9827         ID of the proxy cluster for this resource, if any.
 9828        '''
 9829        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9830        '''
 9831         ID of the secret store containing credentials for this resource, if any.
 9832        '''
 9833        self.subdomain = subdomain if subdomain is not None else ''
 9834        '''
 9835         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9836        '''
 9837        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9838        '''
 9839         Tags is a map of key, value pairs.
 9840        '''
 9841        self.tls_required = tls_required if tls_required is not None else False
 9842        '''
 9843         If set, TLS must be used to connect to this resource.
 9844        '''
 9845        self.username = username if username is not None else ''
 9846        '''
 9847         The username to authenticate with.
 9848        '''
 9849
 9850    def __repr__(self):
 9851        return '<sdm.Elastic ' + \
 9852            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9853            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9854            'healthy: ' + repr(self.healthy) + ' ' +\
 9855            'hostname: ' + repr(self.hostname) + ' ' +\
 9856            'id: ' + repr(self.id) + ' ' +\
 9857            'name: ' + repr(self.name) + ' ' +\
 9858            'password: ' + repr(self.password) + ' ' +\
 9859            'port: ' + repr(self.port) + ' ' +\
 9860            'port_override: ' + repr(self.port_override) + ' ' +\
 9861            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9862            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9863            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9864            'tags: ' + repr(self.tags) + ' ' +\
 9865            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9866            'username: ' + repr(self.username) + ' ' +\
 9867            '>'
 9868
 9869    def to_dict(self):
 9870        return {
 9871            'bind_interface': self.bind_interface,
 9872            'egress_filter': self.egress_filter,
 9873            'healthy': self.healthy,
 9874            'hostname': self.hostname,
 9875            'id': self.id,
 9876            'name': self.name,
 9877            'password': self.password,
 9878            'port': self.port,
 9879            'port_override': self.port_override,
 9880            'proxy_cluster_id': self.proxy_cluster_id,
 9881            'secret_store_id': self.secret_store_id,
 9882            'subdomain': self.subdomain,
 9883            'tags': self.tags,
 9884            'tls_required': self.tls_required,
 9885            'username': self.username,
 9886        }
 9887
 9888    @classmethod
 9889    def from_dict(cls, d):
 9890        return cls(
 9891            bind_interface=d.get('bind_interface'),
 9892            egress_filter=d.get('egress_filter'),
 9893            healthy=d.get('healthy'),
 9894            hostname=d.get('hostname'),
 9895            id=d.get('id'),
 9896            name=d.get('name'),
 9897            password=d.get('password'),
 9898            port=d.get('port'),
 9899            port_override=d.get('port_override'),
 9900            proxy_cluster_id=d.get('proxy_cluster_id'),
 9901            secret_store_id=d.get('secret_store_id'),
 9902            subdomain=d.get('subdomain'),
 9903            tags=d.get('tags'),
 9904            tls_required=d.get('tls_required'),
 9905            username=d.get('username'),
 9906        )
 9907
 9908
 9909class ElasticacheRedis:
 9910    __slots__ = [
 9911        'bind_interface',
 9912        'egress_filter',
 9913        'healthy',
 9914        'hostname',
 9915        'id',
 9916        'name',
 9917        'password',
 9918        'port',
 9919        'port_override',
 9920        'proxy_cluster_id',
 9921        'secret_store_id',
 9922        'subdomain',
 9923        'tags',
 9924        'tls_required',
 9925        'username',
 9926    ]
 9927
 9928    def __init__(
 9929        self,
 9930        bind_interface=None,
 9931        egress_filter=None,
 9932        healthy=None,
 9933        hostname=None,
 9934        id=None,
 9935        name=None,
 9936        password=None,
 9937        port=None,
 9938        port_override=None,
 9939        proxy_cluster_id=None,
 9940        secret_store_id=None,
 9941        subdomain=None,
 9942        tags=None,
 9943        tls_required=None,
 9944        username=None,
 9945    ):
 9946        self.bind_interface = bind_interface if bind_interface is not None else ''
 9947        '''
 9948         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9949        '''
 9950        self.egress_filter = egress_filter if egress_filter is not None else ''
 9951        '''
 9952         A filter applied to the routing logic to pin datasource to nodes.
 9953        '''
 9954        self.healthy = healthy if healthy is not None else False
 9955        '''
 9956         True if the datasource is reachable and the credentials are valid.
 9957        '''
 9958        self.hostname = hostname if hostname is not None else ''
 9959        '''
 9960         The host to dial to initiate a connection from the egress node to this resource.
 9961        '''
 9962        self.id = id if id is not None else ''
 9963        '''
 9964         Unique identifier of the Resource.
 9965        '''
 9966        self.name = name if name is not None else ''
 9967        '''
 9968         Unique human-readable name of the Resource.
 9969        '''
 9970        self.password = password if password is not None else ''
 9971        '''
 9972         The password to authenticate with.
 9973        '''
 9974        self.port = port if port is not None else 0
 9975        '''
 9976         The port to dial to initiate a connection from the egress node to this resource.
 9977        '''
 9978        self.port_override = port_override if port_override is not None else 0
 9979        '''
 9980         The local port used by clients to connect to this resource.
 9981        '''
 9982        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9983        '''
 9984         ID of the proxy cluster for this resource, if any.
 9985        '''
 9986        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9987        '''
 9988         ID of the secret store containing credentials for this resource, if any.
 9989        '''
 9990        self.subdomain = subdomain if subdomain is not None else ''
 9991        '''
 9992         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9993        '''
 9994        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9995        '''
 9996         Tags is a map of key, value pairs.
 9997        '''
 9998        self.tls_required = tls_required if tls_required is not None else False
 9999        '''
10000         If set, TLS must be used to connect to this resource.
10001        '''
10002        self.username = username if username is not None else ''
10003        '''
10004         The username to authenticate with.
10005        '''
10006
10007    def __repr__(self):
10008        return '<sdm.ElasticacheRedis ' + \
10009            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10011            'healthy: ' + repr(self.healthy) + ' ' +\
10012            'hostname: ' + repr(self.hostname) + ' ' +\
10013            'id: ' + repr(self.id) + ' ' +\
10014            'name: ' + repr(self.name) + ' ' +\
10015            'password: ' + repr(self.password) + ' ' +\
10016            'port: ' + repr(self.port) + ' ' +\
10017            'port_override: ' + repr(self.port_override) + ' ' +\
10018            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10019            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10020            'subdomain: ' + repr(self.subdomain) + ' ' +\
10021            'tags: ' + repr(self.tags) + ' ' +\
10022            'tls_required: ' + repr(self.tls_required) + ' ' +\
10023            'username: ' + repr(self.username) + ' ' +\
10024            '>'
10025
10026    def to_dict(self):
10027        return {
10028            'bind_interface': self.bind_interface,
10029            'egress_filter': self.egress_filter,
10030            'healthy': self.healthy,
10031            'hostname': self.hostname,
10032            'id': self.id,
10033            'name': self.name,
10034            'password': self.password,
10035            'port': self.port,
10036            'port_override': self.port_override,
10037            'proxy_cluster_id': self.proxy_cluster_id,
10038            'secret_store_id': self.secret_store_id,
10039            'subdomain': self.subdomain,
10040            'tags': self.tags,
10041            'tls_required': self.tls_required,
10042            'username': self.username,
10043        }
10044
10045    @classmethod
10046    def from_dict(cls, d):
10047        return cls(
10048            bind_interface=d.get('bind_interface'),
10049            egress_filter=d.get('egress_filter'),
10050            healthy=d.get('healthy'),
10051            hostname=d.get('hostname'),
10052            id=d.get('id'),
10053            name=d.get('name'),
10054            password=d.get('password'),
10055            port=d.get('port'),
10056            port_override=d.get('port_override'),
10057            proxy_cluster_id=d.get('proxy_cluster_id'),
10058            secret_store_id=d.get('secret_store_id'),
10059            subdomain=d.get('subdomain'),
10060            tags=d.get('tags'),
10061            tls_required=d.get('tls_required'),
10062            username=d.get('username'),
10063        )
10064
10065
10066class GCP:
10067    __slots__ = [
10068        'bind_interface',
10069        'egress_filter',
10070        'healthy',
10071        'id',
10072        'keyfile',
10073        'name',
10074        'port_override',
10075        'proxy_cluster_id',
10076        'scopes',
10077        'secret_store_id',
10078        'subdomain',
10079        'tags',
10080    ]
10081
10082    def __init__(
10083        self,
10084        bind_interface=None,
10085        egress_filter=None,
10086        healthy=None,
10087        id=None,
10088        keyfile=None,
10089        name=None,
10090        port_override=None,
10091        proxy_cluster_id=None,
10092        scopes=None,
10093        secret_store_id=None,
10094        subdomain=None,
10095        tags=None,
10096    ):
10097        self.bind_interface = bind_interface if bind_interface is not None else ''
10098        '''
10099         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10100        '''
10101        self.egress_filter = egress_filter if egress_filter is not None else ''
10102        '''
10103         A filter applied to the routing logic to pin datasource to nodes.
10104        '''
10105        self.healthy = healthy if healthy is not None else False
10106        '''
10107         True if the datasource is reachable and the credentials are valid.
10108        '''
10109        self.id = id if id is not None else ''
10110        '''
10111         Unique identifier of the Resource.
10112        '''
10113        self.keyfile = keyfile if keyfile is not None else ''
10114        '''
10115         The service account keyfile to authenticate with.
10116        '''
10117        self.name = name if name is not None else ''
10118        '''
10119         Unique human-readable name of the Resource.
10120        '''
10121        self.port_override = port_override if port_override is not None else 0
10122        '''
10123         The local port used by clients to connect to this resource.
10124        '''
10125        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10126        '''
10127         ID of the proxy cluster for this resource, if any.
10128        '''
10129        self.scopes = scopes if scopes is not None else ''
10130        '''
10131         Space separated scopes that this login should assume into when authenticating.
10132        '''
10133        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10134        '''
10135         ID of the secret store containing credentials for this resource, if any.
10136        '''
10137        self.subdomain = subdomain if subdomain is not None else ''
10138        '''
10139         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10140        '''
10141        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10142        '''
10143         Tags is a map of key, value pairs.
10144        '''
10145
10146    def __repr__(self):
10147        return '<sdm.GCP ' + \
10148            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10149            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10150            'healthy: ' + repr(self.healthy) + ' ' +\
10151            'id: ' + repr(self.id) + ' ' +\
10152            'keyfile: ' + repr(self.keyfile) + ' ' +\
10153            'name: ' + repr(self.name) + ' ' +\
10154            'port_override: ' + repr(self.port_override) + ' ' +\
10155            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10156            'scopes: ' + repr(self.scopes) + ' ' +\
10157            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10158            'subdomain: ' + repr(self.subdomain) + ' ' +\
10159            'tags: ' + repr(self.tags) + ' ' +\
10160            '>'
10161
10162    def to_dict(self):
10163        return {
10164            'bind_interface': self.bind_interface,
10165            'egress_filter': self.egress_filter,
10166            'healthy': self.healthy,
10167            'id': self.id,
10168            'keyfile': self.keyfile,
10169            'name': self.name,
10170            'port_override': self.port_override,
10171            'proxy_cluster_id': self.proxy_cluster_id,
10172            'scopes': self.scopes,
10173            'secret_store_id': self.secret_store_id,
10174            'subdomain': self.subdomain,
10175            'tags': self.tags,
10176        }
10177
10178    @classmethod
10179    def from_dict(cls, d):
10180        return cls(
10181            bind_interface=d.get('bind_interface'),
10182            egress_filter=d.get('egress_filter'),
10183            healthy=d.get('healthy'),
10184            id=d.get('id'),
10185            keyfile=d.get('keyfile'),
10186            name=d.get('name'),
10187            port_override=d.get('port_override'),
10188            proxy_cluster_id=d.get('proxy_cluster_id'),
10189            scopes=d.get('scopes'),
10190            secret_store_id=d.get('secret_store_id'),
10191            subdomain=d.get('subdomain'),
10192            tags=d.get('tags'),
10193        )
10194
10195
10196class GCPCertX509Store:
10197    __slots__ = [
10198        'caid',
10199        'capoolid',
10200        'id',
10201        'issuedcertttlminutes',
10202        'location',
10203        'name',
10204        'projectid',
10205        'tags',
10206    ]
10207
10208    def __init__(
10209        self,
10210        caid=None,
10211        capoolid=None,
10212        id=None,
10213        issuedcertttlminutes=None,
10214        location=None,
10215        name=None,
10216        projectid=None,
10217        tags=None,
10218    ):
10219        self.caid = caid if caid is not None else ''
10220        '''
10221         The ID of the target CA
10222        '''
10223        self.capoolid = capoolid if capoolid is not None else ''
10224        '''
10225         The ID of the target CA pool
10226        '''
10227        self.id = id if id is not None else ''
10228        '''
10229         Unique identifier of the SecretStore.
10230        '''
10231        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
10232        '''
10233         The lifetime of certificates issued by this CA represented in minutes.
10234        '''
10235        self.location = location if location is not None else ''
10236        '''
10237         The Region for the CA in GCP format e.g. us-west1
10238        '''
10239        self.name = name if name is not None else ''
10240        '''
10241         Unique human-readable name of the SecretStore.
10242        '''
10243        self.projectid = projectid if projectid is not None else ''
10244        '''
10245         The GCP project ID to target.
10246        '''
10247        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10248        '''
10249         Tags is a map of key, value pairs.
10250        '''
10251
10252    def __repr__(self):
10253        return '<sdm.GCPCertX509Store ' + \
10254            'caid: ' + repr(self.caid) + ' ' +\
10255            'capoolid: ' + repr(self.capoolid) + ' ' +\
10256            'id: ' + repr(self.id) + ' ' +\
10257            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
10258            'location: ' + repr(self.location) + ' ' +\
10259            'name: ' + repr(self.name) + ' ' +\
10260            'projectid: ' + repr(self.projectid) + ' ' +\
10261            'tags: ' + repr(self.tags) + ' ' +\
10262            '>'
10263
10264    def to_dict(self):
10265        return {
10266            'caid': self.caid,
10267            'capoolid': self.capoolid,
10268            'id': self.id,
10269            'issuedcertttlminutes': self.issuedcertttlminutes,
10270            'location': self.location,
10271            'name': self.name,
10272            'projectid': self.projectid,
10273            'tags': self.tags,
10274        }
10275
10276    @classmethod
10277    def from_dict(cls, d):
10278        return cls(
10279            caid=d.get('caid'),
10280            capoolid=d.get('capoolid'),
10281            id=d.get('id'),
10282            issuedcertttlminutes=d.get('issuedcertttlminutes'),
10283            location=d.get('location'),
10284            name=d.get('name'),
10285            projectid=d.get('projectid'),
10286            tags=d.get('tags'),
10287        )
10288
10289
10290class GCPConsole:
10291    '''
10292    GCPConsole is currently unstable, and its API may change, or it may be removed,
10293    without a major version bump.
10294    '''
10295    __slots__ = [
10296        'bind_interface',
10297        'egress_filter',
10298        'healthy',
10299        'id',
10300        'identity_alias_healthcheck_username',
10301        'identity_set_id',
10302        'name',
10303        'port_override',
10304        'proxy_cluster_id',
10305        'secret_store_id',
10306        'session_expiry',
10307        'subdomain',
10308        'tags',
10309        'workforce_pool_id',
10310        'workforce_provider_id',
10311    ]
10312
10313    def __init__(
10314        self,
10315        bind_interface=None,
10316        egress_filter=None,
10317        healthy=None,
10318        id=None,
10319        identity_alias_healthcheck_username=None,
10320        identity_set_id=None,
10321        name=None,
10322        port_override=None,
10323        proxy_cluster_id=None,
10324        secret_store_id=None,
10325        session_expiry=None,
10326        subdomain=None,
10327        tags=None,
10328        workforce_pool_id=None,
10329        workforce_provider_id=None,
10330    ):
10331        self.bind_interface = bind_interface if bind_interface is not None else ''
10332        '''
10333         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10334        '''
10335        self.egress_filter = egress_filter if egress_filter is not None else ''
10336        '''
10337         A filter applied to the routing logic to pin datasource to nodes.
10338        '''
10339        self.healthy = healthy if healthy is not None else False
10340        '''
10341         True if the datasource is reachable and the credentials are valid.
10342        '''
10343        self.id = id if id is not None else ''
10344        '''
10345         Unique identifier of the Resource.
10346        '''
10347        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10348        '''
10349         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10350        '''
10351        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10352        '''
10353         The ID of the identity set to use for identity connections.
10354        '''
10355        self.name = name if name is not None else ''
10356        '''
10357         Unique human-readable name of the Resource.
10358        '''
10359        self.port_override = port_override if port_override is not None else 0
10360        '''
10361         The local port used by clients to connect to this resource.
10362        '''
10363        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10364        '''
10365         ID of the proxy cluster for this resource, if any.
10366        '''
10367        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10368        '''
10369         ID of the secret store containing credentials for this resource, if any.
10370        '''
10371        self.session_expiry = session_expiry if session_expiry is not None else 0
10372        '''
10373         The length of time in seconds console sessions will live before needing to reauthenticate.
10374        '''
10375        self.subdomain = subdomain if subdomain is not None else ''
10376        '''
10377         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10378        '''
10379        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10380        '''
10381         Tags is a map of key, value pairs.
10382        '''
10383        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10384        '''
10385         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10386        '''
10387        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10388        '''
10389         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
10390        '''
10391
10392    def __repr__(self):
10393        return '<sdm.GCPConsole ' + \
10394            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10395            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10396            'healthy: ' + repr(self.healthy) + ' ' +\
10397            'id: ' + repr(self.id) + ' ' +\
10398            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
10399            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
10400            'name: ' + repr(self.name) + ' ' +\
10401            'port_override: ' + repr(self.port_override) + ' ' +\
10402            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10403            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10404            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
10405            'subdomain: ' + repr(self.subdomain) + ' ' +\
10406            'tags: ' + repr(self.tags) + ' ' +\
10407            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
10408            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
10409            '>'
10410
10411    def to_dict(self):
10412        return {
10413            'bind_interface': self.bind_interface,
10414            'egress_filter': self.egress_filter,
10415            'healthy': self.healthy,
10416            'id': self.id,
10417            'identity_alias_healthcheck_username':
10418            self.identity_alias_healthcheck_username,
10419            'identity_set_id': self.identity_set_id,
10420            'name': self.name,
10421            'port_override': self.port_override,
10422            'proxy_cluster_id': self.proxy_cluster_id,
10423            'secret_store_id': self.secret_store_id,
10424            'session_expiry': self.session_expiry,
10425            'subdomain': self.subdomain,
10426            'tags': self.tags,
10427            'workforce_pool_id': self.workforce_pool_id,
10428            'workforce_provider_id': self.workforce_provider_id,
10429        }
10430
10431    @classmethod
10432    def from_dict(cls, d):
10433        return cls(
10434            bind_interface=d.get('bind_interface'),
10435            egress_filter=d.get('egress_filter'),
10436            healthy=d.get('healthy'),
10437            id=d.get('id'),
10438            identity_alias_healthcheck_username=d.get(
10439                'identity_alias_healthcheck_username'),
10440            identity_set_id=d.get('identity_set_id'),
10441            name=d.get('name'),
10442            port_override=d.get('port_override'),
10443            proxy_cluster_id=d.get('proxy_cluster_id'),
10444            secret_store_id=d.get('secret_store_id'),
10445            session_expiry=d.get('session_expiry'),
10446            subdomain=d.get('subdomain'),
10447            tags=d.get('tags'),
10448            workforce_pool_id=d.get('workforce_pool_id'),
10449            workforce_provider_id=d.get('workforce_provider_id'),
10450        )
10451
10452
10453class GCPStore:
10454    __slots__ = [
10455        'id',
10456        'name',
10457        'projectid',
10458        'tags',
10459    ]
10460
10461    def __init__(
10462        self,
10463        id=None,
10464        name=None,
10465        projectid=None,
10466        tags=None,
10467    ):
10468        self.id = id if id is not None else ''
10469        '''
10470         Unique identifier of the SecretStore.
10471        '''
10472        self.name = name if name is not None else ''
10473        '''
10474         Unique human-readable name of the SecretStore.
10475        '''
10476        self.projectid = projectid if projectid is not None else ''
10477        '''
10478         The GCP project ID to target.
10479        '''
10480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10481        '''
10482         Tags is a map of key, value pairs.
10483        '''
10484
10485    def __repr__(self):
10486        return '<sdm.GCPStore ' + \
10487            'id: ' + repr(self.id) + ' ' +\
10488            'name: ' + repr(self.name) + ' ' +\
10489            'projectid: ' + repr(self.projectid) + ' ' +\
10490            'tags: ' + repr(self.tags) + ' ' +\
10491            '>'
10492
10493    def to_dict(self):
10494        return {
10495            'id': self.id,
10496            'name': self.name,
10497            'projectid': self.projectid,
10498            'tags': self.tags,
10499        }
10500
10501    @classmethod
10502    def from_dict(cls, d):
10503        return cls(
10504            id=d.get('id'),
10505            name=d.get('name'),
10506            projectid=d.get('projectid'),
10507            tags=d.get('tags'),
10508        )
10509
10510
10511class GCPWIF:
10512    '''
10513    GCPWIF is currently unstable, and its API may change, or it may be removed,
10514    without a major version bump.
10515    '''
10516    __slots__ = [
10517        'bind_interface',
10518        'egress_filter',
10519        'healthy',
10520        'id',
10521        'identity_alias_healthcheck_username',
10522        'identity_set_id',
10523        'name',
10524        'port_override',
10525        'project_id',
10526        'proxy_cluster_id',
10527        'scopes',
10528        'secret_store_id',
10529        'session_expiry',
10530        'subdomain',
10531        'tags',
10532        'workforce_pool_id',
10533        'workforce_provider_id',
10534    ]
10535
10536    def __init__(
10537        self,
10538        bind_interface=None,
10539        egress_filter=None,
10540        healthy=None,
10541        id=None,
10542        identity_alias_healthcheck_username=None,
10543        identity_set_id=None,
10544        name=None,
10545        port_override=None,
10546        project_id=None,
10547        proxy_cluster_id=None,
10548        scopes=None,
10549        secret_store_id=None,
10550        session_expiry=None,
10551        subdomain=None,
10552        tags=None,
10553        workforce_pool_id=None,
10554        workforce_provider_id=None,
10555    ):
10556        self.bind_interface = bind_interface if bind_interface is not None else ''
10557        '''
10558         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10559        '''
10560        self.egress_filter = egress_filter if egress_filter is not None else ''
10561        '''
10562         A filter applied to the routing logic to pin datasource to nodes.
10563        '''
10564        self.healthy = healthy if healthy is not None else False
10565        '''
10566         True if the datasource is reachable and the credentials are valid.
10567        '''
10568        self.id = id if id is not None else ''
10569        '''
10570         Unique identifier of the Resource.
10571        '''
10572        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10573        '''
10574         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10575        '''
10576        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10577        '''
10578         The ID of the identity set to use for identity connections.
10579        '''
10580        self.name = name if name is not None else ''
10581        '''
10582         Unique human-readable name of the Resource.
10583        '''
10584        self.port_override = port_override if port_override is not None else 0
10585        '''
10586         The local port used by clients to connect to this resource.
10587        '''
10588        self.project_id = project_id if project_id is not None else ''
10589        '''
10590         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
10591        '''
10592        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10593        '''
10594         ID of the proxy cluster for this resource, if any.
10595        '''
10596        self.scopes = scopes if scopes is not None else ''
10597        '''
10598         Space separated scopes that this login should assume into when authenticating.
10599        '''
10600        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10601        '''
10602         ID of the secret store containing credentials for this resource, if any.
10603        '''
10604        self.session_expiry = session_expiry if session_expiry is not None else 0
10605        '''
10606         The length of time in seconds console sessions will live before needing to reauthenticate.
10607        '''
10608        self.subdomain = subdomain if subdomain is not None else ''
10609        '''
10610         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10611        '''
10612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10613        '''
10614         Tags is a map of key, value pairs.
10615        '''
10616        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10617        '''
10618         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10619        '''
10620        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10621        '''
10622         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
10623        '''
10624
10625    def __repr__(self):
10626        return '<sdm.GCPWIF ' + \
10627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10628            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10629            'healthy: ' + repr(self.healthy) + ' ' +\
10630            'id: ' + repr(self.id) + ' ' +\
10631            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
10632            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
10633            'name: ' + repr(self.name) + ' ' +\
10634            'port_override: ' + repr(self.port_override) + ' ' +\
10635            'project_id: ' + repr(self.project_id) + ' ' +\
10636            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10637            'scopes: ' + repr(self.scopes) + ' ' +\
10638            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10639            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
10640            'subdomain: ' + repr(self.subdomain) + ' ' +\
10641            'tags: ' + repr(self.tags) + ' ' +\
10642            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
10643            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
10644            '>'
10645
10646    def to_dict(self):
10647        return {
10648            'bind_interface': self.bind_interface,
10649            'egress_filter': self.egress_filter,
10650            'healthy': self.healthy,
10651            'id': self.id,
10652            'identity_alias_healthcheck_username':
10653            self.identity_alias_healthcheck_username,
10654            'identity_set_id': self.identity_set_id,
10655            'name': self.name,
10656            'port_override': self.port_override,
10657            'project_id': self.project_id,
10658            'proxy_cluster_id': self.proxy_cluster_id,
10659            'scopes': self.scopes,
10660            'secret_store_id': self.secret_store_id,
10661            'session_expiry': self.session_expiry,
10662            'subdomain': self.subdomain,
10663            'tags': self.tags,
10664            'workforce_pool_id': self.workforce_pool_id,
10665            'workforce_provider_id': self.workforce_provider_id,
10666        }
10667
10668    @classmethod
10669    def from_dict(cls, d):
10670        return cls(
10671            bind_interface=d.get('bind_interface'),
10672            egress_filter=d.get('egress_filter'),
10673            healthy=d.get('healthy'),
10674            id=d.get('id'),
10675            identity_alias_healthcheck_username=d.get(
10676                'identity_alias_healthcheck_username'),
10677            identity_set_id=d.get('identity_set_id'),
10678            name=d.get('name'),
10679            port_override=d.get('port_override'),
10680            project_id=d.get('project_id'),
10681            proxy_cluster_id=d.get('proxy_cluster_id'),
10682            scopes=d.get('scopes'),
10683            secret_store_id=d.get('secret_store_id'),
10684            session_expiry=d.get('session_expiry'),
10685            subdomain=d.get('subdomain'),
10686            tags=d.get('tags'),
10687            workforce_pool_id=d.get('workforce_pool_id'),
10688            workforce_provider_id=d.get('workforce_provider_id'),
10689        )
10690
10691
10692class Gateway:
10693    '''
10694         Gateway represents a StrongDM CLI installation running in gateway mode.
10695    '''
10696    __slots__ = [
10697        'bind_address',
10698        'device',
10699        'gateway_filter',
10700        'id',
10701        'listen_address',
10702        'location',
10703        'maintenance_windows',
10704        'name',
10705        'state',
10706        'tags',
10707        'version',
10708    ]
10709
10710    def __init__(
10711        self,
10712        bind_address=None,
10713        device=None,
10714        gateway_filter=None,
10715        id=None,
10716        listen_address=None,
10717        location=None,
10718        maintenance_windows=None,
10719        name=None,
10720        state=None,
10721        tags=None,
10722        version=None,
10723    ):
10724        self.bind_address = bind_address if bind_address is not None else ''
10725        '''
10726         The hostname/port tuple which the gateway daemon will bind to.
10727         If not provided on create, set to "0.0.0.0:listen_address_port".
10728        '''
10729        self.device = device if device is not None else ''
10730        '''
10731         Device is a read only device name uploaded by the gateway process when
10732         it comes online.
10733        '''
10734        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
10735        '''
10736         GatewayFilter can be used to restrict the peering between relays and
10737         gateways. Deprecated.
10738        '''
10739        self.id = id if id is not None else ''
10740        '''
10741         Unique identifier of the Gateway.
10742        '''
10743        self.listen_address = listen_address if listen_address is not None else ''
10744        '''
10745         The public hostname/port tuple at which the gateway will be accessible to clients.
10746        '''
10747        self.location = location if location is not None else ''
10748        '''
10749         Location is a read only network location uploaded by the gateway process
10750         when it comes online.
10751        '''
10752        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
10753        '''
10754         Maintenance Windows define when this node is allowed to restart. If a node
10755         is requested to restart, it will check each window to determine if any of
10756         them permit it to restart, and if any do, it will. This check is repeated
10757         per window until the restart is successfully completed.
10758         
10759         If not set here, may be set on the command line or via an environment variable
10760         on the process itself; any server setting will take precedence over local
10761         settings. This setting is ineffective for nodes below version 38.44.0.
10762         
10763         If this setting is not applied via this remote configuration or via local
10764         configuration, the default setting is used: always allow restarts if serving
10765         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
10766        '''
10767        self.name = name if name is not None else ''
10768        '''
10769         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.
10770        '''
10771        self.state = state if state is not None else ''
10772        '''
10773         The current state of the gateway. One of: "new", "verifying_restart",
10774         "restarting", "started", "stopped", "dead", "unknown"
10775        '''
10776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10777        '''
10778         Tags is a map of key, value pairs.
10779        '''
10780        self.version = version if version is not None else ''
10781        '''
10782         Version is a read only sdm binary version uploaded by the gateway process
10783         when it comes online.
10784        '''
10785
10786    def __repr__(self):
10787        return '<sdm.Gateway ' + \
10788            'bind_address: ' + repr(self.bind_address) + ' ' +\
10789            'device: ' + repr(self.device) + ' ' +\
10790            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
10791            'id: ' + repr(self.id) + ' ' +\
10792            'listen_address: ' + repr(self.listen_address) + ' ' +\
10793            'location: ' + repr(self.location) + ' ' +\
10794            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
10795            'name: ' + repr(self.name) + ' ' +\
10796            'state: ' + repr(self.state) + ' ' +\
10797            'tags: ' + repr(self.tags) + ' ' +\
10798            'version: ' + repr(self.version) + ' ' +\
10799            '>'
10800
10801    def to_dict(self):
10802        return {
10803            'bind_address': self.bind_address,
10804            'device': self.device,
10805            'gateway_filter': self.gateway_filter,
10806            'id': self.id,
10807            'listen_address': self.listen_address,
10808            'location': self.location,
10809            'maintenance_windows': self.maintenance_windows,
10810            'name': self.name,
10811            'state': self.state,
10812            'tags': self.tags,
10813            'version': self.version,
10814        }
10815
10816    @classmethod
10817    def from_dict(cls, d):
10818        return cls(
10819            bind_address=d.get('bind_address'),
10820            device=d.get('device'),
10821            gateway_filter=d.get('gateway_filter'),
10822            id=d.get('id'),
10823            listen_address=d.get('listen_address'),
10824            location=d.get('location'),
10825            maintenance_windows=d.get('maintenance_windows'),
10826            name=d.get('name'),
10827            state=d.get('state'),
10828            tags=d.get('tags'),
10829            version=d.get('version'),
10830        )
10831
10832
10833class GenericResponseMetadata:
10834    '''
10835         GenericResponseMetadata contains common headers for generic request
10836     responses.
10837    '''
10838    __slots__ = []
10839
10840    def __init__(self, ):
10841        pass
10842
10843    def __repr__(self):
10844        return '<sdm.GenericResponseMetadata ' + \
10845            '>'
10846
10847    def to_dict(self):
10848        return {}
10849
10850    @classmethod
10851    def from_dict(cls, d):
10852        return cls()
10853
10854
10855class GetResponseMetadata:
10856    '''
10857         GetResponseMetadata is reserved for future use.
10858    '''
10859    __slots__ = []
10860
10861    def __init__(self, ):
10862        pass
10863
10864    def __repr__(self):
10865        return '<sdm.GetResponseMetadata ' + \
10866            '>'
10867
10868    def to_dict(self):
10869        return {}
10870
10871    @classmethod
10872    def from_dict(cls, d):
10873        return cls()
10874
10875
10876class GoogleGKE:
10877    __slots__ = [
10878        'allow_resource_role_bypass',
10879        'bind_interface',
10880        'certificate_authority',
10881        'discovery_enabled',
10882        'discovery_username',
10883        'egress_filter',
10884        'endpoint',
10885        'healthcheck_namespace',
10886        'healthy',
10887        'id',
10888        'identity_alias_healthcheck_username',
10889        'identity_set_id',
10890        'name',
10891        'port_override',
10892        'proxy_cluster_id',
10893        'secret_store_id',
10894        'service_account_key',
10895        'subdomain',
10896        'tags',
10897    ]
10898
10899    def __init__(
10900        self,
10901        allow_resource_role_bypass=None,
10902        bind_interface=None,
10903        certificate_authority=None,
10904        discovery_enabled=None,
10905        discovery_username=None,
10906        egress_filter=None,
10907        endpoint=None,
10908        healthcheck_namespace=None,
10909        healthy=None,
10910        id=None,
10911        identity_alias_healthcheck_username=None,
10912        identity_set_id=None,
10913        name=None,
10914        port_override=None,
10915        proxy_cluster_id=None,
10916        secret_store_id=None,
10917        service_account_key=None,
10918        subdomain=None,
10919        tags=None,
10920    ):
10921        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
10922        '''
10923         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
10924         when a resource role is not provided.
10925        '''
10926        self.bind_interface = bind_interface if bind_interface is not None else ''
10927        '''
10928         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10929        '''
10930        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
10931        '''
10932         The CA to authenticate TLS connections with.
10933        '''
10934        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
10935        '''
10936         If true, configures discovery of a cluster to be run from a node.
10937        '''
10938        self.discovery_username = discovery_username if discovery_username is not None else ''
10939        '''
10940         If a cluster is configured for user impersonation, this is the user to impersonate when
10941         running discovery.
10942        '''
10943        self.egress_filter = egress_filter if egress_filter is not None else ''
10944        '''
10945         A filter applied to the routing logic to pin datasource to nodes.
10946        '''
10947        self.endpoint = endpoint if endpoint is not None else ''
10948        '''
10949         The endpoint to dial.
10950        '''
10951        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
10952        '''
10953         The path used to check the health of your connection.  Defaults to `default`.
10954        '''
10955        self.healthy = healthy if healthy is not None else False
10956        '''
10957         True if the datasource is reachable and the credentials are valid.
10958        '''
10959        self.id = id if id is not None else ''
10960        '''
10961         Unique identifier of the Resource.
10962        '''
10963        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10964        '''
10965         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10966        '''
10967        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10968        '''
10969         The ID of the identity set to use for identity connections.
10970        '''
10971        self.name = name if name is not None else ''
10972        '''
10973         Unique human-readable name of the Resource.
10974        '''
10975        self.port_override = port_override if port_override is not None else 0
10976        '''
10977         The local port used by clients to connect to this resource.
10978        '''
10979        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10980        '''
10981         ID of the proxy cluster for this resource, if any.
10982        '''
10983        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10984        '''
10985         ID of the secret store containing credentials for this resource, if any.
10986        '''
10987        self.service_account_key = service_account_key if service_account_key is not None else ''
10988        '''
10989         The service account key to authenticate with.
10990        '''
10991        self.subdomain = subdomain if subdomain is not None else ''
10992        '''
10993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10994        '''
10995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10996        '''
10997         Tags is a map of key, value pairs.
10998        '''
10999
11000    def __repr__(self):
11001        return '<sdm.GoogleGKE ' + \
11002            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
11003            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11004            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
11005            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
11006            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
11007            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11008            'endpoint: ' + repr(self.endpoint) + ' ' +\
11009            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
11010            'healthy: ' + repr(self.healthy) + ' ' +\
11011            'id: ' + repr(self.id) + ' ' +\
11012            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11013            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11014            'name: ' + repr(self.name) + ' ' +\
11015            'port_override: ' + repr(self.port_override) + ' ' +\
11016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11017            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11018            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
11019            'subdomain: ' + repr(self.subdomain) + ' ' +\
11020            'tags: ' + repr(self.tags) + ' ' +\
11021            '>'
11022
11023    def to_dict(self):
11024        return {
11025            'allow_resource_role_bypass': self.allow_resource_role_bypass,
11026            'bind_interface': self.bind_interface,
11027            'certificate_authority': self.certificate_authority,
11028            'discovery_enabled': self.discovery_enabled,
11029            'discovery_username': self.discovery_username,
11030            'egress_filter': self.egress_filter,
11031            'endpoint': self.endpoint,
11032            'healthcheck_namespace': self.healthcheck_namespace,
11033            'healthy': self.healthy,
11034            'id': self.id,
11035            'identity_alias_healthcheck_username':
11036            self.identity_alias_healthcheck_username,
11037            'identity_set_id': self.identity_set_id,
11038            'name': self.name,
11039            'port_override': self.port_override,
11040            'proxy_cluster_id': self.proxy_cluster_id,
11041            'secret_store_id': self.secret_store_id,
11042            'service_account_key': self.service_account_key,
11043            'subdomain': self.subdomain,
11044            'tags': self.tags,
11045        }
11046
11047    @classmethod
11048    def from_dict(cls, d):
11049        return cls(
11050            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
11051            bind_interface=d.get('bind_interface'),
11052            certificate_authority=d.get('certificate_authority'),
11053            discovery_enabled=d.get('discovery_enabled'),
11054            discovery_username=d.get('discovery_username'),
11055            egress_filter=d.get('egress_filter'),
11056            endpoint=d.get('endpoint'),
11057            healthcheck_namespace=d.get('healthcheck_namespace'),
11058            healthy=d.get('healthy'),
11059            id=d.get('id'),
11060            identity_alias_healthcheck_username=d.get(
11061                'identity_alias_healthcheck_username'),
11062            identity_set_id=d.get('identity_set_id'),
11063            name=d.get('name'),
11064            port_override=d.get('port_override'),
11065            proxy_cluster_id=d.get('proxy_cluster_id'),
11066            secret_store_id=d.get('secret_store_id'),
11067            service_account_key=d.get('service_account_key'),
11068            subdomain=d.get('subdomain'),
11069            tags=d.get('tags'),
11070        )
11071
11072
11073class GoogleGKEUserImpersonation:
11074    __slots__ = [
11075        'bind_interface',
11076        'certificate_authority',
11077        'egress_filter',
11078        'endpoint',
11079        'healthcheck_namespace',
11080        'healthy',
11081        'id',
11082        'name',
11083        'port_override',
11084        'proxy_cluster_id',
11085        'secret_store_id',
11086        'service_account_key',
11087        'subdomain',
11088        'tags',
11089    ]
11090
11091    def __init__(
11092        self,
11093        bind_interface=None,
11094        certificate_authority=None,
11095        egress_filter=None,
11096        endpoint=None,
11097        healthcheck_namespace=None,
11098        healthy=None,
11099        id=None,
11100        name=None,
11101        port_override=None,
11102        proxy_cluster_id=None,
11103        secret_store_id=None,
11104        service_account_key=None,
11105        subdomain=None,
11106        tags=None,
11107    ):
11108        self.bind_interface = bind_interface if bind_interface is not None else ''
11109        '''
11110         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11111        '''
11112        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
11113        '''
11114         The CA to authenticate TLS connections with.
11115        '''
11116        self.egress_filter = egress_filter if egress_filter is not None else ''
11117        '''
11118         A filter applied to the routing logic to pin datasource to nodes.
11119        '''
11120        self.endpoint = endpoint if endpoint is not None else ''
11121        '''
11122         The endpoint to dial.
11123        '''
11124        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
11125        '''
11126         The path used to check the health of your connection.  Defaults to `default`.
11127        '''
11128        self.healthy = healthy if healthy is not None else False
11129        '''
11130         True if the datasource is reachable and the credentials are valid.
11131        '''
11132        self.id = id if id is not None else ''
11133        '''
11134         Unique identifier of the Resource.
11135        '''
11136        self.name = name if name is not None else ''
11137        '''
11138         Unique human-readable name of the Resource.
11139        '''
11140        self.port_override = port_override if port_override is not None else 0
11141        '''
11142         The local port used by clients to connect to this resource.
11143        '''
11144        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11145        '''
11146         ID of the proxy cluster for this resource, if any.
11147        '''
11148        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11149        '''
11150         ID of the secret store containing credentials for this resource, if any.
11151        '''
11152        self.service_account_key = service_account_key if service_account_key is not None else ''
11153        '''
11154         The service account key to authenticate with.
11155        '''
11156        self.subdomain = subdomain if subdomain is not None else ''
11157        '''
11158         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11159        '''
11160        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11161        '''
11162         Tags is a map of key, value pairs.
11163        '''
11164
11165    def __repr__(self):
11166        return '<sdm.GoogleGKEUserImpersonation ' + \
11167            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11168            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
11169            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11170            'endpoint: ' + repr(self.endpoint) + ' ' +\
11171            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
11172            'healthy: ' + repr(self.healthy) + ' ' +\
11173            'id: ' + repr(self.id) + ' ' +\
11174            'name: ' + repr(self.name) + ' ' +\
11175            'port_override: ' + repr(self.port_override) + ' ' +\
11176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11178            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
11179            'subdomain: ' + repr(self.subdomain) + ' ' +\
11180            'tags: ' + repr(self.tags) + ' ' +\
11181            '>'
11182
11183    def to_dict(self):
11184        return {
11185            'bind_interface': self.bind_interface,
11186            'certificate_authority': self.certificate_authority,
11187            'egress_filter': self.egress_filter,
11188            'endpoint': self.endpoint,
11189            'healthcheck_namespace': self.healthcheck_namespace,
11190            'healthy': self.healthy,
11191            'id': self.id,
11192            'name': self.name,
11193            'port_override': self.port_override,
11194            'proxy_cluster_id': self.proxy_cluster_id,
11195            'secret_store_id': self.secret_store_id,
11196            'service_account_key': self.service_account_key,
11197            'subdomain': self.subdomain,
11198            'tags': self.tags,
11199        }
11200
11201    @classmethod
11202    def from_dict(cls, d):
11203        return cls(
11204            bind_interface=d.get('bind_interface'),
11205            certificate_authority=d.get('certificate_authority'),
11206            egress_filter=d.get('egress_filter'),
11207            endpoint=d.get('endpoint'),
11208            healthcheck_namespace=d.get('healthcheck_namespace'),
11209            healthy=d.get('healthy'),
11210            id=d.get('id'),
11211            name=d.get('name'),
11212            port_override=d.get('port_override'),
11213            proxy_cluster_id=d.get('proxy_cluster_id'),
11214            secret_store_id=d.get('secret_store_id'),
11215            service_account_key=d.get('service_account_key'),
11216            subdomain=d.get('subdomain'),
11217            tags=d.get('tags'),
11218        )
11219
11220
11221class Greenplum:
11222    __slots__ = [
11223        'bind_interface',
11224        'database',
11225        'egress_filter',
11226        'healthy',
11227        'hostname',
11228        'id',
11229        'name',
11230        'override_database',
11231        'password',
11232        'port',
11233        'port_override',
11234        'proxy_cluster_id',
11235        'secret_store_id',
11236        'subdomain',
11237        'tags',
11238        'username',
11239    ]
11240
11241    def __init__(
11242        self,
11243        bind_interface=None,
11244        database=None,
11245        egress_filter=None,
11246        healthy=None,
11247        hostname=None,
11248        id=None,
11249        name=None,
11250        override_database=None,
11251        password=None,
11252        port=None,
11253        port_override=None,
11254        proxy_cluster_id=None,
11255        secret_store_id=None,
11256        subdomain=None,
11257        tags=None,
11258        username=None,
11259    ):
11260        self.bind_interface = bind_interface if bind_interface is not None else ''
11261        '''
11262         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11263        '''
11264        self.database = database if database is not None else ''
11265        '''
11266         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11267        '''
11268        self.egress_filter = egress_filter if egress_filter is not None else ''
11269        '''
11270         A filter applied to the routing logic to pin datasource to nodes.
11271        '''
11272        self.healthy = healthy if healthy is not None else False
11273        '''
11274         True if the datasource is reachable and the credentials are valid.
11275        '''
11276        self.hostname = hostname if hostname is not None else ''
11277        '''
11278         The host to dial to initiate a connection from the egress node to this resource.
11279        '''
11280        self.id = id if id is not None else ''
11281        '''
11282         Unique identifier of the Resource.
11283        '''
11284        self.name = name if name is not None else ''
11285        '''
11286         Unique human-readable name of the Resource.
11287        '''
11288        self.override_database = override_database if override_database is not None else False
11289        '''
11290         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.
11291        '''
11292        self.password = password if password is not None else ''
11293        '''
11294         The password to authenticate with.
11295        '''
11296        self.port = port if port is not None else 0
11297        '''
11298         The port to dial to initiate a connection from the egress node to this resource.
11299        '''
11300        self.port_override = port_override if port_override is not None else 0
11301        '''
11302         The local port used by clients to connect to this resource.
11303        '''
11304        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11305        '''
11306         ID of the proxy cluster for this resource, if any.
11307        '''
11308        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11309        '''
11310         ID of the secret store containing credentials for this resource, if any.
11311        '''
11312        self.subdomain = subdomain if subdomain is not None else ''
11313        '''
11314         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11315        '''
11316        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11317        '''
11318         Tags is a map of key, value pairs.
11319        '''
11320        self.username = username if username is not None else ''
11321        '''
11322         The username to authenticate with.
11323        '''
11324
11325    def __repr__(self):
11326        return '<sdm.Greenplum ' + \
11327            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11328            'database: ' + repr(self.database) + ' ' +\
11329            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11330            'healthy: ' + repr(self.healthy) + ' ' +\
11331            'hostname: ' + repr(self.hostname) + ' ' +\
11332            'id: ' + repr(self.id) + ' ' +\
11333            'name: ' + repr(self.name) + ' ' +\
11334            'override_database: ' + repr(self.override_database) + ' ' +\
11335            'password: ' + repr(self.password) + ' ' +\
11336            'port: ' + repr(self.port) + ' ' +\
11337            'port_override: ' + repr(self.port_override) + ' ' +\
11338            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11339            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11340            'subdomain: ' + repr(self.subdomain) + ' ' +\
11341            'tags: ' + repr(self.tags) + ' ' +\
11342            'username: ' + repr(self.username) + ' ' +\
11343            '>'
11344
11345    def to_dict(self):
11346        return {
11347            'bind_interface': self.bind_interface,
11348            'database': self.database,
11349            'egress_filter': self.egress_filter,
11350            'healthy': self.healthy,
11351            'hostname': self.hostname,
11352            'id': self.id,
11353            'name': self.name,
11354            'override_database': self.override_database,
11355            'password': self.password,
11356            'port': self.port,
11357            'port_override': self.port_override,
11358            'proxy_cluster_id': self.proxy_cluster_id,
11359            'secret_store_id': self.secret_store_id,
11360            'subdomain': self.subdomain,
11361            'tags': self.tags,
11362            'username': self.username,
11363        }
11364
11365    @classmethod
11366    def from_dict(cls, d):
11367        return cls(
11368            bind_interface=d.get('bind_interface'),
11369            database=d.get('database'),
11370            egress_filter=d.get('egress_filter'),
11371            healthy=d.get('healthy'),
11372            hostname=d.get('hostname'),
11373            id=d.get('id'),
11374            name=d.get('name'),
11375            override_database=d.get('override_database'),
11376            password=d.get('password'),
11377            port=d.get('port'),
11378            port_override=d.get('port_override'),
11379            proxy_cluster_id=d.get('proxy_cluster_id'),
11380            secret_store_id=d.get('secret_store_id'),
11381            subdomain=d.get('subdomain'),
11382            tags=d.get('tags'),
11383            username=d.get('username'),
11384        )
11385
11386
11387class HTTPAuth:
11388    __slots__ = [
11389        'auth_header',
11390        'bind_interface',
11391        'default_path',
11392        'egress_filter',
11393        'headers_blacklist',
11394        'healthcheck_path',
11395        'healthy',
11396        'host_override',
11397        'id',
11398        'name',
11399        'proxy_cluster_id',
11400        'secret_store_id',
11401        'subdomain',
11402        'tags',
11403        'url',
11404    ]
11405
11406    def __init__(
11407        self,
11408        auth_header=None,
11409        bind_interface=None,
11410        default_path=None,
11411        egress_filter=None,
11412        headers_blacklist=None,
11413        healthcheck_path=None,
11414        healthy=None,
11415        host_override=None,
11416        id=None,
11417        name=None,
11418        proxy_cluster_id=None,
11419        secret_store_id=None,
11420        subdomain=None,
11421        tags=None,
11422        url=None,
11423    ):
11424        self.auth_header = auth_header if auth_header is not None else ''
11425        '''
11426         The content to set as the authorization header.
11427        '''
11428        self.bind_interface = bind_interface if bind_interface is not None else ''
11429        '''
11430         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11431        '''
11432        self.default_path = default_path if default_path is not None else ''
11433        '''
11434         Automatically redirect to this path upon connecting.
11435        '''
11436        self.egress_filter = egress_filter if egress_filter is not None else ''
11437        '''
11438         A filter applied to the routing logic to pin datasource to nodes.
11439        '''
11440        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11441        '''
11442         Header names (e.g. Authorization), to omit from logs.
11443        '''
11444        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11445        '''
11446         This path will be used to check the health of your site.
11447        '''
11448        self.healthy = healthy if healthy is not None else False
11449        '''
11450         True if the datasource is reachable and the credentials are valid.
11451        '''
11452        self.host_override = host_override if host_override is not None else ''
11453        '''
11454         The host header will be overwritten with this field if provided.
11455        '''
11456        self.id = id if id is not None else ''
11457        '''
11458         Unique identifier of the Resource.
11459        '''
11460        self.name = name if name is not None else ''
11461        '''
11462         Unique human-readable name of the Resource.
11463        '''
11464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11465        '''
11466         ID of the proxy cluster for this resource, if any.
11467        '''
11468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11469        '''
11470         ID of the secret store containing credentials for this resource, if any.
11471        '''
11472        self.subdomain = subdomain if subdomain is not None else ''
11473        '''
11474         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11475        '''
11476        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11477        '''
11478         Tags is a map of key, value pairs.
11479        '''
11480        self.url = url if url is not None else ''
11481        '''
11482         The base address of your website without the path.
11483        '''
11484
11485    def __repr__(self):
11486        return '<sdm.HTTPAuth ' + \
11487            'auth_header: ' + repr(self.auth_header) + ' ' +\
11488            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11489            'default_path: ' + repr(self.default_path) + ' ' +\
11490            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11491            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11492            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11493            'healthy: ' + repr(self.healthy) + ' ' +\
11494            'host_override: ' + repr(self.host_override) + ' ' +\
11495            'id: ' + repr(self.id) + ' ' +\
11496            'name: ' + repr(self.name) + ' ' +\
11497            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11498            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11499            'subdomain: ' + repr(self.subdomain) + ' ' +\
11500            'tags: ' + repr(self.tags) + ' ' +\
11501            'url: ' + repr(self.url) + ' ' +\
11502            '>'
11503
11504    def to_dict(self):
11505        return {
11506            'auth_header': self.auth_header,
11507            'bind_interface': self.bind_interface,
11508            'default_path': self.default_path,
11509            'egress_filter': self.egress_filter,
11510            'headers_blacklist': self.headers_blacklist,
11511            'healthcheck_path': self.healthcheck_path,
11512            'healthy': self.healthy,
11513            'host_override': self.host_override,
11514            'id': self.id,
11515            'name': self.name,
11516            'proxy_cluster_id': self.proxy_cluster_id,
11517            'secret_store_id': self.secret_store_id,
11518            'subdomain': self.subdomain,
11519            'tags': self.tags,
11520            'url': self.url,
11521        }
11522
11523    @classmethod
11524    def from_dict(cls, d):
11525        return cls(
11526            auth_header=d.get('auth_header'),
11527            bind_interface=d.get('bind_interface'),
11528            default_path=d.get('default_path'),
11529            egress_filter=d.get('egress_filter'),
11530            headers_blacklist=d.get('headers_blacklist'),
11531            healthcheck_path=d.get('healthcheck_path'),
11532            healthy=d.get('healthy'),
11533            host_override=d.get('host_override'),
11534            id=d.get('id'),
11535            name=d.get('name'),
11536            proxy_cluster_id=d.get('proxy_cluster_id'),
11537            secret_store_id=d.get('secret_store_id'),
11538            subdomain=d.get('subdomain'),
11539            tags=d.get('tags'),
11540            url=d.get('url'),
11541        )
11542
11543
11544class HTTPBasicAuth:
11545    __slots__ = [
11546        'bind_interface',
11547        'default_path',
11548        'egress_filter',
11549        'headers_blacklist',
11550        'healthcheck_path',
11551        'healthy',
11552        'host_override',
11553        'id',
11554        'name',
11555        'password',
11556        'proxy_cluster_id',
11557        'secret_store_id',
11558        'subdomain',
11559        'tags',
11560        'url',
11561        'username',
11562    ]
11563
11564    def __init__(
11565        self,
11566        bind_interface=None,
11567        default_path=None,
11568        egress_filter=None,
11569        headers_blacklist=None,
11570        healthcheck_path=None,
11571        healthy=None,
11572        host_override=None,
11573        id=None,
11574        name=None,
11575        password=None,
11576        proxy_cluster_id=None,
11577        secret_store_id=None,
11578        subdomain=None,
11579        tags=None,
11580        url=None,
11581        username=None,
11582    ):
11583        self.bind_interface = bind_interface if bind_interface is not None else ''
11584        '''
11585         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11586        '''
11587        self.default_path = default_path if default_path is not None else ''
11588        '''
11589         Automatically redirect to this path upon connecting.
11590        '''
11591        self.egress_filter = egress_filter if egress_filter is not None else ''
11592        '''
11593         A filter applied to the routing logic to pin datasource to nodes.
11594        '''
11595        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11596        '''
11597         Header names (e.g. Authorization), to omit from logs.
11598        '''
11599        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11600        '''
11601         This path will be used to check the health of your site.
11602        '''
11603        self.healthy = healthy if healthy is not None else False
11604        '''
11605         True if the datasource is reachable and the credentials are valid.
11606        '''
11607        self.host_override = host_override if host_override is not None else ''
11608        '''
11609         The host header will be overwritten with this field if provided.
11610        '''
11611        self.id = id if id is not None else ''
11612        '''
11613         Unique identifier of the Resource.
11614        '''
11615        self.name = name if name is not None else ''
11616        '''
11617         Unique human-readable name of the Resource.
11618        '''
11619        self.password = password if password is not None else ''
11620        '''
11621         The password to authenticate with.
11622        '''
11623        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11624        '''
11625         ID of the proxy cluster for this resource, if any.
11626        '''
11627        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11628        '''
11629         ID of the secret store containing credentials for this resource, if any.
11630        '''
11631        self.subdomain = subdomain if subdomain is not None else ''
11632        '''
11633         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11634        '''
11635        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11636        '''
11637         Tags is a map of key, value pairs.
11638        '''
11639        self.url = url if url is not None else ''
11640        '''
11641         The base address of your website without the path.
11642        '''
11643        self.username = username if username is not None else ''
11644        '''
11645         The username to authenticate with.
11646        '''
11647
11648    def __repr__(self):
11649        return '<sdm.HTTPBasicAuth ' + \
11650            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11651            'default_path: ' + repr(self.default_path) + ' ' +\
11652            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11653            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11654            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11655            'healthy: ' + repr(self.healthy) + ' ' +\
11656            'host_override: ' + repr(self.host_override) + ' ' +\
11657            'id: ' + repr(self.id) + ' ' +\
11658            'name: ' + repr(self.name) + ' ' +\
11659            'password: ' + repr(self.password) + ' ' +\
11660            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11661            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11662            'subdomain: ' + repr(self.subdomain) + ' ' +\
11663            'tags: ' + repr(self.tags) + ' ' +\
11664            'url: ' + repr(self.url) + ' ' +\
11665            'username: ' + repr(self.username) + ' ' +\
11666            '>'
11667
11668    def to_dict(self):
11669        return {
11670            'bind_interface': self.bind_interface,
11671            'default_path': self.default_path,
11672            'egress_filter': self.egress_filter,
11673            'headers_blacklist': self.headers_blacklist,
11674            'healthcheck_path': self.healthcheck_path,
11675            'healthy': self.healthy,
11676            'host_override': self.host_override,
11677            'id': self.id,
11678            'name': self.name,
11679            'password': self.password,
11680            'proxy_cluster_id': self.proxy_cluster_id,
11681            'secret_store_id': self.secret_store_id,
11682            'subdomain': self.subdomain,
11683            'tags': self.tags,
11684            'url': self.url,
11685            'username': self.username,
11686        }
11687
11688    @classmethod
11689    def from_dict(cls, d):
11690        return cls(
11691            bind_interface=d.get('bind_interface'),
11692            default_path=d.get('default_path'),
11693            egress_filter=d.get('egress_filter'),
11694            headers_blacklist=d.get('headers_blacklist'),
11695            healthcheck_path=d.get('healthcheck_path'),
11696            healthy=d.get('healthy'),
11697            host_override=d.get('host_override'),
11698            id=d.get('id'),
11699            name=d.get('name'),
11700            password=d.get('password'),
11701            proxy_cluster_id=d.get('proxy_cluster_id'),
11702            secret_store_id=d.get('secret_store_id'),
11703            subdomain=d.get('subdomain'),
11704            tags=d.get('tags'),
11705            url=d.get('url'),
11706            username=d.get('username'),
11707        )
11708
11709
11710class HTTPNoAuth:
11711    __slots__ = [
11712        'bind_interface',
11713        'default_path',
11714        'egress_filter',
11715        'headers_blacklist',
11716        'healthcheck_path',
11717        'healthy',
11718        'host_override',
11719        'id',
11720        'name',
11721        'proxy_cluster_id',
11722        'secret_store_id',
11723        'subdomain',
11724        'tags',
11725        'url',
11726    ]
11727
11728    def __init__(
11729        self,
11730        bind_interface=None,
11731        default_path=None,
11732        egress_filter=None,
11733        headers_blacklist=None,
11734        healthcheck_path=None,
11735        healthy=None,
11736        host_override=None,
11737        id=None,
11738        name=None,
11739        proxy_cluster_id=None,
11740        secret_store_id=None,
11741        subdomain=None,
11742        tags=None,
11743        url=None,
11744    ):
11745        self.bind_interface = bind_interface if bind_interface is not None else ''
11746        '''
11747         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11748        '''
11749        self.default_path = default_path if default_path is not None else ''
11750        '''
11751         Automatically redirect to this path upon connecting.
11752        '''
11753        self.egress_filter = egress_filter if egress_filter is not None else ''
11754        '''
11755         A filter applied to the routing logic to pin datasource to nodes.
11756        '''
11757        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11758        '''
11759         Header names (e.g. Authorization), to omit from logs.
11760        '''
11761        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11762        '''
11763         This path will be used to check the health of your site.
11764        '''
11765        self.healthy = healthy if healthy is not None else False
11766        '''
11767         True if the datasource is reachable and the credentials are valid.
11768        '''
11769        self.host_override = host_override if host_override is not None else ''
11770        '''
11771         The host header will be overwritten with this field if provided.
11772        '''
11773        self.id = id if id is not None else ''
11774        '''
11775         Unique identifier of the Resource.
11776        '''
11777        self.name = name if name is not None else ''
11778        '''
11779         Unique human-readable name of the Resource.
11780        '''
11781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11782        '''
11783         ID of the proxy cluster for this resource, if any.
11784        '''
11785        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11786        '''
11787         ID of the secret store containing credentials for this resource, if any.
11788        '''
11789        self.subdomain = subdomain if subdomain is not None else ''
11790        '''
11791         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11792        '''
11793        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11794        '''
11795         Tags is a map of key, value pairs.
11796        '''
11797        self.url = url if url is not None else ''
11798        '''
11799         The base address of your website without the path.
11800        '''
11801
11802    def __repr__(self):
11803        return '<sdm.HTTPNoAuth ' + \
11804            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11805            'default_path: ' + repr(self.default_path) + ' ' +\
11806            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11807            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11808            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11809            'healthy: ' + repr(self.healthy) + ' ' +\
11810            'host_override: ' + repr(self.host_override) + ' ' +\
11811            'id: ' + repr(self.id) + ' ' +\
11812            'name: ' + repr(self.name) + ' ' +\
11813            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11814            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11815            'subdomain: ' + repr(self.subdomain) + ' ' +\
11816            'tags: ' + repr(self.tags) + ' ' +\
11817            'url: ' + repr(self.url) + ' ' +\
11818            '>'
11819
11820    def to_dict(self):
11821        return {
11822            'bind_interface': self.bind_interface,
11823            'default_path': self.default_path,
11824            'egress_filter': self.egress_filter,
11825            'headers_blacklist': self.headers_blacklist,
11826            'healthcheck_path': self.healthcheck_path,
11827            'healthy': self.healthy,
11828            'host_override': self.host_override,
11829            'id': self.id,
11830            'name': self.name,
11831            'proxy_cluster_id': self.proxy_cluster_id,
11832            'secret_store_id': self.secret_store_id,
11833            'subdomain': self.subdomain,
11834            'tags': self.tags,
11835            'url': self.url,
11836        }
11837
11838    @classmethod
11839    def from_dict(cls, d):
11840        return cls(
11841            bind_interface=d.get('bind_interface'),
11842            default_path=d.get('default_path'),
11843            egress_filter=d.get('egress_filter'),
11844            headers_blacklist=d.get('headers_blacklist'),
11845            healthcheck_path=d.get('healthcheck_path'),
11846            healthy=d.get('healthy'),
11847            host_override=d.get('host_override'),
11848            id=d.get('id'),
11849            name=d.get('name'),
11850            proxy_cluster_id=d.get('proxy_cluster_id'),
11851            secret_store_id=d.get('secret_store_id'),
11852            subdomain=d.get('subdomain'),
11853            tags=d.get('tags'),
11854            url=d.get('url'),
11855        )
11856
11857
11858class Healthcheck:
11859    '''
11860         Healthcheck defines the status of the link between a node and a resource
11861    '''
11862    __slots__ = [
11863        'error_msg',
11864        'healthy',
11865        'id',
11866        'node_id',
11867        'node_name',
11868        'resource_id',
11869        'resource_name',
11870        'timestamp',
11871    ]
11872
11873    def __init__(
11874        self,
11875        error_msg=None,
11876        healthy=None,
11877        id=None,
11878        node_id=None,
11879        node_name=None,
11880        resource_id=None,
11881        resource_name=None,
11882        timestamp=None,
11883    ):
11884        self.error_msg = error_msg if error_msg is not None else ''
11885        '''
11886         The error if unhealthy
11887        '''
11888        self.healthy = healthy if healthy is not None else False
11889        '''
11890         Whether the healthcheck succeeded.
11891        '''
11892        self.id = id if id is not None else ''
11893        '''
11894         Unique identifier of the healthcheck.
11895        '''
11896        self.node_id = node_id if node_id is not None else ''
11897        '''
11898         Unique identifier of the healthcheck node.
11899        '''
11900        self.node_name = node_name if node_name is not None else ''
11901        '''
11902         The name of the node.
11903        '''
11904        self.resource_id = resource_id if resource_id is not None else ''
11905        '''
11906         Unique identifier of the healthcheck resource.
11907        '''
11908        self.resource_name = resource_name if resource_name is not None else ''
11909        '''
11910         The name of the resource.
11911        '''
11912        self.timestamp = timestamp if timestamp is not None else None
11913        '''
11914         The time at which the healthcheck state was recorded.
11915        '''
11916
11917    def __repr__(self):
11918        return '<sdm.Healthcheck ' + \
11919            'error_msg: ' + repr(self.error_msg) + ' ' +\
11920            'healthy: ' + repr(self.healthy) + ' ' +\
11921            'id: ' + repr(self.id) + ' ' +\
11922            'node_id: ' + repr(self.node_id) + ' ' +\
11923            'node_name: ' + repr(self.node_name) + ' ' +\
11924            'resource_id: ' + repr(self.resource_id) + ' ' +\
11925            'resource_name: ' + repr(self.resource_name) + ' ' +\
11926            'timestamp: ' + repr(self.timestamp) + ' ' +\
11927            '>'
11928
11929    def to_dict(self):
11930        return {
11931            'error_msg': self.error_msg,
11932            'healthy': self.healthy,
11933            'id': self.id,
11934            'node_id': self.node_id,
11935            'node_name': self.node_name,
11936            'resource_id': self.resource_id,
11937            'resource_name': self.resource_name,
11938            'timestamp': self.timestamp,
11939        }
11940
11941    @classmethod
11942    def from_dict(cls, d):
11943        return cls(
11944            error_msg=d.get('error_msg'),
11945            healthy=d.get('healthy'),
11946            id=d.get('id'),
11947            node_id=d.get('node_id'),
11948            node_name=d.get('node_name'),
11949            resource_id=d.get('resource_id'),
11950            resource_name=d.get('resource_name'),
11951            timestamp=d.get('timestamp'),
11952        )
11953
11954
11955class HealthcheckListResponse:
11956    '''
11957         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
11958     HealthcheckListRequest.
11959    '''
11960    __slots__ = [
11961        'rate_limit',
11962    ]
11963
11964    def __init__(
11965        self,
11966        rate_limit=None,
11967    ):
11968        self.rate_limit = rate_limit if rate_limit is not None else None
11969        '''
11970         Rate limit information.
11971        '''
11972
11973    def __repr__(self):
11974        return '<sdm.HealthcheckListResponse ' + \
11975            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11976            '>'
11977
11978    def to_dict(self):
11979        return {
11980            'rate_limit': self.rate_limit,
11981        }
11982
11983    @classmethod
11984    def from_dict(cls, d):
11985        return cls(rate_limit=d.get('rate_limit'), )
11986
11987
11988class IdentityAlias:
11989    '''
11990         IdentityAliases define the username to be used for a specific account
11991     when connecting to a remote resource using that identity set.
11992    '''
11993    __slots__ = [
11994        'account_id',
11995        'id',
11996        'identity_set_id',
11997        'username',
11998    ]
11999
12000    def __init__(
12001        self,
12002        account_id=None,
12003        id=None,
12004        identity_set_id=None,
12005        username=None,
12006    ):
12007        self.account_id = account_id if account_id is not None else ''
12008        '''
12009         The account for this identity alias.
12010        '''
12011        self.id = id if id is not None else ''
12012        '''
12013         Unique identifier of the IdentityAlias.
12014        '''
12015        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12016        '''
12017         The identity set.
12018        '''
12019        self.username = username if username is not None else ''
12020        '''
12021         The username to be used as the identity alias for this account.
12022        '''
12023
12024    def __repr__(self):
12025        return '<sdm.IdentityAlias ' + \
12026            'account_id: ' + repr(self.account_id) + ' ' +\
12027            'id: ' + repr(self.id) + ' ' +\
12028            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12029            'username: ' + repr(self.username) + ' ' +\
12030            '>'
12031
12032    def to_dict(self):
12033        return {
12034            'account_id': self.account_id,
12035            'id': self.id,
12036            'identity_set_id': self.identity_set_id,
12037            'username': self.username,
12038        }
12039
12040    @classmethod
12041    def from_dict(cls, d):
12042        return cls(
12043            account_id=d.get('account_id'),
12044            id=d.get('id'),
12045            identity_set_id=d.get('identity_set_id'),
12046            username=d.get('username'),
12047        )
12048
12049
12050class IdentityAliasCreateResponse:
12051    '''
12052         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
12053    '''
12054    __slots__ = [
12055        'identity_alias',
12056        'meta',
12057        'rate_limit',
12058    ]
12059
12060    def __init__(
12061        self,
12062        identity_alias=None,
12063        meta=None,
12064        rate_limit=None,
12065    ):
12066        self.identity_alias = identity_alias if identity_alias is not None else None
12067        '''
12068         The created IdentityAlias.
12069        '''
12070        self.meta = meta if meta is not None else None
12071        '''
12072         Reserved for future use.
12073        '''
12074        self.rate_limit = rate_limit if rate_limit is not None else None
12075        '''
12076         Rate limit information.
12077        '''
12078
12079    def __repr__(self):
12080        return '<sdm.IdentityAliasCreateResponse ' + \
12081            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12082            'meta: ' + repr(self.meta) + ' ' +\
12083            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12084            '>'
12085
12086    def to_dict(self):
12087        return {
12088            'identity_alias': self.identity_alias,
12089            'meta': self.meta,
12090            'rate_limit': self.rate_limit,
12091        }
12092
12093    @classmethod
12094    def from_dict(cls, d):
12095        return cls(
12096            identity_alias=d.get('identity_alias'),
12097            meta=d.get('meta'),
12098            rate_limit=d.get('rate_limit'),
12099        )
12100
12101
12102class IdentityAliasDeleteResponse:
12103    '''
12104         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
12105    '''
12106    __slots__ = [
12107        'meta',
12108        'rate_limit',
12109    ]
12110
12111    def __init__(
12112        self,
12113        meta=None,
12114        rate_limit=None,
12115    ):
12116        self.meta = meta if meta is not None else None
12117        '''
12118         Reserved for future use.
12119        '''
12120        self.rate_limit = rate_limit if rate_limit is not None else None
12121        '''
12122         Rate limit information.
12123        '''
12124
12125    def __repr__(self):
12126        return '<sdm.IdentityAliasDeleteResponse ' + \
12127            'meta: ' + repr(self.meta) + ' ' +\
12128            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12129            '>'
12130
12131    def to_dict(self):
12132        return {
12133            'meta': self.meta,
12134            'rate_limit': self.rate_limit,
12135        }
12136
12137    @classmethod
12138    def from_dict(cls, d):
12139        return cls(
12140            meta=d.get('meta'),
12141            rate_limit=d.get('rate_limit'),
12142        )
12143
12144
12145class IdentityAliasGetResponse:
12146    '''
12147         IdentityAliasGetResponse returns a requested IdentityAlias.
12148    '''
12149    __slots__ = [
12150        'identity_alias',
12151        'meta',
12152        'rate_limit',
12153    ]
12154
12155    def __init__(
12156        self,
12157        identity_alias=None,
12158        meta=None,
12159        rate_limit=None,
12160    ):
12161        self.identity_alias = identity_alias if identity_alias is not None else None
12162        '''
12163         The requested IdentityAlias.
12164        '''
12165        self.meta = meta if meta is not None else None
12166        '''
12167         Reserved for future use.
12168        '''
12169        self.rate_limit = rate_limit if rate_limit is not None else None
12170        '''
12171         Rate limit information.
12172        '''
12173
12174    def __repr__(self):
12175        return '<sdm.IdentityAliasGetResponse ' + \
12176            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12177            'meta: ' + repr(self.meta) + ' ' +\
12178            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12179            '>'
12180
12181    def to_dict(self):
12182        return {
12183            'identity_alias': self.identity_alias,
12184            'meta': self.meta,
12185            'rate_limit': self.rate_limit,
12186        }
12187
12188    @classmethod
12189    def from_dict(cls, d):
12190        return cls(
12191            identity_alias=d.get('identity_alias'),
12192            meta=d.get('meta'),
12193            rate_limit=d.get('rate_limit'),
12194        )
12195
12196
12197class IdentityAliasHistory:
12198    '''
12199         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
12200     where every change (create, update and delete) to a IdentityAlias produces an
12201     IdentityAliasHistory record.
12202    '''
12203    __slots__ = [
12204        'activity_id',
12205        'deleted_at',
12206        'identity_alias',
12207        'timestamp',
12208    ]
12209
12210    def __init__(
12211        self,
12212        activity_id=None,
12213        deleted_at=None,
12214        identity_alias=None,
12215        timestamp=None,
12216    ):
12217        self.activity_id = activity_id if activity_id is not None else ''
12218        '''
12219         The unique identifier of the Activity that produced this change to the IdentityAlias.
12220         May be empty for some system-initiated updates.
12221        '''
12222        self.deleted_at = deleted_at if deleted_at is not None else None
12223        '''
12224         If this IdentityAlias was deleted, the time it was deleted.
12225        '''
12226        self.identity_alias = identity_alias if identity_alias is not None else None
12227        '''
12228         The complete IdentityAlias state at this time.
12229        '''
12230        self.timestamp = timestamp if timestamp is not None else None
12231        '''
12232         The time at which the IdentityAlias state was recorded.
12233        '''
12234
12235    def __repr__(self):
12236        return '<sdm.IdentityAliasHistory ' + \
12237            'activity_id: ' + repr(self.activity_id) + ' ' +\
12238            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
12239            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12240            'timestamp: ' + repr(self.timestamp) + ' ' +\
12241            '>'
12242
12243    def to_dict(self):
12244        return {
12245            'activity_id': self.activity_id,
12246            'deleted_at': self.deleted_at,
12247            'identity_alias': self.identity_alias,
12248            'timestamp': self.timestamp,
12249        }
12250
12251    @classmethod
12252    def from_dict(cls, d):
12253        return cls(
12254            activity_id=d.get('activity_id'),
12255            deleted_at=d.get('deleted_at'),
12256            identity_alias=d.get('identity_alias'),
12257            timestamp=d.get('timestamp'),
12258        )
12259
12260
12261class IdentityAliasUpdateResponse:
12262    '''
12263         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
12264     a IdentityAliasUpdateRequest.
12265    '''
12266    __slots__ = [
12267        'identity_alias',
12268        'meta',
12269        'rate_limit',
12270    ]
12271
12272    def __init__(
12273        self,
12274        identity_alias=None,
12275        meta=None,
12276        rate_limit=None,
12277    ):
12278        self.identity_alias = identity_alias if identity_alias is not None else None
12279        '''
12280         The updated IdentityAlias.
12281        '''
12282        self.meta = meta if meta is not None else None
12283        '''
12284         Reserved for future use.
12285        '''
12286        self.rate_limit = rate_limit if rate_limit is not None else None
12287        '''
12288         Rate limit information.
12289        '''
12290
12291    def __repr__(self):
12292        return '<sdm.IdentityAliasUpdateResponse ' + \
12293            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12294            'meta: ' + repr(self.meta) + ' ' +\
12295            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12296            '>'
12297
12298    def to_dict(self):
12299        return {
12300            'identity_alias': self.identity_alias,
12301            'meta': self.meta,
12302            'rate_limit': self.rate_limit,
12303        }
12304
12305    @classmethod
12306    def from_dict(cls, d):
12307        return cls(
12308            identity_alias=d.get('identity_alias'),
12309            meta=d.get('meta'),
12310            rate_limit=d.get('rate_limit'),
12311        )
12312
12313
12314class IdentitySet:
12315    '''
12316         A IdentitySet defines a group of identity aliases.
12317    '''
12318    __slots__ = [
12319        'id',
12320        'name',
12321    ]
12322
12323    def __init__(
12324        self,
12325        id=None,
12326        name=None,
12327    ):
12328        self.id = id if id is not None else ''
12329        '''
12330         Unique identifier of the IdentitySet.
12331        '''
12332        self.name = name if name is not None else ''
12333        '''
12334         Unique human-readable name of the IdentitySet.
12335        '''
12336
12337    def __repr__(self):
12338        return '<sdm.IdentitySet ' + \
12339            'id: ' + repr(self.id) + ' ' +\
12340            'name: ' + repr(self.name) + ' ' +\
12341            '>'
12342
12343    def to_dict(self):
12344        return {
12345            'id': self.id,
12346            'name': self.name,
12347        }
12348
12349    @classmethod
12350    def from_dict(cls, d):
12351        return cls(
12352            id=d.get('id'),
12353            name=d.get('name'),
12354        )
12355
12356
12357class IdentitySetCreateResponse:
12358    '''
12359         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
12360     communicate partial successes or failures.
12361    '''
12362    __slots__ = [
12363        'identity_set',
12364        'meta',
12365        'rate_limit',
12366    ]
12367
12368    def __init__(
12369        self,
12370        identity_set=None,
12371        meta=None,
12372        rate_limit=None,
12373    ):
12374        self.identity_set = identity_set if identity_set is not None else None
12375        '''
12376         The created IdentitySet.
12377        '''
12378        self.meta = meta if meta is not None else None
12379        '''
12380         Reserved for future use.
12381        '''
12382        self.rate_limit = rate_limit if rate_limit is not None else None
12383        '''
12384         Rate limit information.
12385        '''
12386
12387    def __repr__(self):
12388        return '<sdm.IdentitySetCreateResponse ' + \
12389            'identity_set: ' + repr(self.identity_set) + ' ' +\
12390            'meta: ' + repr(self.meta) + ' ' +\
12391            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12392            '>'
12393
12394    def to_dict(self):
12395        return {
12396            'identity_set': self.identity_set,
12397            'meta': self.meta,
12398            'rate_limit': self.rate_limit,
12399        }
12400
12401    @classmethod
12402    def from_dict(cls, d):
12403        return cls(
12404            identity_set=d.get('identity_set'),
12405            meta=d.get('meta'),
12406            rate_limit=d.get('rate_limit'),
12407        )
12408
12409
12410class IdentitySetDeleteResponse:
12411    '''
12412         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
12413    '''
12414    __slots__ = [
12415        'meta',
12416        'rate_limit',
12417    ]
12418
12419    def __init__(
12420        self,
12421        meta=None,
12422        rate_limit=None,
12423    ):
12424        self.meta = meta if meta is not None else None
12425        '''
12426         Reserved for future use.
12427        '''
12428        self.rate_limit = rate_limit if rate_limit is not None else None
12429        '''
12430         Rate limit information.
12431        '''
12432
12433    def __repr__(self):
12434        return '<sdm.IdentitySetDeleteResponse ' + \
12435            'meta: ' + repr(self.meta) + ' ' +\
12436            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12437            '>'
12438
12439    def to_dict(self):
12440        return {
12441            'meta': self.meta,
12442            'rate_limit': self.rate_limit,
12443        }
12444
12445    @classmethod
12446    def from_dict(cls, d):
12447        return cls(
12448            meta=d.get('meta'),
12449            rate_limit=d.get('rate_limit'),
12450        )
12451
12452
12453class IdentitySetGetResponse:
12454    '''
12455         IdentitySetGetResponse returns a requested IdentitySet.
12456    '''
12457    __slots__ = [
12458        'identity_set',
12459        'meta',
12460        'rate_limit',
12461    ]
12462
12463    def __init__(
12464        self,
12465        identity_set=None,
12466        meta=None,
12467        rate_limit=None,
12468    ):
12469        self.identity_set = identity_set if identity_set is not None else None
12470        '''
12471         The requested IdentitySet.
12472        '''
12473        self.meta = meta if meta is not None else None
12474        '''
12475         Reserved for future use.
12476        '''
12477        self.rate_limit = rate_limit if rate_limit is not None else None
12478        '''
12479         Rate limit information.
12480        '''
12481
12482    def __repr__(self):
12483        return '<sdm.IdentitySetGetResponse ' + \
12484            'identity_set: ' + repr(self.identity_set) + ' ' +\
12485            'meta: ' + repr(self.meta) + ' ' +\
12486            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12487            '>'
12488
12489    def to_dict(self):
12490        return {
12491            'identity_set': self.identity_set,
12492            'meta': self.meta,
12493            'rate_limit': self.rate_limit,
12494        }
12495
12496    @classmethod
12497    def from_dict(cls, d):
12498        return cls(
12499            identity_set=d.get('identity_set'),
12500            meta=d.get('meta'),
12501            rate_limit=d.get('rate_limit'),
12502        )
12503
12504
12505class IdentitySetHistory:
12506    '''
12507         IdentitySetHistory records the state of a IdentitySet at a given point in time,
12508     where every change (create, update and delete) to a IdentitySet produces an
12509     IdentitySetHistory record.
12510    '''
12511    __slots__ = [
12512        'activity_id',
12513        'deleted_at',
12514        'identity_set',
12515        'timestamp',
12516    ]
12517
12518    def __init__(
12519        self,
12520        activity_id=None,
12521        deleted_at=None,
12522        identity_set=None,
12523        timestamp=None,
12524    ):
12525        self.activity_id = activity_id if activity_id is not None else ''
12526        '''
12527         The unique identifier of the Activity that produced this change to the IdentitySet.
12528         May be empty for some system-initiated updates.
12529        '''
12530        self.deleted_at = deleted_at if deleted_at is not None else None
12531        '''
12532         If this IdentitySet was deleted, the time it was deleted.
12533        '''
12534        self.identity_set = identity_set if identity_set is not None else None
12535        '''
12536         The complete IdentitySet state at this time.
12537        '''
12538        self.timestamp = timestamp if timestamp is not None else None
12539        '''
12540         The time at which the IdentitySet state was recorded.
12541        '''
12542
12543    def __repr__(self):
12544        return '<sdm.IdentitySetHistory ' + \
12545            'activity_id: ' + repr(self.activity_id) + ' ' +\
12546            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
12547            'identity_set: ' + repr(self.identity_set) + ' ' +\
12548            'timestamp: ' + repr(self.timestamp) + ' ' +\
12549            '>'
12550
12551    def to_dict(self):
12552        return {
12553            'activity_id': self.activity_id,
12554            'deleted_at': self.deleted_at,
12555            'identity_set': self.identity_set,
12556            'timestamp': self.timestamp,
12557        }
12558
12559    @classmethod
12560    def from_dict(cls, d):
12561        return cls(
12562            activity_id=d.get('activity_id'),
12563            deleted_at=d.get('deleted_at'),
12564            identity_set=d.get('identity_set'),
12565            timestamp=d.get('timestamp'),
12566        )
12567
12568
12569class IdentitySetUpdateResponse:
12570    '''
12571         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
12572     a IdentitySetUpdateRequest.
12573    '''
12574    __slots__ = [
12575        'identity_set',
12576        'meta',
12577        'rate_limit',
12578    ]
12579
12580    def __init__(
12581        self,
12582        identity_set=None,
12583        meta=None,
12584        rate_limit=None,
12585    ):
12586        self.identity_set = identity_set if identity_set is not None else None
12587        '''
12588         The updated IdentitySet.
12589        '''
12590        self.meta = meta if meta is not None else None
12591        '''
12592         Reserved for future use.
12593        '''
12594        self.rate_limit = rate_limit if rate_limit is not None else None
12595        '''
12596         Rate limit information.
12597        '''
12598
12599    def __repr__(self):
12600        return '<sdm.IdentitySetUpdateResponse ' + \
12601            'identity_set: ' + repr(self.identity_set) + ' ' +\
12602            'meta: ' + repr(self.meta) + ' ' +\
12603            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12604            '>'
12605
12606    def to_dict(self):
12607        return {
12608            'identity_set': self.identity_set,
12609            'meta': self.meta,
12610            'rate_limit': self.rate_limit,
12611        }
12612
12613    @classmethod
12614    def from_dict(cls, d):
12615        return cls(
12616            identity_set=d.get('identity_set'),
12617            meta=d.get('meta'),
12618            rate_limit=d.get('rate_limit'),
12619        )
12620
12621
12622class KeyfactorSSHStore:
12623    __slots__ = [
12624        'ca_file_path',
12625        'certificate_file_path',
12626        'default_certificate_authority_name',
12627        'default_certificate_profile_name',
12628        'default_end_entity_profile_name',
12629        'enrollment_code_env_var',
12630        'enrollment_username_env_var',
12631        'id',
12632        'key_file_path',
12633        'name',
12634        'server_address',
12635        'tags',
12636    ]
12637
12638    def __init__(
12639        self,
12640        ca_file_path=None,
12641        certificate_file_path=None,
12642        default_certificate_authority_name=None,
12643        default_certificate_profile_name=None,
12644        default_end_entity_profile_name=None,
12645        enrollment_code_env_var=None,
12646        enrollment_username_env_var=None,
12647        id=None,
12648        key_file_path=None,
12649        name=None,
12650        server_address=None,
12651        tags=None,
12652    ):
12653        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12654        '''
12655         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12656         This is not required if the CA is trusted by the host operating system. This should be a PEM
12657         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12658        '''
12659        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12660        '''
12661         Path to client certificate in PEM format. This certificate must contain a client certificate that
12662         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12663         key associated with the certificate, but KeyFile can also be set to configure the private key.
12664        '''
12665        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12666        '''
12667         Name of EJBCA certificate authority that will enroll CSR.
12668        '''
12669        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12670        '''
12671         Certificate profile name that EJBCA will enroll the CSR with.
12672        '''
12673        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12674        '''
12675         End entity profile that EJBCA will enroll the CSR with.
12676        '''
12677        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12678        '''
12679         code used by EJBCA during enrollment. May be left blank if no code is required.
12680        '''
12681        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12682        '''
12683         username that used by the EJBCA during enrollment. This can be left out. 
12684         If so, the username must be auto-generated on the Keyfactor side.
12685        '''
12686        self.id = id if id is not None else ''
12687        '''
12688         Unique identifier of the SecretStore.
12689        '''
12690        self.key_file_path = key_file_path if key_file_path is not None else ''
12691        '''
12692         Path to private key in PEM format. This file should contain the private key associated with the
12693         client certificate configured in CertificateFile.
12694        '''
12695        self.name = name if name is not None else ''
12696        '''
12697         Unique human-readable name of the SecretStore.
12698        '''
12699        self.server_address = server_address if server_address is not None else ''
12700        '''
12701         the host of the Key Factor CA
12702        '''
12703        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12704        '''
12705         Tags is a map of key, value pairs.
12706        '''
12707
12708    def __repr__(self):
12709        return '<sdm.KeyfactorSSHStore ' + \
12710            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
12711            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
12712            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
12713            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
12714            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
12715            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
12716            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
12717            'id: ' + repr(self.id) + ' ' +\
12718            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
12719            'name: ' + repr(self.name) + ' ' +\
12720            'server_address: ' + repr(self.server_address) + ' ' +\
12721            'tags: ' + repr(self.tags) + ' ' +\
12722            '>'
12723
12724    def to_dict(self):
12725        return {
12726            'ca_file_path': self.ca_file_path,
12727            'certificate_file_path': self.certificate_file_path,
12728            'default_certificate_authority_name':
12729            self.default_certificate_authority_name,
12730            'default_certificate_profile_name':
12731            self.default_certificate_profile_name,
12732            'default_end_entity_profile_name':
12733            self.default_end_entity_profile_name,
12734            'enrollment_code_env_var': self.enrollment_code_env_var,
12735            'enrollment_username_env_var': self.enrollment_username_env_var,
12736            'id': self.id,
12737            'key_file_path': self.key_file_path,
12738            'name': self.name,
12739            'server_address': self.server_address,
12740            'tags': self.tags,
12741        }
12742
12743    @classmethod
12744    def from_dict(cls, d):
12745        return cls(
12746            ca_file_path=d.get('ca_file_path'),
12747            certificate_file_path=d.get('certificate_file_path'),
12748            default_certificate_authority_name=d.get(
12749                'default_certificate_authority_name'),
12750            default_certificate_profile_name=d.get(
12751                'default_certificate_profile_name'),
12752            default_end_entity_profile_name=d.get(
12753                'default_end_entity_profile_name'),
12754            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12755            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12756            id=d.get('id'),
12757            key_file_path=d.get('key_file_path'),
12758            name=d.get('name'),
12759            server_address=d.get('server_address'),
12760            tags=d.get('tags'),
12761        )
12762
12763
12764class KeyfactorX509Store:
12765    __slots__ = [
12766        'ca_file_path',
12767        'certificate_file_path',
12768        'default_certificate_authority_name',
12769        'default_certificate_profile_name',
12770        'default_end_entity_profile_name',
12771        'enrollment_code_env_var',
12772        'enrollment_username_env_var',
12773        'id',
12774        'key_file_path',
12775        'name',
12776        'server_address',
12777        'tags',
12778    ]
12779
12780    def __init__(
12781        self,
12782        ca_file_path=None,
12783        certificate_file_path=None,
12784        default_certificate_authority_name=None,
12785        default_certificate_profile_name=None,
12786        default_end_entity_profile_name=None,
12787        enrollment_code_env_var=None,
12788        enrollment_username_env_var=None,
12789        id=None,
12790        key_file_path=None,
12791        name=None,
12792        server_address=None,
12793        tags=None,
12794    ):
12795        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12796        '''
12797         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12798         This is not required if the CA is trusted by the host operating system. This should be a PEM
12799         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12800        '''
12801        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12802        '''
12803         Path to client certificate in PEM format. This certificate must contain a client certificate that
12804         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12805         key associated with the certificate, but KeyFile can also be set to configure the private key.
12806        '''
12807        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12808        '''
12809         Name of EJBCA certificate authority that will enroll CSR.
12810        '''
12811        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12812        '''
12813         Certificate profile name that EJBCA will enroll the CSR with.
12814        '''
12815        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12816        '''
12817         End entity profile that EJBCA will enroll the CSR with.
12818        '''
12819        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12820        '''
12821         code used by EJBCA during enrollment. May be left blank if no code is required.
12822        '''
12823        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12824        '''
12825         username that used by the EJBCA during enrollment. This can be left out. 
12826         If so, the username must be auto-generated on the Keyfactor side.
12827        '''
12828        self.id = id if id is not None else ''
12829        '''
12830         Unique identifier of the SecretStore.
12831        '''
12832        self.key_file_path = key_file_path if key_file_path is not None else ''
12833        '''
12834         Path to private key in PEM format. This file should contain the private key associated with the
12835         client certificate configured in CertificateFile.
12836        '''
12837        self.name = name if name is not None else ''
12838        '''
12839         Unique human-readable name of the SecretStore.
12840        '''
12841        self.server_address = server_address if server_address is not None else ''
12842        '''
12843         the host of the Key Factor CA
12844        '''
12845        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12846        '''
12847         Tags is a map of key, value pairs.
12848        '''
12849
12850    def __repr__(self):
12851        return '<sdm.KeyfactorX509Store ' + \
12852            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
12853            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
12854            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
12855            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
12856            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
12857            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
12858            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
12859            'id: ' + repr(self.id) + ' ' +\
12860            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
12861            'name: ' + repr(self.name) + ' ' +\
12862            'server_address: ' + repr(self.server_address) + ' ' +\
12863            'tags: ' + repr(self.tags) + ' ' +\
12864            '>'
12865
12866    def to_dict(self):
12867        return {
12868            'ca_file_path': self.ca_file_path,
12869            'certificate_file_path': self.certificate_file_path,
12870            'default_certificate_authority_name':
12871            self.default_certificate_authority_name,
12872            'default_certificate_profile_name':
12873            self.default_certificate_profile_name,
12874            'default_end_entity_profile_name':
12875            self.default_end_entity_profile_name,
12876            'enrollment_code_env_var': self.enrollment_code_env_var,
12877            'enrollment_username_env_var': self.enrollment_username_env_var,
12878            'id': self.id,
12879            'key_file_path': self.key_file_path,
12880            'name': self.name,
12881            'server_address': self.server_address,
12882            'tags': self.tags,
12883        }
12884
12885    @classmethod
12886    def from_dict(cls, d):
12887        return cls(
12888            ca_file_path=d.get('ca_file_path'),
12889            certificate_file_path=d.get('certificate_file_path'),
12890            default_certificate_authority_name=d.get(
12891                'default_certificate_authority_name'),
12892            default_certificate_profile_name=d.get(
12893                'default_certificate_profile_name'),
12894            default_end_entity_profile_name=d.get(
12895                'default_end_entity_profile_name'),
12896            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12897            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12898            id=d.get('id'),
12899            key_file_path=d.get('key_file_path'),
12900            name=d.get('name'),
12901            server_address=d.get('server_address'),
12902            tags=d.get('tags'),
12903        )
12904
12905
12906class Kubernetes:
12907    __slots__ = [
12908        'allow_resource_role_bypass',
12909        'bind_interface',
12910        'certificate_authority',
12911        'client_certificate',
12912        'client_key',
12913        'discovery_enabled',
12914        'discovery_username',
12915        'egress_filter',
12916        'healthcheck_namespace',
12917        'healthy',
12918        'hostname',
12919        'id',
12920        'identity_alias_healthcheck_username',
12921        'identity_set_id',
12922        'name',
12923        'port',
12924        'port_override',
12925        'proxy_cluster_id',
12926        'secret_store_id',
12927        'subdomain',
12928        'tags',
12929    ]
12930
12931    def __init__(
12932        self,
12933        allow_resource_role_bypass=None,
12934        bind_interface=None,
12935        certificate_authority=None,
12936        client_certificate=None,
12937        client_key=None,
12938        discovery_enabled=None,
12939        discovery_username=None,
12940        egress_filter=None,
12941        healthcheck_namespace=None,
12942        healthy=None,
12943        hostname=None,
12944        id=None,
12945        identity_alias_healthcheck_username=None,
12946        identity_set_id=None,
12947        name=None,
12948        port=None,
12949        port_override=None,
12950        proxy_cluster_id=None,
12951        secret_store_id=None,
12952        subdomain=None,
12953        tags=None,
12954    ):
12955        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12956        '''
12957         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12958         when a resource role is not provided.
12959        '''
12960        self.bind_interface = bind_interface if bind_interface is not None else ''
12961        '''
12962         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12963        '''
12964        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12965        '''
12966         The CA to authenticate TLS connections with.
12967        '''
12968        self.client_certificate = client_certificate if client_certificate is not None else ''
12969        '''
12970         The certificate to authenticate TLS connections with.
12971        '''
12972        self.client_key = client_key if client_key is not None else ''
12973        '''
12974         The key to authenticate TLS connections with.
12975        '''
12976        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12977        '''
12978         If true, configures discovery of a cluster to be run from a node.
12979        '''
12980        self.discovery_username = discovery_username if discovery_username is not None else ''
12981        '''
12982         If a cluster is configured for user impersonation, this is the user to impersonate when
12983         running discovery.
12984        '''
12985        self.egress_filter = egress_filter if egress_filter is not None else ''
12986        '''
12987         A filter applied to the routing logic to pin datasource to nodes.
12988        '''
12989        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12990        '''
12991         The path used to check the health of your connection.  Defaults to `default`.
12992        '''
12993        self.healthy = healthy if healthy is not None else False
12994        '''
12995         True if the datasource is reachable and the credentials are valid.
12996        '''
12997        self.hostname = hostname if hostname is not None else ''
12998        '''
12999         The host to dial to initiate a connection from the egress node to this resource.
13000        '''
13001        self.id = id if id is not None else ''
13002        '''
13003         Unique identifier of the Resource.
13004        '''
13005        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13006        '''
13007         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13008        '''
13009        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13010        '''
13011         The ID of the identity set to use for identity connections.
13012        '''
13013        self.name = name if name is not None else ''
13014        '''
13015         Unique human-readable name of the Resource.
13016        '''
13017        self.port = port if port is not None else 0
13018        '''
13019         The port to dial to initiate a connection from the egress node to this resource.
13020        '''
13021        self.port_override = port_override if port_override is not None else 0
13022        '''
13023         The local port used by clients to connect to this resource.
13024        '''
13025        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13026        '''
13027         ID of the proxy cluster for this resource, if any.
13028        '''
13029        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13030        '''
13031         ID of the secret store containing credentials for this resource, if any.
13032        '''
13033        self.subdomain = subdomain if subdomain is not None else ''
13034        '''
13035         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13036        '''
13037        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13038        '''
13039         Tags is a map of key, value pairs.
13040        '''
13041
13042    def __repr__(self):
13043        return '<sdm.Kubernetes ' + \
13044            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13045            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13046            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13047            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13048            'client_key: ' + repr(self.client_key) + ' ' +\
13049            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13050            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13051            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13052            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13053            'healthy: ' + repr(self.healthy) + ' ' +\
13054            'hostname: ' + repr(self.hostname) + ' ' +\
13055            'id: ' + repr(self.id) + ' ' +\
13056            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13057            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13058            'name: ' + repr(self.name) + ' ' +\
13059            'port: ' + repr(self.port) + ' ' +\
13060            'port_override: ' + repr(self.port_override) + ' ' +\
13061            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13062            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13063            'subdomain: ' + repr(self.subdomain) + ' ' +\
13064            'tags: ' + repr(self.tags) + ' ' +\
13065            '>'
13066
13067    def to_dict(self):
13068        return {
13069            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13070            'bind_interface': self.bind_interface,
13071            'certificate_authority': self.certificate_authority,
13072            'client_certificate': self.client_certificate,
13073            'client_key': self.client_key,
13074            'discovery_enabled': self.discovery_enabled,
13075            'discovery_username': self.discovery_username,
13076            'egress_filter': self.egress_filter,
13077            'healthcheck_namespace': self.healthcheck_namespace,
13078            'healthy': self.healthy,
13079            'hostname': self.hostname,
13080            'id': self.id,
13081            'identity_alias_healthcheck_username':
13082            self.identity_alias_healthcheck_username,
13083            'identity_set_id': self.identity_set_id,
13084            'name': self.name,
13085            'port': self.port,
13086            'port_override': self.port_override,
13087            'proxy_cluster_id': self.proxy_cluster_id,
13088            'secret_store_id': self.secret_store_id,
13089            'subdomain': self.subdomain,
13090            'tags': self.tags,
13091        }
13092
13093    @classmethod
13094    def from_dict(cls, d):
13095        return cls(
13096            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13097            bind_interface=d.get('bind_interface'),
13098            certificate_authority=d.get('certificate_authority'),
13099            client_certificate=d.get('client_certificate'),
13100            client_key=d.get('client_key'),
13101            discovery_enabled=d.get('discovery_enabled'),
13102            discovery_username=d.get('discovery_username'),
13103            egress_filter=d.get('egress_filter'),
13104            healthcheck_namespace=d.get('healthcheck_namespace'),
13105            healthy=d.get('healthy'),
13106            hostname=d.get('hostname'),
13107            id=d.get('id'),
13108            identity_alias_healthcheck_username=d.get(
13109                'identity_alias_healthcheck_username'),
13110            identity_set_id=d.get('identity_set_id'),
13111            name=d.get('name'),
13112            port=d.get('port'),
13113            port_override=d.get('port_override'),
13114            proxy_cluster_id=d.get('proxy_cluster_id'),
13115            secret_store_id=d.get('secret_store_id'),
13116            subdomain=d.get('subdomain'),
13117            tags=d.get('tags'),
13118        )
13119
13120
13121class KubernetesBasicAuth:
13122    '''
13123    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
13124    without a major version bump.
13125    '''
13126    __slots__ = [
13127        'bind_interface',
13128        'egress_filter',
13129        'healthcheck_namespace',
13130        'healthy',
13131        'hostname',
13132        'id',
13133        'name',
13134        'password',
13135        'port',
13136        'port_override',
13137        'proxy_cluster_id',
13138        'secret_store_id',
13139        'subdomain',
13140        'tags',
13141        'username',
13142    ]
13143
13144    def __init__(
13145        self,
13146        bind_interface=None,
13147        egress_filter=None,
13148        healthcheck_namespace=None,
13149        healthy=None,
13150        hostname=None,
13151        id=None,
13152        name=None,
13153        password=None,
13154        port=None,
13155        port_override=None,
13156        proxy_cluster_id=None,
13157        secret_store_id=None,
13158        subdomain=None,
13159        tags=None,
13160        username=None,
13161    ):
13162        self.bind_interface = bind_interface if bind_interface is not None else ''
13163        '''
13164         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13165        '''
13166        self.egress_filter = egress_filter if egress_filter is not None else ''
13167        '''
13168         A filter applied to the routing logic to pin datasource to nodes.
13169        '''
13170        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13171        '''
13172         The path used to check the health of your connection.  Defaults to `default`.
13173        '''
13174        self.healthy = healthy if healthy is not None else False
13175        '''
13176         True if the datasource is reachable and the credentials are valid.
13177        '''
13178        self.hostname = hostname if hostname is not None else ''
13179        '''
13180         The host to dial to initiate a connection from the egress node to this resource.
13181        '''
13182        self.id = id if id is not None else ''
13183        '''
13184         Unique identifier of the Resource.
13185        '''
13186        self.name = name if name is not None else ''
13187        '''
13188         Unique human-readable name of the Resource.
13189        '''
13190        self.password = password if password is not None else ''
13191        '''
13192         The password to authenticate with.
13193        '''
13194        self.port = port if port is not None else 0
13195        '''
13196         The port to dial to initiate a connection from the egress node to this resource.
13197        '''
13198        self.port_override = port_override if port_override is not None else 0
13199        '''
13200         The local port used by clients to connect to this resource.
13201        '''
13202        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13203        '''
13204         ID of the proxy cluster for this resource, if any.
13205        '''
13206        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13207        '''
13208         ID of the secret store containing credentials for this resource, if any.
13209        '''
13210        self.subdomain = subdomain if subdomain is not None else ''
13211        '''
13212         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13213        '''
13214        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13215        '''
13216         Tags is a map of key, value pairs.
13217        '''
13218        self.username = username if username is not None else ''
13219        '''
13220         The username to authenticate with.
13221        '''
13222
13223    def __repr__(self):
13224        return '<sdm.KubernetesBasicAuth ' + \
13225            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13226            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13227            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13228            'healthy: ' + repr(self.healthy) + ' ' +\
13229            'hostname: ' + repr(self.hostname) + ' ' +\
13230            'id: ' + repr(self.id) + ' ' +\
13231            'name: ' + repr(self.name) + ' ' +\
13232            'password: ' + repr(self.password) + ' ' +\
13233            'port: ' + repr(self.port) + ' ' +\
13234            'port_override: ' + repr(self.port_override) + ' ' +\
13235            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13236            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13237            'subdomain: ' + repr(self.subdomain) + ' ' +\
13238            'tags: ' + repr(self.tags) + ' ' +\
13239            'username: ' + repr(self.username) + ' ' +\
13240            '>'
13241
13242    def to_dict(self):
13243        return {
13244            'bind_interface': self.bind_interface,
13245            'egress_filter': self.egress_filter,
13246            'healthcheck_namespace': self.healthcheck_namespace,
13247            'healthy': self.healthy,
13248            'hostname': self.hostname,
13249            'id': self.id,
13250            'name': self.name,
13251            'password': self.password,
13252            'port': self.port,
13253            'port_override': self.port_override,
13254            'proxy_cluster_id': self.proxy_cluster_id,
13255            'secret_store_id': self.secret_store_id,
13256            'subdomain': self.subdomain,
13257            'tags': self.tags,
13258            'username': self.username,
13259        }
13260
13261    @classmethod
13262    def from_dict(cls, d):
13263        return cls(
13264            bind_interface=d.get('bind_interface'),
13265            egress_filter=d.get('egress_filter'),
13266            healthcheck_namespace=d.get('healthcheck_namespace'),
13267            healthy=d.get('healthy'),
13268            hostname=d.get('hostname'),
13269            id=d.get('id'),
13270            name=d.get('name'),
13271            password=d.get('password'),
13272            port=d.get('port'),
13273            port_override=d.get('port_override'),
13274            proxy_cluster_id=d.get('proxy_cluster_id'),
13275            secret_store_id=d.get('secret_store_id'),
13276            subdomain=d.get('subdomain'),
13277            tags=d.get('tags'),
13278            username=d.get('username'),
13279        )
13280
13281
13282class KubernetesServiceAccount:
13283    __slots__ = [
13284        'allow_resource_role_bypass',
13285        'bind_interface',
13286        'discovery_enabled',
13287        'discovery_username',
13288        'egress_filter',
13289        'healthcheck_namespace',
13290        'healthy',
13291        'hostname',
13292        'id',
13293        'identity_alias_healthcheck_username',
13294        'identity_set_id',
13295        'name',
13296        'port',
13297        'port_override',
13298        'proxy_cluster_id',
13299        'secret_store_id',
13300        'subdomain',
13301        'tags',
13302        'token',
13303    ]
13304
13305    def __init__(
13306        self,
13307        allow_resource_role_bypass=None,
13308        bind_interface=None,
13309        discovery_enabled=None,
13310        discovery_username=None,
13311        egress_filter=None,
13312        healthcheck_namespace=None,
13313        healthy=None,
13314        hostname=None,
13315        id=None,
13316        identity_alias_healthcheck_username=None,
13317        identity_set_id=None,
13318        name=None,
13319        port=None,
13320        port_override=None,
13321        proxy_cluster_id=None,
13322        secret_store_id=None,
13323        subdomain=None,
13324        tags=None,
13325        token=None,
13326    ):
13327        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13328        '''
13329         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13330         when a resource role is not provided.
13331        '''
13332        self.bind_interface = bind_interface if bind_interface is not None else ''
13333        '''
13334         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13335        '''
13336        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13337        '''
13338         If true, configures discovery of a cluster to be run from a node.
13339        '''
13340        self.discovery_username = discovery_username if discovery_username is not None else ''
13341        '''
13342         If a cluster is configured for user impersonation, this is the user to impersonate when
13343         running discovery.
13344        '''
13345        self.egress_filter = egress_filter if egress_filter is not None else ''
13346        '''
13347         A filter applied to the routing logic to pin datasource to nodes.
13348        '''
13349        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13350        '''
13351         The path used to check the health of your connection.  Defaults to `default`.
13352        '''
13353        self.healthy = healthy if healthy is not None else False
13354        '''
13355         True if the datasource is reachable and the credentials are valid.
13356        '''
13357        self.hostname = hostname if hostname is not None else ''
13358        '''
13359         The host to dial to initiate a connection from the egress node to this resource.
13360        '''
13361        self.id = id if id is not None else ''
13362        '''
13363         Unique identifier of the Resource.
13364        '''
13365        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13366        '''
13367         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13368        '''
13369        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13370        '''
13371         The ID of the identity set to use for identity connections.
13372        '''
13373        self.name = name if name is not None else ''
13374        '''
13375         Unique human-readable name of the Resource.
13376        '''
13377        self.port = port if port is not None else 0
13378        '''
13379         The port to dial to initiate a connection from the egress node to this resource.
13380        '''
13381        self.port_override = port_override if port_override is not None else 0
13382        '''
13383         The local port used by clients to connect to this resource.
13384        '''
13385        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13386        '''
13387         ID of the proxy cluster for this resource, if any.
13388        '''
13389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13390        '''
13391         ID of the secret store containing credentials for this resource, if any.
13392        '''
13393        self.subdomain = subdomain if subdomain is not None else ''
13394        '''
13395         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13396        '''
13397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13398        '''
13399         Tags is a map of key, value pairs.
13400        '''
13401        self.token = token if token is not None else ''
13402        '''
13403         The API token to authenticate with.
13404        '''
13405
13406    def __repr__(self):
13407        return '<sdm.KubernetesServiceAccount ' + \
13408            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13409            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13410            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13411            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13412            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13413            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13414            'healthy: ' + repr(self.healthy) + ' ' +\
13415            'hostname: ' + repr(self.hostname) + ' ' +\
13416            'id: ' + repr(self.id) + ' ' +\
13417            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13418            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13419            'name: ' + repr(self.name) + ' ' +\
13420            'port: ' + repr(self.port) + ' ' +\
13421            'port_override: ' + repr(self.port_override) + ' ' +\
13422            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13423            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13424            'subdomain: ' + repr(self.subdomain) + ' ' +\
13425            'tags: ' + repr(self.tags) + ' ' +\
13426            'token: ' + repr(self.token) + ' ' +\
13427            '>'
13428
13429    def to_dict(self):
13430        return {
13431            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13432            'bind_interface': self.bind_interface,
13433            'discovery_enabled': self.discovery_enabled,
13434            'discovery_username': self.discovery_username,
13435            'egress_filter': self.egress_filter,
13436            'healthcheck_namespace': self.healthcheck_namespace,
13437            'healthy': self.healthy,
13438            'hostname': self.hostname,
13439            'id': self.id,
13440            'identity_alias_healthcheck_username':
13441            self.identity_alias_healthcheck_username,
13442            'identity_set_id': self.identity_set_id,
13443            'name': self.name,
13444            'port': self.port,
13445            'port_override': self.port_override,
13446            'proxy_cluster_id': self.proxy_cluster_id,
13447            'secret_store_id': self.secret_store_id,
13448            'subdomain': self.subdomain,
13449            'tags': self.tags,
13450            'token': self.token,
13451        }
13452
13453    @classmethod
13454    def from_dict(cls, d):
13455        return cls(
13456            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13457            bind_interface=d.get('bind_interface'),
13458            discovery_enabled=d.get('discovery_enabled'),
13459            discovery_username=d.get('discovery_username'),
13460            egress_filter=d.get('egress_filter'),
13461            healthcheck_namespace=d.get('healthcheck_namespace'),
13462            healthy=d.get('healthy'),
13463            hostname=d.get('hostname'),
13464            id=d.get('id'),
13465            identity_alias_healthcheck_username=d.get(
13466                'identity_alias_healthcheck_username'),
13467            identity_set_id=d.get('identity_set_id'),
13468            name=d.get('name'),
13469            port=d.get('port'),
13470            port_override=d.get('port_override'),
13471            proxy_cluster_id=d.get('proxy_cluster_id'),
13472            secret_store_id=d.get('secret_store_id'),
13473            subdomain=d.get('subdomain'),
13474            tags=d.get('tags'),
13475            token=d.get('token'),
13476        )
13477
13478
13479class KubernetesServiceAccountUserImpersonation:
13480    __slots__ = [
13481        'bind_interface',
13482        'egress_filter',
13483        'healthcheck_namespace',
13484        'healthy',
13485        'hostname',
13486        'id',
13487        'name',
13488        'port',
13489        'port_override',
13490        'proxy_cluster_id',
13491        'secret_store_id',
13492        'subdomain',
13493        'tags',
13494        'token',
13495    ]
13496
13497    def __init__(
13498        self,
13499        bind_interface=None,
13500        egress_filter=None,
13501        healthcheck_namespace=None,
13502        healthy=None,
13503        hostname=None,
13504        id=None,
13505        name=None,
13506        port=None,
13507        port_override=None,
13508        proxy_cluster_id=None,
13509        secret_store_id=None,
13510        subdomain=None,
13511        tags=None,
13512        token=None,
13513    ):
13514        self.bind_interface = bind_interface if bind_interface is not None else ''
13515        '''
13516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13517        '''
13518        self.egress_filter = egress_filter if egress_filter is not None else ''
13519        '''
13520         A filter applied to the routing logic to pin datasource to nodes.
13521        '''
13522        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13523        '''
13524         The path used to check the health of your connection.  Defaults to `default`.
13525        '''
13526        self.healthy = healthy if healthy is not None else False
13527        '''
13528         True if the datasource is reachable and the credentials are valid.
13529        '''
13530        self.hostname = hostname if hostname is not None else ''
13531        '''
13532         The host to dial to initiate a connection from the egress node to this resource.
13533        '''
13534        self.id = id if id is not None else ''
13535        '''
13536         Unique identifier of the Resource.
13537        '''
13538        self.name = name if name is not None else ''
13539        '''
13540         Unique human-readable name of the Resource.
13541        '''
13542        self.port = port if port is not None else 0
13543        '''
13544         The port to dial to initiate a connection from the egress node to this resource.
13545        '''
13546        self.port_override = port_override if port_override is not None else 0
13547        '''
13548         The local port used by clients to connect to this resource.
13549        '''
13550        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13551        '''
13552         ID of the proxy cluster for this resource, if any.
13553        '''
13554        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13555        '''
13556         ID of the secret store containing credentials for this resource, if any.
13557        '''
13558        self.subdomain = subdomain if subdomain is not None else ''
13559        '''
13560         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13561        '''
13562        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13563        '''
13564         Tags is a map of key, value pairs.
13565        '''
13566        self.token = token if token is not None else ''
13567        '''
13568         The API token to authenticate with.
13569        '''
13570
13571    def __repr__(self):
13572        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
13573            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13574            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13575            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13576            'healthy: ' + repr(self.healthy) + ' ' +\
13577            'hostname: ' + repr(self.hostname) + ' ' +\
13578            'id: ' + repr(self.id) + ' ' +\
13579            'name: ' + repr(self.name) + ' ' +\
13580            'port: ' + repr(self.port) + ' ' +\
13581            'port_override: ' + repr(self.port_override) + ' ' +\
13582            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13583            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13584            'subdomain: ' + repr(self.subdomain) + ' ' +\
13585            'tags: ' + repr(self.tags) + ' ' +\
13586            'token: ' + repr(self.token) + ' ' +\
13587            '>'
13588
13589    def to_dict(self):
13590        return {
13591            'bind_interface': self.bind_interface,
13592            'egress_filter': self.egress_filter,
13593            'healthcheck_namespace': self.healthcheck_namespace,
13594            'healthy': self.healthy,
13595            'hostname': self.hostname,
13596            'id': self.id,
13597            'name': self.name,
13598            'port': self.port,
13599            'port_override': self.port_override,
13600            'proxy_cluster_id': self.proxy_cluster_id,
13601            'secret_store_id': self.secret_store_id,
13602            'subdomain': self.subdomain,
13603            'tags': self.tags,
13604            'token': self.token,
13605        }
13606
13607    @classmethod
13608    def from_dict(cls, d):
13609        return cls(
13610            bind_interface=d.get('bind_interface'),
13611            egress_filter=d.get('egress_filter'),
13612            healthcheck_namespace=d.get('healthcheck_namespace'),
13613            healthy=d.get('healthy'),
13614            hostname=d.get('hostname'),
13615            id=d.get('id'),
13616            name=d.get('name'),
13617            port=d.get('port'),
13618            port_override=d.get('port_override'),
13619            proxy_cluster_id=d.get('proxy_cluster_id'),
13620            secret_store_id=d.get('secret_store_id'),
13621            subdomain=d.get('subdomain'),
13622            tags=d.get('tags'),
13623            token=d.get('token'),
13624        )
13625
13626
13627class KubernetesUserImpersonation:
13628    __slots__ = [
13629        'bind_interface',
13630        'certificate_authority',
13631        'client_certificate',
13632        'client_key',
13633        'egress_filter',
13634        'healthcheck_namespace',
13635        'healthy',
13636        'hostname',
13637        'id',
13638        'name',
13639        'port',
13640        'port_override',
13641        'proxy_cluster_id',
13642        'secret_store_id',
13643        'subdomain',
13644        'tags',
13645    ]
13646
13647    def __init__(
13648        self,
13649        bind_interface=None,
13650        certificate_authority=None,
13651        client_certificate=None,
13652        client_key=None,
13653        egress_filter=None,
13654        healthcheck_namespace=None,
13655        healthy=None,
13656        hostname=None,
13657        id=None,
13658        name=None,
13659        port=None,
13660        port_override=None,
13661        proxy_cluster_id=None,
13662        secret_store_id=None,
13663        subdomain=None,
13664        tags=None,
13665    ):
13666        self.bind_interface = bind_interface if bind_interface is not None else ''
13667        '''
13668         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13669        '''
13670        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13671        '''
13672         The CA to authenticate TLS connections with.
13673        '''
13674        self.client_certificate = client_certificate if client_certificate is not None else ''
13675        '''
13676         The certificate to authenticate TLS connections with.
13677        '''
13678        self.client_key = client_key if client_key is not None else ''
13679        '''
13680         The key to authenticate TLS connections with.
13681        '''
13682        self.egress_filter = egress_filter if egress_filter is not None else ''
13683        '''
13684         A filter applied to the routing logic to pin datasource to nodes.
13685        '''
13686        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13687        '''
13688         The path used to check the health of your connection.  Defaults to `default`.
13689        '''
13690        self.healthy = healthy if healthy is not None else False
13691        '''
13692         True if the datasource is reachable and the credentials are valid.
13693        '''
13694        self.hostname = hostname if hostname is not None else ''
13695        '''
13696         The host to dial to initiate a connection from the egress node to this resource.
13697        '''
13698        self.id = id if id is not None else ''
13699        '''
13700         Unique identifier of the Resource.
13701        '''
13702        self.name = name if name is not None else ''
13703        '''
13704         Unique human-readable name of the Resource.
13705        '''
13706        self.port = port if port is not None else 0
13707        '''
13708         The port to dial to initiate a connection from the egress node to this resource.
13709        '''
13710        self.port_override = port_override if port_override is not None else 0
13711        '''
13712         The local port used by clients to connect to this resource.
13713        '''
13714        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13715        '''
13716         ID of the proxy cluster for this resource, if any.
13717        '''
13718        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13719        '''
13720         ID of the secret store containing credentials for this resource, if any.
13721        '''
13722        self.subdomain = subdomain if subdomain is not None else ''
13723        '''
13724         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13725        '''
13726        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13727        '''
13728         Tags is a map of key, value pairs.
13729        '''
13730
13731    def __repr__(self):
13732        return '<sdm.KubernetesUserImpersonation ' + \
13733            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13734            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13735            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13736            'client_key: ' + repr(self.client_key) + ' ' +\
13737            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13738            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13739            'healthy: ' + repr(self.healthy) + ' ' +\
13740            'hostname: ' + repr(self.hostname) + ' ' +\
13741            'id: ' + repr(self.id) + ' ' +\
13742            'name: ' + repr(self.name) + ' ' +\
13743            'port: ' + repr(self.port) + ' ' +\
13744            'port_override: ' + repr(self.port_override) + ' ' +\
13745            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13746            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13747            'subdomain: ' + repr(self.subdomain) + ' ' +\
13748            'tags: ' + repr(self.tags) + ' ' +\
13749            '>'
13750
13751    def to_dict(self):
13752        return {
13753            'bind_interface': self.bind_interface,
13754            'certificate_authority': self.certificate_authority,
13755            'client_certificate': self.client_certificate,
13756            'client_key': self.client_key,
13757            'egress_filter': self.egress_filter,
13758            'healthcheck_namespace': self.healthcheck_namespace,
13759            'healthy': self.healthy,
13760            'hostname': self.hostname,
13761            'id': self.id,
13762            'name': self.name,
13763            'port': self.port,
13764            'port_override': self.port_override,
13765            'proxy_cluster_id': self.proxy_cluster_id,
13766            'secret_store_id': self.secret_store_id,
13767            'subdomain': self.subdomain,
13768            'tags': self.tags,
13769        }
13770
13771    @classmethod
13772    def from_dict(cls, d):
13773        return cls(
13774            bind_interface=d.get('bind_interface'),
13775            certificate_authority=d.get('certificate_authority'),
13776            client_certificate=d.get('client_certificate'),
13777            client_key=d.get('client_key'),
13778            egress_filter=d.get('egress_filter'),
13779            healthcheck_namespace=d.get('healthcheck_namespace'),
13780            healthy=d.get('healthy'),
13781            hostname=d.get('hostname'),
13782            id=d.get('id'),
13783            name=d.get('name'),
13784            port=d.get('port'),
13785            port_override=d.get('port_override'),
13786            proxy_cluster_id=d.get('proxy_cluster_id'),
13787            secret_store_id=d.get('secret_store_id'),
13788            subdomain=d.get('subdomain'),
13789            tags=d.get('tags'),
13790        )
13791
13792
13793class MTLSMysql:
13794    '''
13795    MTLSMysql is currently unstable, and its API may change, or it may be removed,
13796    without a major version bump.
13797    '''
13798    __slots__ = [
13799        'bind_interface',
13800        'certificate_authority',
13801        'client_certificate',
13802        'client_key',
13803        'database',
13804        'egress_filter',
13805        'healthy',
13806        'hostname',
13807        'id',
13808        'name',
13809        'password',
13810        'port',
13811        'port_override',
13812        'proxy_cluster_id',
13813        'require_native_auth',
13814        'secret_store_id',
13815        'server_name',
13816        'subdomain',
13817        'tags',
13818        'use_azure_single_server_usernames',
13819        'username',
13820    ]
13821
13822    def __init__(
13823        self,
13824        bind_interface=None,
13825        certificate_authority=None,
13826        client_certificate=None,
13827        client_key=None,
13828        database=None,
13829        egress_filter=None,
13830        healthy=None,
13831        hostname=None,
13832        id=None,
13833        name=None,
13834        password=None,
13835        port=None,
13836        port_override=None,
13837        proxy_cluster_id=None,
13838        require_native_auth=None,
13839        secret_store_id=None,
13840        server_name=None,
13841        subdomain=None,
13842        tags=None,
13843        use_azure_single_server_usernames=None,
13844        username=None,
13845    ):
13846        self.bind_interface = bind_interface if bind_interface is not None else ''
13847        '''
13848         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13849        '''
13850        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13851        '''
13852         The CA to authenticate TLS connections with.
13853        '''
13854        self.client_certificate = client_certificate if client_certificate is not None else ''
13855        '''
13856         The certificate to authenticate TLS connections with.
13857        '''
13858        self.client_key = client_key if client_key is not None else ''
13859        '''
13860         The key to authenticate TLS connections with.
13861        '''
13862        self.database = database if database is not None else ''
13863        '''
13864         The database for healthchecks. Does not affect client requests.
13865        '''
13866        self.egress_filter = egress_filter if egress_filter is not None else ''
13867        '''
13868         A filter applied to the routing logic to pin datasource to nodes.
13869        '''
13870        self.healthy = healthy if healthy is not None else False
13871        '''
13872         True if the datasource is reachable and the credentials are valid.
13873        '''
13874        self.hostname = hostname if hostname is not None else ''
13875        '''
13876         The host to dial to initiate a connection from the egress node to this resource.
13877        '''
13878        self.id = id if id is not None else ''
13879        '''
13880         Unique identifier of the Resource.
13881        '''
13882        self.name = name if name is not None else ''
13883        '''
13884         Unique human-readable name of the Resource.
13885        '''
13886        self.password = password if password is not None else ''
13887        '''
13888         The password to authenticate with.
13889        '''
13890        self.port = port if port is not None else 0
13891        '''
13892         The port to dial to initiate a connection from the egress node to this resource.
13893        '''
13894        self.port_override = port_override if port_override is not None else 0
13895        '''
13896         The local port used by clients to connect to this resource.
13897        '''
13898        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13899        '''
13900         ID of the proxy cluster for this resource, if any.
13901        '''
13902        self.require_native_auth = require_native_auth if require_native_auth is not None else False
13903        '''
13904         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
13905        '''
13906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13907        '''
13908         ID of the secret store containing credentials for this resource, if any.
13909        '''
13910        self.server_name = server_name if server_name is not None else ''
13911        '''
13912         Server name for TLS verification (unverified by StrongDM if empty)
13913        '''
13914        self.subdomain = subdomain if subdomain is not None else ''
13915        '''
13916         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13917        '''
13918        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13919        '''
13920         Tags is a map of key, value pairs.
13921        '''
13922        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
13923        '''
13924         If true, appends the hostname to the username when hitting a database.azure.com address
13925        '''
13926        self.username = username if username is not None else ''
13927        '''
13928         The username to authenticate with.
13929        '''
13930
13931    def __repr__(self):
13932        return '<sdm.MTLSMysql ' + \
13933            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13934            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13935            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13936            'client_key: ' + repr(self.client_key) + ' ' +\
13937            'database: ' + repr(self.database) + ' ' +\
13938            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13939            'healthy: ' + repr(self.healthy) + ' ' +\
13940            'hostname: ' + repr(self.hostname) + ' ' +\
13941            'id: ' + repr(self.id) + ' ' +\
13942            'name: ' + repr(self.name) + ' ' +\
13943            'password: ' + repr(self.password) + ' ' +\
13944            'port: ' + repr(self.port) + ' ' +\
13945            'port_override: ' + repr(self.port_override) + ' ' +\
13946            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13947            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
13948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13949            'server_name: ' + repr(self.server_name) + ' ' +\
13950            'subdomain: ' + repr(self.subdomain) + ' ' +\
13951            'tags: ' + repr(self.tags) + ' ' +\
13952            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
13953            'username: ' + repr(self.username) + ' ' +\
13954            '>'
13955
13956    def to_dict(self):
13957        return {
13958            'bind_interface': self.bind_interface,
13959            'certificate_authority': self.certificate_authority,
13960            'client_certificate': self.client_certificate,
13961            'client_key': self.client_key,
13962            'database': self.database,
13963            'egress_filter': self.egress_filter,
13964            'healthy': self.healthy,
13965            'hostname': self.hostname,
13966            'id': self.id,
13967            'name': self.name,
13968            'password': self.password,
13969            'port': self.port,
13970            'port_override': self.port_override,
13971            'proxy_cluster_id': self.proxy_cluster_id,
13972            'require_native_auth': self.require_native_auth,
13973            'secret_store_id': self.secret_store_id,
13974            'server_name': self.server_name,
13975            'subdomain': self.subdomain,
13976            'tags': self.tags,
13977            'use_azure_single_server_usernames':
13978            self.use_azure_single_server_usernames,
13979            'username': self.username,
13980        }
13981
13982    @classmethod
13983    def from_dict(cls, d):
13984        return cls(
13985            bind_interface=d.get('bind_interface'),
13986            certificate_authority=d.get('certificate_authority'),
13987            client_certificate=d.get('client_certificate'),
13988            client_key=d.get('client_key'),
13989            database=d.get('database'),
13990            egress_filter=d.get('egress_filter'),
13991            healthy=d.get('healthy'),
13992            hostname=d.get('hostname'),
13993            id=d.get('id'),
13994            name=d.get('name'),
13995            password=d.get('password'),
13996            port=d.get('port'),
13997            port_override=d.get('port_override'),
13998            proxy_cluster_id=d.get('proxy_cluster_id'),
13999            require_native_auth=d.get('require_native_auth'),
14000            secret_store_id=d.get('secret_store_id'),
14001            server_name=d.get('server_name'),
14002            subdomain=d.get('subdomain'),
14003            tags=d.get('tags'),
14004            use_azure_single_server_usernames=d.get(
14005                'use_azure_single_server_usernames'),
14006            username=d.get('username'),
14007        )
14008
14009
14010class MTLSPostgres:
14011    __slots__ = [
14012        'bind_interface',
14013        'certificate_authority',
14014        'client_certificate',
14015        'client_key',
14016        'database',
14017        'egress_filter',
14018        'healthy',
14019        'hostname',
14020        'id',
14021        'name',
14022        'override_database',
14023        'password',
14024        'port',
14025        'port_override',
14026        'proxy_cluster_id',
14027        'secret_store_id',
14028        'server_name',
14029        'subdomain',
14030        'tags',
14031        'username',
14032    ]
14033
14034    def __init__(
14035        self,
14036        bind_interface=None,
14037        certificate_authority=None,
14038        client_certificate=None,
14039        client_key=None,
14040        database=None,
14041        egress_filter=None,
14042        healthy=None,
14043        hostname=None,
14044        id=None,
14045        name=None,
14046        override_database=None,
14047        password=None,
14048        port=None,
14049        port_override=None,
14050        proxy_cluster_id=None,
14051        secret_store_id=None,
14052        server_name=None,
14053        subdomain=None,
14054        tags=None,
14055        username=None,
14056    ):
14057        self.bind_interface = bind_interface if bind_interface is not None else ''
14058        '''
14059         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14060        '''
14061        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14062        '''
14063         The CA to authenticate TLS connections with.
14064        '''
14065        self.client_certificate = client_certificate if client_certificate is not None else ''
14066        '''
14067         The certificate to authenticate TLS connections with.
14068        '''
14069        self.client_key = client_key if client_key is not None else ''
14070        '''
14071         The key to authenticate TLS connections with.
14072        '''
14073        self.database = database if database is not None else ''
14074        '''
14075         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14076        '''
14077        self.egress_filter = egress_filter if egress_filter is not None else ''
14078        '''
14079         A filter applied to the routing logic to pin datasource to nodes.
14080        '''
14081        self.healthy = healthy if healthy is not None else False
14082        '''
14083         True if the datasource is reachable and the credentials are valid.
14084        '''
14085        self.hostname = hostname if hostname is not None else ''
14086        '''
14087         The host to dial to initiate a connection from the egress node to this resource.
14088        '''
14089        self.id = id if id is not None else ''
14090        '''
14091         Unique identifier of the Resource.
14092        '''
14093        self.name = name if name is not None else ''
14094        '''
14095         Unique human-readable name of the Resource.
14096        '''
14097        self.override_database = override_database if override_database is not None else False
14098        '''
14099         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.
14100        '''
14101        self.password = password if password is not None else ''
14102        '''
14103         The password to authenticate with.
14104        '''
14105        self.port = port if port is not None else 0
14106        '''
14107         The port to dial to initiate a connection from the egress node to this resource.
14108        '''
14109        self.port_override = port_override if port_override is not None else 0
14110        '''
14111         The local port used by clients to connect to this resource.
14112        '''
14113        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14114        '''
14115         ID of the proxy cluster for this resource, if any.
14116        '''
14117        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14118        '''
14119         ID of the secret store containing credentials for this resource, if any.
14120        '''
14121        self.server_name = server_name if server_name is not None else ''
14122        '''
14123         Server name for TLS verification (unverified by StrongDM if empty)
14124        '''
14125        self.subdomain = subdomain if subdomain is not None else ''
14126        '''
14127         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14128        '''
14129        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14130        '''
14131         Tags is a map of key, value pairs.
14132        '''
14133        self.username = username if username is not None else ''
14134        '''
14135         The username to authenticate with.
14136        '''
14137
14138    def __repr__(self):
14139        return '<sdm.MTLSPostgres ' + \
14140            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14141            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14142            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
14143            'client_key: ' + repr(self.client_key) + ' ' +\
14144            'database: ' + repr(self.database) + ' ' +\
14145            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14146            'healthy: ' + repr(self.healthy) + ' ' +\
14147            'hostname: ' + repr(self.hostname) + ' ' +\
14148            'id: ' + repr(self.id) + ' ' +\
14149            'name: ' + repr(self.name) + ' ' +\
14150            'override_database: ' + repr(self.override_database) + ' ' +\
14151            'password: ' + repr(self.password) + ' ' +\
14152            'port: ' + repr(self.port) + ' ' +\
14153            'port_override: ' + repr(self.port_override) + ' ' +\
14154            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14155            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14156            'server_name: ' + repr(self.server_name) + ' ' +\
14157            'subdomain: ' + repr(self.subdomain) + ' ' +\
14158            'tags: ' + repr(self.tags) + ' ' +\
14159            'username: ' + repr(self.username) + ' ' +\
14160            '>'
14161
14162    def to_dict(self):
14163        return {
14164            'bind_interface': self.bind_interface,
14165            'certificate_authority': self.certificate_authority,
14166            'client_certificate': self.client_certificate,
14167            'client_key': self.client_key,
14168            'database': self.database,
14169            'egress_filter': self.egress_filter,
14170            'healthy': self.healthy,
14171            'hostname': self.hostname,
14172            'id': self.id,
14173            'name': self.name,
14174            'override_database': self.override_database,
14175            'password': self.password,
14176            'port': self.port,
14177            'port_override': self.port_override,
14178            'proxy_cluster_id': self.proxy_cluster_id,
14179            'secret_store_id': self.secret_store_id,
14180            'server_name': self.server_name,
14181            'subdomain': self.subdomain,
14182            'tags': self.tags,
14183            'username': self.username,
14184        }
14185
14186    @classmethod
14187    def from_dict(cls, d):
14188        return cls(
14189            bind_interface=d.get('bind_interface'),
14190            certificate_authority=d.get('certificate_authority'),
14191            client_certificate=d.get('client_certificate'),
14192            client_key=d.get('client_key'),
14193            database=d.get('database'),
14194            egress_filter=d.get('egress_filter'),
14195            healthy=d.get('healthy'),
14196            hostname=d.get('hostname'),
14197            id=d.get('id'),
14198            name=d.get('name'),
14199            override_database=d.get('override_database'),
14200            password=d.get('password'),
14201            port=d.get('port'),
14202            port_override=d.get('port_override'),
14203            proxy_cluster_id=d.get('proxy_cluster_id'),
14204            secret_store_id=d.get('secret_store_id'),
14205            server_name=d.get('server_name'),
14206            subdomain=d.get('subdomain'),
14207            tags=d.get('tags'),
14208            username=d.get('username'),
14209        )
14210
14211
14212class Maria:
14213    __slots__ = [
14214        'bind_interface',
14215        'database',
14216        'egress_filter',
14217        'healthy',
14218        'hostname',
14219        'id',
14220        'name',
14221        'password',
14222        'port',
14223        'port_override',
14224        'proxy_cluster_id',
14225        'require_native_auth',
14226        'secret_store_id',
14227        'subdomain',
14228        'tags',
14229        'use_azure_single_server_usernames',
14230        'username',
14231    ]
14232
14233    def __init__(
14234        self,
14235        bind_interface=None,
14236        database=None,
14237        egress_filter=None,
14238        healthy=None,
14239        hostname=None,
14240        id=None,
14241        name=None,
14242        password=None,
14243        port=None,
14244        port_override=None,
14245        proxy_cluster_id=None,
14246        require_native_auth=None,
14247        secret_store_id=None,
14248        subdomain=None,
14249        tags=None,
14250        use_azure_single_server_usernames=None,
14251        username=None,
14252    ):
14253        self.bind_interface = bind_interface if bind_interface is not None else ''
14254        '''
14255         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14256        '''
14257        self.database = database if database is not None else ''
14258        '''
14259         The database for healthchecks. Does not affect client requests.
14260        '''
14261        self.egress_filter = egress_filter if egress_filter is not None else ''
14262        '''
14263         A filter applied to the routing logic to pin datasource to nodes.
14264        '''
14265        self.healthy = healthy if healthy is not None else False
14266        '''
14267         True if the datasource is reachable and the credentials are valid.
14268        '''
14269        self.hostname = hostname if hostname is not None else ''
14270        '''
14271         The host to dial to initiate a connection from the egress node to this resource.
14272        '''
14273        self.id = id if id is not None else ''
14274        '''
14275         Unique identifier of the Resource.
14276        '''
14277        self.name = name if name is not None else ''
14278        '''
14279         Unique human-readable name of the Resource.
14280        '''
14281        self.password = password if password is not None else ''
14282        '''
14283         The password to authenticate with.
14284        '''
14285        self.port = port if port is not None else 0
14286        '''
14287         The port to dial to initiate a connection from the egress node to this resource.
14288        '''
14289        self.port_override = port_override if port_override is not None else 0
14290        '''
14291         The local port used by clients to connect to this resource.
14292        '''
14293        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14294        '''
14295         ID of the proxy cluster for this resource, if any.
14296        '''
14297        self.require_native_auth = require_native_auth if require_native_auth is not None else False
14298        '''
14299         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14300        '''
14301        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14302        '''
14303         ID of the secret store containing credentials for this resource, if any.
14304        '''
14305        self.subdomain = subdomain if subdomain is not None else ''
14306        '''
14307         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14308        '''
14309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14310        '''
14311         Tags is a map of key, value pairs.
14312        '''
14313        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14314        '''
14315         If true, appends the hostname to the username when hitting a database.azure.com address
14316        '''
14317        self.username = username if username is not None else ''
14318        '''
14319         The username to authenticate with.
14320        '''
14321
14322    def __repr__(self):
14323        return '<sdm.Maria ' + \
14324            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14325            'database: ' + repr(self.database) + ' ' +\
14326            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14327            'healthy: ' + repr(self.healthy) + ' ' +\
14328            'hostname: ' + repr(self.hostname) + ' ' +\
14329            'id: ' + repr(self.id) + ' ' +\
14330            'name: ' + repr(self.name) + ' ' +\
14331            'password: ' + repr(self.password) + ' ' +\
14332            'port: ' + repr(self.port) + ' ' +\
14333            'port_override: ' + repr(self.port_override) + ' ' +\
14334            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14335            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
14336            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14337            'subdomain: ' + repr(self.subdomain) + ' ' +\
14338            'tags: ' + repr(self.tags) + ' ' +\
14339            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
14340            'username: ' + repr(self.username) + ' ' +\
14341            '>'
14342
14343    def to_dict(self):
14344        return {
14345            'bind_interface': self.bind_interface,
14346            'database': self.database,
14347            'egress_filter': self.egress_filter,
14348            'healthy': self.healthy,
14349            'hostname': self.hostname,
14350            'id': self.id,
14351            'name': self.name,
14352            'password': self.password,
14353            'port': self.port,
14354            'port_override': self.port_override,
14355            'proxy_cluster_id': self.proxy_cluster_id,
14356            'require_native_auth': self.require_native_auth,
14357            'secret_store_id': self.secret_store_id,
14358            'subdomain': self.subdomain,
14359            'tags': self.tags,
14360            'use_azure_single_server_usernames':
14361            self.use_azure_single_server_usernames,
14362            'username': self.username,
14363        }
14364
14365    @classmethod
14366    def from_dict(cls, d):
14367        return cls(
14368            bind_interface=d.get('bind_interface'),
14369            database=d.get('database'),
14370            egress_filter=d.get('egress_filter'),
14371            healthy=d.get('healthy'),
14372            hostname=d.get('hostname'),
14373            id=d.get('id'),
14374            name=d.get('name'),
14375            password=d.get('password'),
14376            port=d.get('port'),
14377            port_override=d.get('port_override'),
14378            proxy_cluster_id=d.get('proxy_cluster_id'),
14379            require_native_auth=d.get('require_native_auth'),
14380            secret_store_id=d.get('secret_store_id'),
14381            subdomain=d.get('subdomain'),
14382            tags=d.get('tags'),
14383            use_azure_single_server_usernames=d.get(
14384                'use_azure_single_server_usernames'),
14385            username=d.get('username'),
14386        )
14387
14388
14389class Memcached:
14390    __slots__ = [
14391        'bind_interface',
14392        'egress_filter',
14393        'healthy',
14394        'hostname',
14395        'id',
14396        'name',
14397        'port',
14398        'port_override',
14399        'proxy_cluster_id',
14400        'secret_store_id',
14401        'subdomain',
14402        'tags',
14403    ]
14404
14405    def __init__(
14406        self,
14407        bind_interface=None,
14408        egress_filter=None,
14409        healthy=None,
14410        hostname=None,
14411        id=None,
14412        name=None,
14413        port=None,
14414        port_override=None,
14415        proxy_cluster_id=None,
14416        secret_store_id=None,
14417        subdomain=None,
14418        tags=None,
14419    ):
14420        self.bind_interface = bind_interface if bind_interface is not None else ''
14421        '''
14422         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14423        '''
14424        self.egress_filter = egress_filter if egress_filter is not None else ''
14425        '''
14426         A filter applied to the routing logic to pin datasource to nodes.
14427        '''
14428        self.healthy = healthy if healthy is not None else False
14429        '''
14430         True if the datasource is reachable and the credentials are valid.
14431        '''
14432        self.hostname = hostname if hostname is not None else ''
14433        '''
14434         The host to dial to initiate a connection from the egress node to this resource.
14435        '''
14436        self.id = id if id is not None else ''
14437        '''
14438         Unique identifier of the Resource.
14439        '''
14440        self.name = name if name is not None else ''
14441        '''
14442         Unique human-readable name of the Resource.
14443        '''
14444        self.port = port if port is not None else 0
14445        '''
14446         The port to dial to initiate a connection from the egress node to this resource.
14447        '''
14448        self.port_override = port_override if port_override is not None else 0
14449        '''
14450         The local port used by clients to connect to this resource.
14451        '''
14452        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14453        '''
14454         ID of the proxy cluster for this resource, if any.
14455        '''
14456        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14457        '''
14458         ID of the secret store containing credentials for this resource, if any.
14459        '''
14460        self.subdomain = subdomain if subdomain is not None else ''
14461        '''
14462         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14463        '''
14464        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14465        '''
14466         Tags is a map of key, value pairs.
14467        '''
14468
14469    def __repr__(self):
14470        return '<sdm.Memcached ' + \
14471            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14472            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14473            'healthy: ' + repr(self.healthy) + ' ' +\
14474            'hostname: ' + repr(self.hostname) + ' ' +\
14475            'id: ' + repr(self.id) + ' ' +\
14476            'name: ' + repr(self.name) + ' ' +\
14477            'port: ' + repr(self.port) + ' ' +\
14478            'port_override: ' + repr(self.port_override) + ' ' +\
14479            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14480            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14481            'subdomain: ' + repr(self.subdomain) + ' ' +\
14482            'tags: ' + repr(self.tags) + ' ' +\
14483            '>'
14484
14485    def to_dict(self):
14486        return {
14487            'bind_interface': self.bind_interface,
14488            'egress_filter': self.egress_filter,
14489            'healthy': self.healthy,
14490            'hostname': self.hostname,
14491            'id': self.id,
14492            'name': self.name,
14493            'port': self.port,
14494            'port_override': self.port_override,
14495            'proxy_cluster_id': self.proxy_cluster_id,
14496            'secret_store_id': self.secret_store_id,
14497            'subdomain': self.subdomain,
14498            'tags': self.tags,
14499        }
14500
14501    @classmethod
14502    def from_dict(cls, d):
14503        return cls(
14504            bind_interface=d.get('bind_interface'),
14505            egress_filter=d.get('egress_filter'),
14506            healthy=d.get('healthy'),
14507            hostname=d.get('hostname'),
14508            id=d.get('id'),
14509            name=d.get('name'),
14510            port=d.get('port'),
14511            port_override=d.get('port_override'),
14512            proxy_cluster_id=d.get('proxy_cluster_id'),
14513            secret_store_id=d.get('secret_store_id'),
14514            subdomain=d.get('subdomain'),
14515            tags=d.get('tags'),
14516        )
14517
14518
14519class Memsql:
14520    __slots__ = [
14521        'bind_interface',
14522        'database',
14523        'egress_filter',
14524        'healthy',
14525        'hostname',
14526        'id',
14527        'name',
14528        'password',
14529        'port',
14530        'port_override',
14531        'proxy_cluster_id',
14532        'require_native_auth',
14533        'secret_store_id',
14534        'subdomain',
14535        'tags',
14536        'use_azure_single_server_usernames',
14537        'username',
14538    ]
14539
14540    def __init__(
14541        self,
14542        bind_interface=None,
14543        database=None,
14544        egress_filter=None,
14545        healthy=None,
14546        hostname=None,
14547        id=None,
14548        name=None,
14549        password=None,
14550        port=None,
14551        port_override=None,
14552        proxy_cluster_id=None,
14553        require_native_auth=None,
14554        secret_store_id=None,
14555        subdomain=None,
14556        tags=None,
14557        use_azure_single_server_usernames=None,
14558        username=None,
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.database = database if database is not None else ''
14565        '''
14566         The database for healthchecks. Does not affect client requests.
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.healthy = healthy if healthy is not None else False
14573        '''
14574         True if the datasource is reachable and the credentials are valid.
14575        '''
14576        self.hostname = hostname if hostname is not None else ''
14577        '''
14578         The host to dial to initiate a connection from the egress node to this resource.
14579        '''
14580        self.id = id if id is not None else ''
14581        '''
14582         Unique identifier of the Resource.
14583        '''
14584        self.name = name if name is not None else ''
14585        '''
14586         Unique human-readable name of the Resource.
14587        '''
14588        self.password = password if password is not None else ''
14589        '''
14590         The password to authenticate with.
14591        '''
14592        self.port = port if port is not None else 0
14593        '''
14594         The port to dial to initiate a connection from the egress node to this 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.require_native_auth = require_native_auth if require_native_auth is not None else False
14605        '''
14606         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14607        '''
14608        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14609        '''
14610         ID of the secret store containing credentials for this resource, if any.
14611        '''
14612        self.subdomain = subdomain if subdomain is not None else ''
14613        '''
14614         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14615        '''
14616        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14617        '''
14618         Tags is a map of key, value pairs.
14619        '''
14620        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14621        '''
14622         If true, appends the hostname to the username when hitting a database.azure.com address
14623        '''
14624        self.username = username if username is not None else ''
14625        '''
14626         The username to authenticate with.
14627        '''
14628
14629    def __repr__(self):
14630        return '<sdm.Memsql ' + \
14631            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14632            'database: ' + repr(self.database) + ' ' +\
14633            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14634            'healthy: ' + repr(self.healthy) + ' ' +\
14635            'hostname: ' + repr(self.hostname) + ' ' +\
14636            'id: ' + repr(self.id) + ' ' +\
14637            'name: ' + repr(self.name) + ' ' +\
14638            'password: ' + repr(self.password) + ' ' +\
14639            'port: ' + repr(self.port) + ' ' +\
14640            'port_override: ' + repr(self.port_override) + ' ' +\
14641            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14642            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
14643            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14644            'subdomain: ' + repr(self.subdomain) + ' ' +\
14645            'tags: ' + repr(self.tags) + ' ' +\
14646            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
14647            'username: ' + repr(self.username) + ' ' +\
14648            '>'
14649
14650    def to_dict(self):
14651        return {
14652            'bind_interface': self.bind_interface,
14653            'database': self.database,
14654            'egress_filter': self.egress_filter,
14655            'healthy': self.healthy,
14656            'hostname': self.hostname,
14657            'id': self.id,
14658            'name': self.name,
14659            'password': self.password,
14660            'port': self.port,
14661            'port_override': self.port_override,
14662            'proxy_cluster_id': self.proxy_cluster_id,
14663            'require_native_auth': self.require_native_auth,
14664            'secret_store_id': self.secret_store_id,
14665            'subdomain': self.subdomain,
14666            'tags': self.tags,
14667            'use_azure_single_server_usernames':
14668            self.use_azure_single_server_usernames,
14669            'username': self.username,
14670        }
14671
14672    @classmethod
14673    def from_dict(cls, d):
14674        return cls(
14675            bind_interface=d.get('bind_interface'),
14676            database=d.get('database'),
14677            egress_filter=d.get('egress_filter'),
14678            healthy=d.get('healthy'),
14679            hostname=d.get('hostname'),
14680            id=d.get('id'),
14681            name=d.get('name'),
14682            password=d.get('password'),
14683            port=d.get('port'),
14684            port_override=d.get('port_override'),
14685            proxy_cluster_id=d.get('proxy_cluster_id'),
14686            require_native_auth=d.get('require_native_auth'),
14687            secret_store_id=d.get('secret_store_id'),
14688            subdomain=d.get('subdomain'),
14689            tags=d.get('tags'),
14690            use_azure_single_server_usernames=d.get(
14691                'use_azure_single_server_usernames'),
14692            username=d.get('username'),
14693        )
14694
14695
14696class MongoHost:
14697    __slots__ = [
14698        'auth_database',
14699        'bind_interface',
14700        'egress_filter',
14701        'healthy',
14702        'hostname',
14703        'id',
14704        'name',
14705        'password',
14706        'port',
14707        'port_override',
14708        'proxy_cluster_id',
14709        'secret_store_id',
14710        'subdomain',
14711        'tags',
14712        'tls_required',
14713        'username',
14714    ]
14715
14716    def __init__(
14717        self,
14718        auth_database=None,
14719        bind_interface=None,
14720        egress_filter=None,
14721        healthy=None,
14722        hostname=None,
14723        id=None,
14724        name=None,
14725        password=None,
14726        port=None,
14727        port_override=None,
14728        proxy_cluster_id=None,
14729        secret_store_id=None,
14730        subdomain=None,
14731        tags=None,
14732        tls_required=None,
14733        username=None,
14734    ):
14735        self.auth_database = auth_database if auth_database is not None else ''
14736        '''
14737         The authentication database to use.
14738        '''
14739        self.bind_interface = bind_interface if bind_interface is not None else ''
14740        '''
14741         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14742        '''
14743        self.egress_filter = egress_filter if egress_filter is not None else ''
14744        '''
14745         A filter applied to the routing logic to pin datasource to nodes.
14746        '''
14747        self.healthy = healthy if healthy is not None else False
14748        '''
14749         True if the datasource is reachable and the credentials are valid.
14750        '''
14751        self.hostname = hostname if hostname is not None else ''
14752        '''
14753         The host to dial to initiate a connection from the egress node to this resource.
14754        '''
14755        self.id = id if id is not None else ''
14756        '''
14757         Unique identifier of the Resource.
14758        '''
14759        self.name = name if name is not None else ''
14760        '''
14761         Unique human-readable name of the Resource.
14762        '''
14763        self.password = password if password is not None else ''
14764        '''
14765         The password to authenticate with.
14766        '''
14767        self.port = port if port is not None else 0
14768        '''
14769         The port to dial to initiate a connection from the egress node to this resource.
14770        '''
14771        self.port_override = port_override if port_override is not None else 0
14772        '''
14773         The local port used by clients to connect to this resource.
14774        '''
14775        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14776        '''
14777         ID of the proxy cluster for this resource, if any.
14778        '''
14779        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14780        '''
14781         ID of the secret store containing credentials for this resource, if any.
14782        '''
14783        self.subdomain = subdomain if subdomain is not None else ''
14784        '''
14785         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14786        '''
14787        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14788        '''
14789         Tags is a map of key, value pairs.
14790        '''
14791        self.tls_required = tls_required if tls_required is not None else False
14792        '''
14793         If set, TLS must be used to connect to this resource.
14794        '''
14795        self.username = username if username is not None else ''
14796        '''
14797         The username to authenticate with.
14798        '''
14799
14800    def __repr__(self):
14801        return '<sdm.MongoHost ' + \
14802            'auth_database: ' + repr(self.auth_database) + ' ' +\
14803            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14804            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14805            'healthy: ' + repr(self.healthy) + ' ' +\
14806            'hostname: ' + repr(self.hostname) + ' ' +\
14807            'id: ' + repr(self.id) + ' ' +\
14808            'name: ' + repr(self.name) + ' ' +\
14809            'password: ' + repr(self.password) + ' ' +\
14810            'port: ' + repr(self.port) + ' ' +\
14811            'port_override: ' + repr(self.port_override) + ' ' +\
14812            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14813            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14814            'subdomain: ' + repr(self.subdomain) + ' ' +\
14815            'tags: ' + repr(self.tags) + ' ' +\
14816            'tls_required: ' + repr(self.tls_required) + ' ' +\
14817            'username: ' + repr(self.username) + ' ' +\
14818            '>'
14819
14820    def to_dict(self):
14821        return {
14822            'auth_database': self.auth_database,
14823            'bind_interface': self.bind_interface,
14824            'egress_filter': self.egress_filter,
14825            'healthy': self.healthy,
14826            'hostname': self.hostname,
14827            'id': self.id,
14828            'name': self.name,
14829            'password': self.password,
14830            'port': self.port,
14831            'port_override': self.port_override,
14832            'proxy_cluster_id': self.proxy_cluster_id,
14833            'secret_store_id': self.secret_store_id,
14834            'subdomain': self.subdomain,
14835            'tags': self.tags,
14836            'tls_required': self.tls_required,
14837            'username': self.username,
14838        }
14839
14840    @classmethod
14841    def from_dict(cls, d):
14842        return cls(
14843            auth_database=d.get('auth_database'),
14844            bind_interface=d.get('bind_interface'),
14845            egress_filter=d.get('egress_filter'),
14846            healthy=d.get('healthy'),
14847            hostname=d.get('hostname'),
14848            id=d.get('id'),
14849            name=d.get('name'),
14850            password=d.get('password'),
14851            port=d.get('port'),
14852            port_override=d.get('port_override'),
14853            proxy_cluster_id=d.get('proxy_cluster_id'),
14854            secret_store_id=d.get('secret_store_id'),
14855            subdomain=d.get('subdomain'),
14856            tags=d.get('tags'),
14857            tls_required=d.get('tls_required'),
14858            username=d.get('username'),
14859        )
14860
14861
14862class MongoLegacyHost:
14863    '''
14864    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
14865    without a major version bump.
14866    '''
14867    __slots__ = [
14868        'auth_database',
14869        'bind_interface',
14870        'egress_filter',
14871        'healthy',
14872        'hostname',
14873        'id',
14874        'name',
14875        'password',
14876        'port',
14877        'port_override',
14878        'proxy_cluster_id',
14879        'secret_store_id',
14880        'subdomain',
14881        'tags',
14882        'tls_required',
14883        'username',
14884    ]
14885
14886    def __init__(
14887        self,
14888        auth_database=None,
14889        bind_interface=None,
14890        egress_filter=None,
14891        healthy=None,
14892        hostname=None,
14893        id=None,
14894        name=None,
14895        password=None,
14896        port=None,
14897        port_override=None,
14898        proxy_cluster_id=None,
14899        secret_store_id=None,
14900        subdomain=None,
14901        tags=None,
14902        tls_required=None,
14903        username=None,
14904    ):
14905        self.auth_database = auth_database if auth_database is not None else ''
14906        '''
14907         The authentication database to use.
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.healthy = healthy if healthy is not None else False
14918        '''
14919         True if the datasource is reachable and the credentials are valid.
14920        '''
14921        self.hostname = hostname if hostname is not None else ''
14922        '''
14923         The host to dial to initiate a connection from the egress node to this resource.
14924        '''
14925        self.id = id if id is not None else ''
14926        '''
14927         Unique identifier of the Resource.
14928        '''
14929        self.name = name if name is not None else ''
14930        '''
14931         Unique human-readable name of the Resource.
14932        '''
14933        self.password = password if password is not None else ''
14934        '''
14935         The password to authenticate with.
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.tls_required = tls_required if tls_required is not None else False
14962        '''
14963         If set, TLS must be used to connect to this resource.
14964        '''
14965        self.username = username if username is not None else ''
14966        '''
14967         The username to authenticate with.
14968        '''
14969
14970    def __repr__(self):
14971        return '<sdm.MongoLegacyHost ' + \
14972            'auth_database: ' + repr(self.auth_database) + ' ' +\
14973            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14974            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14975            'healthy: ' + repr(self.healthy) + ' ' +\
14976            'hostname: ' + repr(self.hostname) + ' ' +\
14977            'id: ' + repr(self.id) + ' ' +\
14978            'name: ' + repr(self.name) + ' ' +\
14979            'password: ' + repr(self.password) + ' ' +\
14980            'port: ' + repr(self.port) + ' ' +\
14981            'port_override: ' + repr(self.port_override) + ' ' +\
14982            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14983            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14984            'subdomain: ' + repr(self.subdomain) + ' ' +\
14985            'tags: ' + repr(self.tags) + ' ' +\
14986            'tls_required: ' + repr(self.tls_required) + ' ' +\
14987            'username: ' + repr(self.username) + ' ' +\
14988            '>'
14989
14990    def to_dict(self):
14991        return {
14992            'auth_database': self.auth_database,
14993            'bind_interface': self.bind_interface,
14994            'egress_filter': self.egress_filter,
14995            'healthy': self.healthy,
14996            'hostname': self.hostname,
14997            'id': self.id,
14998            'name': self.name,
14999            'password': self.password,
15000            'port': self.port,
15001            'port_override': self.port_override,
15002            'proxy_cluster_id': self.proxy_cluster_id,
15003            'secret_store_id': self.secret_store_id,
15004            'subdomain': self.subdomain,
15005            'tags': self.tags,
15006            'tls_required': self.tls_required,
15007            'username': self.username,
15008        }
15009
15010    @classmethod
15011    def from_dict(cls, d):
15012        return cls(
15013            auth_database=d.get('auth_database'),
15014            bind_interface=d.get('bind_interface'),
15015            egress_filter=d.get('egress_filter'),
15016            healthy=d.get('healthy'),
15017            hostname=d.get('hostname'),
15018            id=d.get('id'),
15019            name=d.get('name'),
15020            password=d.get('password'),
15021            port=d.get('port'),
15022            port_override=d.get('port_override'),
15023            proxy_cluster_id=d.get('proxy_cluster_id'),
15024            secret_store_id=d.get('secret_store_id'),
15025            subdomain=d.get('subdomain'),
15026            tags=d.get('tags'),
15027            tls_required=d.get('tls_required'),
15028            username=d.get('username'),
15029        )
15030
15031
15032class MongoLegacyReplicaset:
15033    '''
15034    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
15035    without a major version bump.
15036    '''
15037    __slots__ = [
15038        'auth_database',
15039        'bind_interface',
15040        'connect_to_replica',
15041        'egress_filter',
15042        'healthy',
15043        'hostname',
15044        'id',
15045        'name',
15046        'password',
15047        'port',
15048        'port_override',
15049        'proxy_cluster_id',
15050        'replica_set',
15051        'secret_store_id',
15052        'subdomain',
15053        'tags',
15054        'tls_required',
15055        'username',
15056    ]
15057
15058    def __init__(
15059        self,
15060        auth_database=None,
15061        bind_interface=None,
15062        connect_to_replica=None,
15063        egress_filter=None,
15064        healthy=None,
15065        hostname=None,
15066        id=None,
15067        name=None,
15068        password=None,
15069        port=None,
15070        port_override=None,
15071        proxy_cluster_id=None,
15072        replica_set=None,
15073        secret_store_id=None,
15074        subdomain=None,
15075        tags=None,
15076        tls_required=None,
15077        username=None,
15078    ):
15079        self.auth_database = auth_database if auth_database is not None else ''
15080        '''
15081         The authentication database to use.
15082        '''
15083        self.bind_interface = bind_interface if bind_interface is not None else ''
15084        '''
15085         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15086        '''
15087        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15088        '''
15089         Set to connect to a replica instead of the primary node.
15090        '''
15091        self.egress_filter = egress_filter if egress_filter is not None else ''
15092        '''
15093         A filter applied to the routing logic to pin datasource to nodes.
15094        '''
15095        self.healthy = healthy if healthy is not None else False
15096        '''
15097         True if the datasource is reachable and the credentials are valid.
15098        '''
15099        self.hostname = hostname if hostname is not None else ''
15100        '''
15101         The host to dial to initiate a connection from the egress node to this resource.
15102        '''
15103        self.id = id if id is not None else ''
15104        '''
15105         Unique identifier of the Resource.
15106        '''
15107        self.name = name if name is not None else ''
15108        '''
15109         Unique human-readable name of the Resource.
15110        '''
15111        self.password = password if password is not None else ''
15112        '''
15113         The password to authenticate with.
15114        '''
15115        self.port = port if port is not None else 0
15116        '''
15117         The port to dial to initiate a connection from the egress node to this resource.
15118        '''
15119        self.port_override = port_override if port_override is not None else 0
15120        '''
15121         The local port used by clients to connect to this resource.
15122        '''
15123        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15124        '''
15125         ID of the proxy cluster for this resource, if any.
15126        '''
15127        self.replica_set = replica_set if replica_set is not None else ''
15128        '''
15129         The name of the mongo replicaset.
15130        '''
15131        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15132        '''
15133         ID of the secret store containing credentials for this resource, if any.
15134        '''
15135        self.subdomain = subdomain if subdomain is not None else ''
15136        '''
15137         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15138        '''
15139        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15140        '''
15141         Tags is a map of key, value pairs.
15142        '''
15143        self.tls_required = tls_required if tls_required is not None else False
15144        '''
15145         If set, TLS must be used to connect to this resource.
15146        '''
15147        self.username = username if username is not None else ''
15148        '''
15149         The username to authenticate with.
15150        '''
15151
15152    def __repr__(self):
15153        return '<sdm.MongoLegacyReplicaset ' + \
15154            'auth_database: ' + repr(self.auth_database) + ' ' +\
15155            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15156            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
15157            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15158            'healthy: ' + repr(self.healthy) + ' ' +\
15159            'hostname: ' + repr(self.hostname) + ' ' +\
15160            'id: ' + repr(self.id) + ' ' +\
15161            'name: ' + repr(self.name) + ' ' +\
15162            'password: ' + repr(self.password) + ' ' +\
15163            'port: ' + repr(self.port) + ' ' +\
15164            'port_override: ' + repr(self.port_override) + ' ' +\
15165            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15166            'replica_set: ' + repr(self.replica_set) + ' ' +\
15167            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15168            'subdomain: ' + repr(self.subdomain) + ' ' +\
15169            'tags: ' + repr(self.tags) + ' ' +\
15170            'tls_required: ' + repr(self.tls_required) + ' ' +\
15171            'username: ' + repr(self.username) + ' ' +\
15172            '>'
15173
15174    def to_dict(self):
15175        return {
15176            'auth_database': self.auth_database,
15177            'bind_interface': self.bind_interface,
15178            'connect_to_replica': self.connect_to_replica,
15179            'egress_filter': self.egress_filter,
15180            'healthy': self.healthy,
15181            'hostname': self.hostname,
15182            'id': self.id,
15183            'name': self.name,
15184            'password': self.password,
15185            'port': self.port,
15186            'port_override': self.port_override,
15187            'proxy_cluster_id': self.proxy_cluster_id,
15188            'replica_set': self.replica_set,
15189            'secret_store_id': self.secret_store_id,
15190            'subdomain': self.subdomain,
15191            'tags': self.tags,
15192            'tls_required': self.tls_required,
15193            'username': self.username,
15194        }
15195
15196    @classmethod
15197    def from_dict(cls, d):
15198        return cls(
15199            auth_database=d.get('auth_database'),
15200            bind_interface=d.get('bind_interface'),
15201            connect_to_replica=d.get('connect_to_replica'),
15202            egress_filter=d.get('egress_filter'),
15203            healthy=d.get('healthy'),
15204            hostname=d.get('hostname'),
15205            id=d.get('id'),
15206            name=d.get('name'),
15207            password=d.get('password'),
15208            port=d.get('port'),
15209            port_override=d.get('port_override'),
15210            proxy_cluster_id=d.get('proxy_cluster_id'),
15211            replica_set=d.get('replica_set'),
15212            secret_store_id=d.get('secret_store_id'),
15213            subdomain=d.get('subdomain'),
15214            tags=d.get('tags'),
15215            tls_required=d.get('tls_required'),
15216            username=d.get('username'),
15217        )
15218
15219
15220class MongoReplicaSet:
15221    __slots__ = [
15222        'auth_database',
15223        'bind_interface',
15224        'connect_to_replica',
15225        'egress_filter',
15226        'healthy',
15227        'hostname',
15228        'id',
15229        'name',
15230        'password',
15231        'port',
15232        'port_override',
15233        'proxy_cluster_id',
15234        'replica_set',
15235        'secret_store_id',
15236        'subdomain',
15237        'tags',
15238        'tls_required',
15239        'username',
15240    ]
15241
15242    def __init__(
15243        self,
15244        auth_database=None,
15245        bind_interface=None,
15246        connect_to_replica=None,
15247        egress_filter=None,
15248        healthy=None,
15249        hostname=None,
15250        id=None,
15251        name=None,
15252        password=None,
15253        port=None,
15254        port_override=None,
15255        proxy_cluster_id=None,
15256        replica_set=None,
15257        secret_store_id=None,
15258        subdomain=None,
15259        tags=None,
15260        tls_required=None,
15261        username=None,
15262    ):
15263        self.auth_database = auth_database if auth_database is not None else ''
15264        '''
15265         The authentication database to use.
15266        '''
15267        self.bind_interface = bind_interface if bind_interface is not None else ''
15268        '''
15269         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15270        '''
15271        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15272        '''
15273         Set to connect to a replica instead of the primary node.
15274        '''
15275        self.egress_filter = egress_filter if egress_filter is not None else ''
15276        '''
15277         A filter applied to the routing logic to pin datasource to nodes.
15278        '''
15279        self.healthy = healthy if healthy is not None else False
15280        '''
15281         True if the datasource is reachable and the credentials are valid.
15282        '''
15283        self.hostname = hostname if hostname is not None else ''
15284        '''
15285         The host to dial to initiate a connection from the egress node to this resource.
15286        '''
15287        self.id = id if id is not None else ''
15288        '''
15289         Unique identifier of the Resource.
15290        '''
15291        self.name = name if name is not None else ''
15292        '''
15293         Unique human-readable name of the Resource.
15294        '''
15295        self.password = password if password is not None else ''
15296        '''
15297         The password to authenticate with.
15298        '''
15299        self.port = port if port is not None else 0
15300        '''
15301         The port to dial to initiate a connection from the egress node to this resource.
15302        '''
15303        self.port_override = port_override if port_override is not None else 0
15304        '''
15305         The local port used by clients to connect to this resource.
15306        '''
15307        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15308        '''
15309         ID of the proxy cluster for this resource, if any.
15310        '''
15311        self.replica_set = replica_set if replica_set is not None else ''
15312        '''
15313         The name of the mongo replicaset.
15314        '''
15315        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15316        '''
15317         ID of the secret store containing credentials for this resource, if any.
15318        '''
15319        self.subdomain = subdomain if subdomain is not None else ''
15320        '''
15321         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15322        '''
15323        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15324        '''
15325         Tags is a map of key, value pairs.
15326        '''
15327        self.tls_required = tls_required if tls_required is not None else False
15328        '''
15329         If set, TLS must be used to connect to this resource.
15330        '''
15331        self.username = username if username is not None else ''
15332        '''
15333         The username to authenticate with.
15334        '''
15335
15336    def __repr__(self):
15337        return '<sdm.MongoReplicaSet ' + \
15338            'auth_database: ' + repr(self.auth_database) + ' ' +\
15339            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15340            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
15341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15342            'healthy: ' + repr(self.healthy) + ' ' +\
15343            'hostname: ' + repr(self.hostname) + ' ' +\
15344            'id: ' + repr(self.id) + ' ' +\
15345            'name: ' + repr(self.name) + ' ' +\
15346            'password: ' + repr(self.password) + ' ' +\
15347            'port: ' + repr(self.port) + ' ' +\
15348            'port_override: ' + repr(self.port_override) + ' ' +\
15349            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15350            'replica_set: ' + repr(self.replica_set) + ' ' +\
15351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15352            'subdomain: ' + repr(self.subdomain) + ' ' +\
15353            'tags: ' + repr(self.tags) + ' ' +\
15354            'tls_required: ' + repr(self.tls_required) + ' ' +\
15355            'username: ' + repr(self.username) + ' ' +\
15356            '>'
15357
15358    def to_dict(self):
15359        return {
15360            'auth_database': self.auth_database,
15361            'bind_interface': self.bind_interface,
15362            'connect_to_replica': self.connect_to_replica,
15363            'egress_filter': self.egress_filter,
15364            'healthy': self.healthy,
15365            'hostname': self.hostname,
15366            'id': self.id,
15367            'name': self.name,
15368            'password': self.password,
15369            'port': self.port,
15370            'port_override': self.port_override,
15371            'proxy_cluster_id': self.proxy_cluster_id,
15372            'replica_set': self.replica_set,
15373            'secret_store_id': self.secret_store_id,
15374            'subdomain': self.subdomain,
15375            'tags': self.tags,
15376            'tls_required': self.tls_required,
15377            'username': self.username,
15378        }
15379
15380    @classmethod
15381    def from_dict(cls, d):
15382        return cls(
15383            auth_database=d.get('auth_database'),
15384            bind_interface=d.get('bind_interface'),
15385            connect_to_replica=d.get('connect_to_replica'),
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            replica_set=d.get('replica_set'),
15396            secret_store_id=d.get('secret_store_id'),
15397            subdomain=d.get('subdomain'),
15398            tags=d.get('tags'),
15399            tls_required=d.get('tls_required'),
15400            username=d.get('username'),
15401        )
15402
15403
15404class MongoShardedCluster:
15405    __slots__ = [
15406        'auth_database',
15407        'bind_interface',
15408        'egress_filter',
15409        'healthy',
15410        'hostname',
15411        'id',
15412        'name',
15413        'password',
15414        'port_override',
15415        'proxy_cluster_id',
15416        'secret_store_id',
15417        'subdomain',
15418        'tags',
15419        'tls_required',
15420        'username',
15421    ]
15422
15423    def __init__(
15424        self,
15425        auth_database=None,
15426        bind_interface=None,
15427        egress_filter=None,
15428        healthy=None,
15429        hostname=None,
15430        id=None,
15431        name=None,
15432        password=None,
15433        port_override=None,
15434        proxy_cluster_id=None,
15435        secret_store_id=None,
15436        subdomain=None,
15437        tags=None,
15438        tls_required=None,
15439        username=None,
15440    ):
15441        self.auth_database = auth_database if auth_database is not None else ''
15442        '''
15443         The authentication database to use.
15444        '''
15445        self.bind_interface = bind_interface if bind_interface is not None else ''
15446        '''
15447         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15448        '''
15449        self.egress_filter = egress_filter if egress_filter is not None else ''
15450        '''
15451         A filter applied to the routing logic to pin datasource to nodes.
15452        '''
15453        self.healthy = healthy if healthy is not None else False
15454        '''
15455         True if the datasource is reachable and the credentials are valid.
15456        '''
15457        self.hostname = hostname if hostname is not None else ''
15458        '''
15459         The host to dial to initiate a connection from the egress node to this resource.
15460        '''
15461        self.id = id if id is not None else ''
15462        '''
15463         Unique identifier of the Resource.
15464        '''
15465        self.name = name if name is not None else ''
15466        '''
15467         Unique human-readable name of the Resource.
15468        '''
15469        self.password = password if password is not None else ''
15470        '''
15471         The password to authenticate with.
15472        '''
15473        self.port_override = port_override if port_override is not None else 0
15474        '''
15475         The local port used by clients to connect to this resource.
15476        '''
15477        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15478        '''
15479         ID of the proxy cluster for this resource, if any.
15480        '''
15481        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15482        '''
15483         ID of the secret store containing credentials for this resource, if any.
15484        '''
15485        self.subdomain = subdomain if subdomain is not None else ''
15486        '''
15487         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15488        '''
15489        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15490        '''
15491         Tags is a map of key, value pairs.
15492        '''
15493        self.tls_required = tls_required if tls_required is not None else False
15494        '''
15495         If set, TLS must be used to connect to this resource.
15496        '''
15497        self.username = username if username is not None else ''
15498        '''
15499         The username to authenticate with.
15500        '''
15501
15502    def __repr__(self):
15503        return '<sdm.MongoShardedCluster ' + \
15504            'auth_database: ' + repr(self.auth_database) + ' ' +\
15505            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15506            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15507            'healthy: ' + repr(self.healthy) + ' ' +\
15508            'hostname: ' + repr(self.hostname) + ' ' +\
15509            'id: ' + repr(self.id) + ' ' +\
15510            'name: ' + repr(self.name) + ' ' +\
15511            'password: ' + repr(self.password) + ' ' +\
15512            'port_override: ' + repr(self.port_override) + ' ' +\
15513            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15514            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15515            'subdomain: ' + repr(self.subdomain) + ' ' +\
15516            'tags: ' + repr(self.tags) + ' ' +\
15517            'tls_required: ' + repr(self.tls_required) + ' ' +\
15518            'username: ' + repr(self.username) + ' ' +\
15519            '>'
15520
15521    def to_dict(self):
15522        return {
15523            'auth_database': self.auth_database,
15524            'bind_interface': self.bind_interface,
15525            'egress_filter': self.egress_filter,
15526            'healthy': self.healthy,
15527            'hostname': self.hostname,
15528            'id': self.id,
15529            'name': self.name,
15530            'password': self.password,
15531            'port_override': self.port_override,
15532            'proxy_cluster_id': self.proxy_cluster_id,
15533            'secret_store_id': self.secret_store_id,
15534            'subdomain': self.subdomain,
15535            'tags': self.tags,
15536            'tls_required': self.tls_required,
15537            'username': self.username,
15538        }
15539
15540    @classmethod
15541    def from_dict(cls, d):
15542        return cls(
15543            auth_database=d.get('auth_database'),
15544            bind_interface=d.get('bind_interface'),
15545            egress_filter=d.get('egress_filter'),
15546            healthy=d.get('healthy'),
15547            hostname=d.get('hostname'),
15548            id=d.get('id'),
15549            name=d.get('name'),
15550            password=d.get('password'),
15551            port_override=d.get('port_override'),
15552            proxy_cluster_id=d.get('proxy_cluster_id'),
15553            secret_store_id=d.get('secret_store_id'),
15554            subdomain=d.get('subdomain'),
15555            tags=d.get('tags'),
15556            tls_required=d.get('tls_required'),
15557            username=d.get('username'),
15558        )
15559
15560
15561class Mysql:
15562    __slots__ = [
15563        'bind_interface',
15564        'database',
15565        'egress_filter',
15566        'healthy',
15567        'hostname',
15568        'id',
15569        'name',
15570        'password',
15571        'port',
15572        'port_override',
15573        'proxy_cluster_id',
15574        'require_native_auth',
15575        'secret_store_id',
15576        'subdomain',
15577        'tags',
15578        'use_azure_single_server_usernames',
15579        'username',
15580    ]
15581
15582    def __init__(
15583        self,
15584        bind_interface=None,
15585        database=None,
15586        egress_filter=None,
15587        healthy=None,
15588        hostname=None,
15589        id=None,
15590        name=None,
15591        password=None,
15592        port=None,
15593        port_override=None,
15594        proxy_cluster_id=None,
15595        require_native_auth=None,
15596        secret_store_id=None,
15597        subdomain=None,
15598        tags=None,
15599        use_azure_single_server_usernames=None,
15600        username=None,
15601    ):
15602        self.bind_interface = bind_interface if bind_interface is not None else ''
15603        '''
15604         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15605        '''
15606        self.database = database if database is not None else ''
15607        '''
15608         The database for healthchecks. Does not affect client requests.
15609        '''
15610        self.egress_filter = egress_filter if egress_filter is not None else ''
15611        '''
15612         A filter applied to the routing logic to pin datasource to nodes.
15613        '''
15614        self.healthy = healthy if healthy is not None else False
15615        '''
15616         True if the datasource is reachable and the credentials are valid.
15617        '''
15618        self.hostname = hostname if hostname is not None else ''
15619        '''
15620         The host to dial to initiate a connection from the egress node to this resource.
15621        '''
15622        self.id = id if id is not None else ''
15623        '''
15624         Unique identifier of the Resource.
15625        '''
15626        self.name = name if name is not None else ''
15627        '''
15628         Unique human-readable name of the Resource.
15629        '''
15630        self.password = password if password is not None else ''
15631        '''
15632         The password to authenticate with.
15633        '''
15634        self.port = port if port is not None else 0
15635        '''
15636         The port to dial to initiate a connection from the egress node to this resource.
15637        '''
15638        self.port_override = port_override if port_override is not None else 0
15639        '''
15640         The local port used by clients to connect to this resource.
15641        '''
15642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15643        '''
15644         ID of the proxy cluster for this resource, if any.
15645        '''
15646        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15647        '''
15648         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15649        '''
15650        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15651        '''
15652         ID of the secret store containing credentials for this resource, if any.
15653        '''
15654        self.subdomain = subdomain if subdomain is not None else ''
15655        '''
15656         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15657        '''
15658        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15659        '''
15660         Tags is a map of key, value pairs.
15661        '''
15662        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15663        '''
15664         If true, appends the hostname to the username when hitting a database.azure.com address
15665        '''
15666        self.username = username if username is not None else ''
15667        '''
15668         The username to authenticate with.
15669        '''
15670
15671    def __repr__(self):
15672        return '<sdm.Mysql ' + \
15673            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15674            'database: ' + repr(self.database) + ' ' +\
15675            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15676            'healthy: ' + repr(self.healthy) + ' ' +\
15677            'hostname: ' + repr(self.hostname) + ' ' +\
15678            'id: ' + repr(self.id) + ' ' +\
15679            'name: ' + repr(self.name) + ' ' +\
15680            'password: ' + repr(self.password) + ' ' +\
15681            'port: ' + repr(self.port) + ' ' +\
15682            'port_override: ' + repr(self.port_override) + ' ' +\
15683            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15684            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15685            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15686            'subdomain: ' + repr(self.subdomain) + ' ' +\
15687            'tags: ' + repr(self.tags) + ' ' +\
15688            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15689            'username: ' + repr(self.username) + ' ' +\
15690            '>'
15691
15692    def to_dict(self):
15693        return {
15694            'bind_interface': self.bind_interface,
15695            'database': self.database,
15696            'egress_filter': self.egress_filter,
15697            'healthy': self.healthy,
15698            'hostname': self.hostname,
15699            'id': self.id,
15700            'name': self.name,
15701            'password': self.password,
15702            'port': self.port,
15703            'port_override': self.port_override,
15704            'proxy_cluster_id': self.proxy_cluster_id,
15705            'require_native_auth': self.require_native_auth,
15706            'secret_store_id': self.secret_store_id,
15707            'subdomain': self.subdomain,
15708            'tags': self.tags,
15709            'use_azure_single_server_usernames':
15710            self.use_azure_single_server_usernames,
15711            'username': self.username,
15712        }
15713
15714    @classmethod
15715    def from_dict(cls, d):
15716        return cls(
15717            bind_interface=d.get('bind_interface'),
15718            database=d.get('database'),
15719            egress_filter=d.get('egress_filter'),
15720            healthy=d.get('healthy'),
15721            hostname=d.get('hostname'),
15722            id=d.get('id'),
15723            name=d.get('name'),
15724            password=d.get('password'),
15725            port=d.get('port'),
15726            port_override=d.get('port_override'),
15727            proxy_cluster_id=d.get('proxy_cluster_id'),
15728            require_native_auth=d.get('require_native_auth'),
15729            secret_store_id=d.get('secret_store_id'),
15730            subdomain=d.get('subdomain'),
15731            tags=d.get('tags'),
15732            use_azure_single_server_usernames=d.get(
15733                'use_azure_single_server_usernames'),
15734            username=d.get('username'),
15735        )
15736
15737
15738class Neptune:
15739    __slots__ = [
15740        'bind_interface',
15741        'egress_filter',
15742        'endpoint',
15743        'healthy',
15744        'id',
15745        'name',
15746        'port',
15747        'port_override',
15748        'proxy_cluster_id',
15749        'secret_store_id',
15750        'subdomain',
15751        'tags',
15752    ]
15753
15754    def __init__(
15755        self,
15756        bind_interface=None,
15757        egress_filter=None,
15758        endpoint=None,
15759        healthy=None,
15760        id=None,
15761        name=None,
15762        port=None,
15763        port_override=None,
15764        proxy_cluster_id=None,
15765        secret_store_id=None,
15766        subdomain=None,
15767        tags=None,
15768    ):
15769        self.bind_interface = bind_interface if bind_interface is not None else ''
15770        '''
15771         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15772        '''
15773        self.egress_filter = egress_filter if egress_filter is not None else ''
15774        '''
15775         A filter applied to the routing logic to pin datasource to nodes.
15776        '''
15777        self.endpoint = endpoint if endpoint is not None else ''
15778        '''
15779         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15780        '''
15781        self.healthy = healthy if healthy is not None else False
15782        '''
15783         True if the datasource is reachable and the credentials are valid.
15784        '''
15785        self.id = id if id is not None else ''
15786        '''
15787         Unique identifier of the Resource.
15788        '''
15789        self.name = name if name is not None else ''
15790        '''
15791         Unique human-readable name of the Resource.
15792        '''
15793        self.port = port if port is not None else 0
15794        '''
15795         The port to dial to initiate a connection from the egress node to this resource.
15796        '''
15797        self.port_override = port_override if port_override is not None else 0
15798        '''
15799         The local port used by clients to connect to this resource.
15800        '''
15801        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15802        '''
15803         ID of the proxy cluster for this resource, if any.
15804        '''
15805        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15806        '''
15807         ID of the secret store containing credentials for this resource, if any.
15808        '''
15809        self.subdomain = subdomain if subdomain is not None else ''
15810        '''
15811         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15812        '''
15813        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15814        '''
15815         Tags is a map of key, value pairs.
15816        '''
15817
15818    def __repr__(self):
15819        return '<sdm.Neptune ' + \
15820            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15821            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15822            'endpoint: ' + repr(self.endpoint) + ' ' +\
15823            'healthy: ' + repr(self.healthy) + ' ' +\
15824            'id: ' + repr(self.id) + ' ' +\
15825            'name: ' + repr(self.name) + ' ' +\
15826            'port: ' + repr(self.port) + ' ' +\
15827            'port_override: ' + repr(self.port_override) + ' ' +\
15828            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15829            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15830            'subdomain: ' + repr(self.subdomain) + ' ' +\
15831            'tags: ' + repr(self.tags) + ' ' +\
15832            '>'
15833
15834    def to_dict(self):
15835        return {
15836            'bind_interface': self.bind_interface,
15837            'egress_filter': self.egress_filter,
15838            'endpoint': self.endpoint,
15839            'healthy': self.healthy,
15840            'id': self.id,
15841            'name': self.name,
15842            'port': self.port,
15843            'port_override': self.port_override,
15844            'proxy_cluster_id': self.proxy_cluster_id,
15845            'secret_store_id': self.secret_store_id,
15846            'subdomain': self.subdomain,
15847            'tags': self.tags,
15848        }
15849
15850    @classmethod
15851    def from_dict(cls, d):
15852        return cls(
15853            bind_interface=d.get('bind_interface'),
15854            egress_filter=d.get('egress_filter'),
15855            endpoint=d.get('endpoint'),
15856            healthy=d.get('healthy'),
15857            id=d.get('id'),
15858            name=d.get('name'),
15859            port=d.get('port'),
15860            port_override=d.get('port_override'),
15861            proxy_cluster_id=d.get('proxy_cluster_id'),
15862            secret_store_id=d.get('secret_store_id'),
15863            subdomain=d.get('subdomain'),
15864            tags=d.get('tags'),
15865        )
15866
15867
15868class NeptuneIAM:
15869    __slots__ = [
15870        'access_key',
15871        'bind_interface',
15872        'egress_filter',
15873        'endpoint',
15874        'healthy',
15875        'id',
15876        'name',
15877        'port',
15878        'port_override',
15879        'proxy_cluster_id',
15880        'region',
15881        'role_arn',
15882        'role_external_id',
15883        'secret_access_key',
15884        'secret_store_id',
15885        'subdomain',
15886        'tags',
15887    ]
15888
15889    def __init__(
15890        self,
15891        access_key=None,
15892        bind_interface=None,
15893        egress_filter=None,
15894        endpoint=None,
15895        healthy=None,
15896        id=None,
15897        name=None,
15898        port=None,
15899        port_override=None,
15900        proxy_cluster_id=None,
15901        region=None,
15902        role_arn=None,
15903        role_external_id=None,
15904        secret_access_key=None,
15905        secret_store_id=None,
15906        subdomain=None,
15907        tags=None,
15908    ):
15909        self.access_key = access_key if access_key is not None else ''
15910        '''
15911         The Access Key ID to use to authenticate.
15912        '''
15913        self.bind_interface = bind_interface if bind_interface is not None else ''
15914        '''
15915         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15916        '''
15917        self.egress_filter = egress_filter if egress_filter is not None else ''
15918        '''
15919         A filter applied to the routing logic to pin datasource to nodes.
15920        '''
15921        self.endpoint = endpoint if endpoint is not None else ''
15922        '''
15923         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15924        '''
15925        self.healthy = healthy if healthy is not None else False
15926        '''
15927         True if the datasource is reachable and the credentials are valid.
15928        '''
15929        self.id = id if id is not None else ''
15930        '''
15931         Unique identifier of the Resource.
15932        '''
15933        self.name = name if name is not None else ''
15934        '''
15935         Unique human-readable name of the Resource.
15936        '''
15937        self.port = port if port is not None else 0
15938        '''
15939         The port to dial to initiate a connection from the egress node to this resource.
15940        '''
15941        self.port_override = port_override if port_override is not None else 0
15942        '''
15943         The local port used by clients to connect to this resource.
15944        '''
15945        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15946        '''
15947         ID of the proxy cluster for this resource, if any.
15948        '''
15949        self.region = region if region is not None else ''
15950        '''
15951         The AWS region to connect to.
15952        '''
15953        self.role_arn = role_arn if role_arn is not None else ''
15954        '''
15955         The role to assume after logging in.
15956        '''
15957        self.role_external_id = role_external_id if role_external_id is not None else ''
15958        '''
15959         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
15960        '''
15961        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
15962        '''
15963         The Secret Access Key to use to authenticate.
15964        '''
15965        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15966        '''
15967         ID of the secret store containing credentials for this resource, if any.
15968        '''
15969        self.subdomain = subdomain if subdomain is not None else ''
15970        '''
15971         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15972        '''
15973        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15974        '''
15975         Tags is a map of key, value pairs.
15976        '''
15977
15978    def __repr__(self):
15979        return '<sdm.NeptuneIAM ' + \
15980            'access_key: ' + repr(self.access_key) + ' ' +\
15981            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15982            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15983            'endpoint: ' + repr(self.endpoint) + ' ' +\
15984            'healthy: ' + repr(self.healthy) + ' ' +\
15985            'id: ' + repr(self.id) + ' ' +\
15986            'name: ' + repr(self.name) + ' ' +\
15987            'port: ' + repr(self.port) + ' ' +\
15988            'port_override: ' + repr(self.port_override) + ' ' +\
15989            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15990            'region: ' + repr(self.region) + ' ' +\
15991            'role_arn: ' + repr(self.role_arn) + ' ' +\
15992            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
15993            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
15994            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15995            'subdomain: ' + repr(self.subdomain) + ' ' +\
15996            'tags: ' + repr(self.tags) + ' ' +\
15997            '>'
15998
15999    def to_dict(self):
16000        return {
16001            'access_key': self.access_key,
16002            'bind_interface': self.bind_interface,
16003            'egress_filter': self.egress_filter,
16004            'endpoint': self.endpoint,
16005            'healthy': self.healthy,
16006            'id': self.id,
16007            'name': self.name,
16008            'port': self.port,
16009            'port_override': self.port_override,
16010            'proxy_cluster_id': self.proxy_cluster_id,
16011            'region': self.region,
16012            'role_arn': self.role_arn,
16013            'role_external_id': self.role_external_id,
16014            'secret_access_key': self.secret_access_key,
16015            'secret_store_id': self.secret_store_id,
16016            'subdomain': self.subdomain,
16017            'tags': self.tags,
16018        }
16019
16020    @classmethod
16021    def from_dict(cls, d):
16022        return cls(
16023            access_key=d.get('access_key'),
16024            bind_interface=d.get('bind_interface'),
16025            egress_filter=d.get('egress_filter'),
16026            endpoint=d.get('endpoint'),
16027            healthy=d.get('healthy'),
16028            id=d.get('id'),
16029            name=d.get('name'),
16030            port=d.get('port'),
16031            port_override=d.get('port_override'),
16032            proxy_cluster_id=d.get('proxy_cluster_id'),
16033            region=d.get('region'),
16034            role_arn=d.get('role_arn'),
16035            role_external_id=d.get('role_external_id'),
16036            secret_access_key=d.get('secret_access_key'),
16037            secret_store_id=d.get('secret_store_id'),
16038            subdomain=d.get('subdomain'),
16039            tags=d.get('tags'),
16040        )
16041
16042
16043class NodeCreateResponse:
16044    '''
16045         NodeCreateResponse reports how the Nodes were created in the system.
16046    '''
16047    __slots__ = [
16048        'meta',
16049        'node',
16050        'rate_limit',
16051        'token',
16052    ]
16053
16054    def __init__(
16055        self,
16056        meta=None,
16057        node=None,
16058        rate_limit=None,
16059        token=None,
16060    ):
16061        self.meta = meta if meta is not None else None
16062        '''
16063         Reserved for future use.
16064        '''
16065        self.node = node if node is not None else None
16066        '''
16067         The created Node.
16068        '''
16069        self.rate_limit = rate_limit if rate_limit is not None else None
16070        '''
16071         Rate limit information.
16072        '''
16073        self.token = token if token is not None else ''
16074        '''
16075         The auth token generated for the Node. The Node will use this token to
16076         authenticate with the strongDM API.
16077        '''
16078
16079    def __repr__(self):
16080        return '<sdm.NodeCreateResponse ' + \
16081            'meta: ' + repr(self.meta) + ' ' +\
16082            'node: ' + repr(self.node) + ' ' +\
16083            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16084            'token: ' + repr(self.token) + ' ' +\
16085            '>'
16086
16087    def to_dict(self):
16088        return {
16089            'meta': self.meta,
16090            'node': self.node,
16091            'rate_limit': self.rate_limit,
16092            'token': self.token,
16093        }
16094
16095    @classmethod
16096    def from_dict(cls, d):
16097        return cls(
16098            meta=d.get('meta'),
16099            node=d.get('node'),
16100            rate_limit=d.get('rate_limit'),
16101            token=d.get('token'),
16102        )
16103
16104
16105class NodeDeleteResponse:
16106    '''
16107         NodeDeleteResponse returns information about a Node that was deleted.
16108    '''
16109    __slots__ = [
16110        'meta',
16111        'rate_limit',
16112    ]
16113
16114    def __init__(
16115        self,
16116        meta=None,
16117        rate_limit=None,
16118    ):
16119        self.meta = meta if meta is not None else None
16120        '''
16121         Reserved for future use.
16122        '''
16123        self.rate_limit = rate_limit if rate_limit is not None else None
16124        '''
16125         Rate limit information.
16126        '''
16127
16128    def __repr__(self):
16129        return '<sdm.NodeDeleteResponse ' + \
16130            'meta: ' + repr(self.meta) + ' ' +\
16131            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16132            '>'
16133
16134    def to_dict(self):
16135        return {
16136            'meta': self.meta,
16137            'rate_limit': self.rate_limit,
16138        }
16139
16140    @classmethod
16141    def from_dict(cls, d):
16142        return cls(
16143            meta=d.get('meta'),
16144            rate_limit=d.get('rate_limit'),
16145        )
16146
16147
16148class NodeGetResponse:
16149    '''
16150         NodeGetResponse returns a requested Node.
16151    '''
16152    __slots__ = [
16153        'meta',
16154        'node',
16155        'rate_limit',
16156    ]
16157
16158    def __init__(
16159        self,
16160        meta=None,
16161        node=None,
16162        rate_limit=None,
16163    ):
16164        self.meta = meta if meta is not None else None
16165        '''
16166         Reserved for future use.
16167        '''
16168        self.node = node if node is not None else None
16169        '''
16170         The requested Node.
16171        '''
16172        self.rate_limit = rate_limit if rate_limit is not None else None
16173        '''
16174         Rate limit information.
16175        '''
16176
16177    def __repr__(self):
16178        return '<sdm.NodeGetResponse ' + \
16179            'meta: ' + repr(self.meta) + ' ' +\
16180            'node: ' + repr(self.node) + ' ' +\
16181            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16182            '>'
16183
16184    def to_dict(self):
16185        return {
16186            'meta': self.meta,
16187            'node': self.node,
16188            'rate_limit': self.rate_limit,
16189        }
16190
16191    @classmethod
16192    def from_dict(cls, d):
16193        return cls(
16194            meta=d.get('meta'),
16195            node=d.get('node'),
16196            rate_limit=d.get('rate_limit'),
16197        )
16198
16199
16200class NodeHistory:
16201    '''
16202         NodeHistory records the state of a Node at a given point in time,
16203     where every change (create, update and delete) to a Node produces an
16204     NodeHistory record.
16205    '''
16206    __slots__ = [
16207        'activity_id',
16208        'deleted_at',
16209        'node',
16210        'timestamp',
16211    ]
16212
16213    def __init__(
16214        self,
16215        activity_id=None,
16216        deleted_at=None,
16217        node=None,
16218        timestamp=None,
16219    ):
16220        self.activity_id = activity_id if activity_id is not None else ''
16221        '''
16222         The unique identifier of the Activity that produced this change to the Node.
16223         May be empty for some system-initiated updates.
16224        '''
16225        self.deleted_at = deleted_at if deleted_at is not None else None
16226        '''
16227         If this Node was deleted, the time it was deleted.
16228        '''
16229        self.node = node if node is not None else None
16230        '''
16231         The complete Node state at this time.
16232        '''
16233        self.timestamp = timestamp if timestamp is not None else None
16234        '''
16235         The time at which the Node state was recorded.
16236        '''
16237
16238    def __repr__(self):
16239        return '<sdm.NodeHistory ' + \
16240            'activity_id: ' + repr(self.activity_id) + ' ' +\
16241            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16242            'node: ' + repr(self.node) + ' ' +\
16243            'timestamp: ' + repr(self.timestamp) + ' ' +\
16244            '>'
16245
16246    def to_dict(self):
16247        return {
16248            'activity_id': self.activity_id,
16249            'deleted_at': self.deleted_at,
16250            'node': self.node,
16251            'timestamp': self.timestamp,
16252        }
16253
16254    @classmethod
16255    def from_dict(cls, d):
16256        return cls(
16257            activity_id=d.get('activity_id'),
16258            deleted_at=d.get('deleted_at'),
16259            node=d.get('node'),
16260            timestamp=d.get('timestamp'),
16261        )
16262
16263
16264class NodeMaintenanceWindow:
16265    __slots__ = [
16266        'cron_schedule',
16267        'require_idleness',
16268    ]
16269
16270    def __init__(
16271        self,
16272        cron_schedule=None,
16273        require_idleness=None,
16274    ):
16275        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
16276        '''
16277         Cron job syntax for when this maintenance window is active. On this schedule, associated
16278         nodes will restart if requested, provided other checks allow the restart to proceed. Times
16279         are represented in UTC.
16280         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
16281         Saturday. Not all possible inputs are supported: the month and day of month selections
16282         must be '*'.
16283        '''
16284        self.require_idleness = require_idleness if require_idleness is not None else False
16285        '''
16286         Require Idleness defines whether this window can sever live connections. If true,
16287         this window will not allow a node to be restarted unless it is serving no connections.
16288         If false, given a restart of the node has been requested (for an update, usually), the
16289         node will restart as soon as it enters an allowed day / hour combination. At least one
16290         maintenance window, out of all configured windows for a node, must have this as false.
16291        '''
16292
16293    def __repr__(self):
16294        return '<sdm.NodeMaintenanceWindow ' + \
16295            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
16296            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
16297            '>'
16298
16299    def to_dict(self):
16300        return {
16301            'cron_schedule': self.cron_schedule,
16302            'require_idleness': self.require_idleness,
16303        }
16304
16305    @classmethod
16306    def from_dict(cls, d):
16307        return cls(
16308            cron_schedule=d.get('cron_schedule'),
16309            require_idleness=d.get('require_idleness'),
16310        )
16311
16312
16313class NodeUpdateResponse:
16314    '''
16315         NodeUpdateResponse returns the fields of a Node after it has been updated by
16316     a NodeUpdateRequest.
16317    '''
16318    __slots__ = [
16319        'meta',
16320        'node',
16321        'rate_limit',
16322    ]
16323
16324    def __init__(
16325        self,
16326        meta=None,
16327        node=None,
16328        rate_limit=None,
16329    ):
16330        self.meta = meta if meta is not None else None
16331        '''
16332         Reserved for future use.
16333        '''
16334        self.node = node if node is not None else None
16335        '''
16336         The updated Node.
16337        '''
16338        self.rate_limit = rate_limit if rate_limit is not None else None
16339        '''
16340         Rate limit information.
16341        '''
16342
16343    def __repr__(self):
16344        return '<sdm.NodeUpdateResponse ' + \
16345            'meta: ' + repr(self.meta) + ' ' +\
16346            'node: ' + repr(self.node) + ' ' +\
16347            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16348            '>'
16349
16350    def to_dict(self):
16351        return {
16352            'meta': self.meta,
16353            'node': self.node,
16354            'rate_limit': self.rate_limit,
16355        }
16356
16357    @classmethod
16358    def from_dict(cls, d):
16359        return cls(
16360            meta=d.get('meta'),
16361            node=d.get('node'),
16362            rate_limit=d.get('rate_limit'),
16363        )
16364
16365
16366class Oracle:
16367    __slots__ = [
16368        'bind_interface',
16369        'database',
16370        'egress_filter',
16371        'healthy',
16372        'hostname',
16373        'id',
16374        'name',
16375        'password',
16376        'port',
16377        'port_override',
16378        'proxy_cluster_id',
16379        'secret_store_id',
16380        'subdomain',
16381        'tags',
16382        'tls_required',
16383        'username',
16384    ]
16385
16386    def __init__(
16387        self,
16388        bind_interface=None,
16389        database=None,
16390        egress_filter=None,
16391        healthy=None,
16392        hostname=None,
16393        id=None,
16394        name=None,
16395        password=None,
16396        port=None,
16397        port_override=None,
16398        proxy_cluster_id=None,
16399        secret_store_id=None,
16400        subdomain=None,
16401        tags=None,
16402        tls_required=None,
16403        username=None,
16404    ):
16405        self.bind_interface = bind_interface if bind_interface is not None else ''
16406        '''
16407         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16408        '''
16409        self.database = database if database is not None else ''
16410        '''
16411         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16412        '''
16413        self.egress_filter = egress_filter if egress_filter is not None else ''
16414        '''
16415         A filter applied to the routing logic to pin datasource to nodes.
16416        '''
16417        self.healthy = healthy if healthy is not None else False
16418        '''
16419         True if the datasource is reachable and the credentials are valid.
16420        '''
16421        self.hostname = hostname if hostname is not None else ''
16422        '''
16423         The host to dial to initiate a connection from the egress node to this resource.
16424        '''
16425        self.id = id if id is not None else ''
16426        '''
16427         Unique identifier of the Resource.
16428        '''
16429        self.name = name if name is not None else ''
16430        '''
16431         Unique human-readable name of the Resource.
16432        '''
16433        self.password = password if password is not None else ''
16434        '''
16435         The password to authenticate with.
16436        '''
16437        self.port = port if port is not None else 0
16438        '''
16439         The port to dial to initiate a connection from the egress node to this resource.
16440        '''
16441        self.port_override = port_override if port_override is not None else 0
16442        '''
16443         The local port used by clients to connect to this resource.
16444        '''
16445        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16446        '''
16447         ID of the proxy cluster for this resource, if any.
16448        '''
16449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16450        '''
16451         ID of the secret store containing credentials for this resource, if any.
16452        '''
16453        self.subdomain = subdomain if subdomain is not None else ''
16454        '''
16455         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16456        '''
16457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16458        '''
16459         Tags is a map of key, value pairs.
16460        '''
16461        self.tls_required = tls_required if tls_required is not None else False
16462        '''
16463         If set, TLS must be used to connect to this resource.
16464        '''
16465        self.username = username if username is not None else ''
16466        '''
16467         The username to authenticate with.
16468        '''
16469
16470    def __repr__(self):
16471        return '<sdm.Oracle ' + \
16472            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16473            'database: ' + repr(self.database) + ' ' +\
16474            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16475            'healthy: ' + repr(self.healthy) + ' ' +\
16476            'hostname: ' + repr(self.hostname) + ' ' +\
16477            'id: ' + repr(self.id) + ' ' +\
16478            'name: ' + repr(self.name) + ' ' +\
16479            'password: ' + repr(self.password) + ' ' +\
16480            'port: ' + repr(self.port) + ' ' +\
16481            'port_override: ' + repr(self.port_override) + ' ' +\
16482            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16483            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16484            'subdomain: ' + repr(self.subdomain) + ' ' +\
16485            'tags: ' + repr(self.tags) + ' ' +\
16486            'tls_required: ' + repr(self.tls_required) + ' ' +\
16487            'username: ' + repr(self.username) + ' ' +\
16488            '>'
16489
16490    def to_dict(self):
16491        return {
16492            'bind_interface': self.bind_interface,
16493            'database': self.database,
16494            'egress_filter': self.egress_filter,
16495            'healthy': self.healthy,
16496            'hostname': self.hostname,
16497            'id': self.id,
16498            'name': self.name,
16499            'password': self.password,
16500            'port': self.port,
16501            'port_override': self.port_override,
16502            'proxy_cluster_id': self.proxy_cluster_id,
16503            'secret_store_id': self.secret_store_id,
16504            'subdomain': self.subdomain,
16505            'tags': self.tags,
16506            'tls_required': self.tls_required,
16507            'username': self.username,
16508        }
16509
16510    @classmethod
16511    def from_dict(cls, d):
16512        return cls(
16513            bind_interface=d.get('bind_interface'),
16514            database=d.get('database'),
16515            egress_filter=d.get('egress_filter'),
16516            healthy=d.get('healthy'),
16517            hostname=d.get('hostname'),
16518            id=d.get('id'),
16519            name=d.get('name'),
16520            password=d.get('password'),
16521            port=d.get('port'),
16522            port_override=d.get('port_override'),
16523            proxy_cluster_id=d.get('proxy_cluster_id'),
16524            secret_store_id=d.get('secret_store_id'),
16525            subdomain=d.get('subdomain'),
16526            tags=d.get('tags'),
16527            tls_required=d.get('tls_required'),
16528            username=d.get('username'),
16529        )
16530
16531
16532class Organization:
16533    __slots__ = [
16534        'auth_provider',
16535        'created_at',
16536        'device_trust_enabled',
16537        'device_trust_provider',
16538        'enforce_single_session',
16539        'idle_timeout',
16540        'idle_timeout_enabled',
16541        'kind',
16542        'log_local_encoder',
16543        'log_local_format',
16544        'log_local_storage',
16545        'log_remote_encoder',
16546        'log_socket_path',
16547        'log_tcp_address',
16548        'loopback_range',
16549        'mfa_enabled',
16550        'mfa_provider',
16551        'name',
16552        'require_secret_store',
16553        'saml_metadata_url',
16554        'scim_provider',
16555        'sensitive_label',
16556        'session_timeout',
16557        'session_timeout_enabled',
16558        'ssh_certificate_authority_public_key',
16559        'ssh_certificate_authority_updated_at',
16560        'updated_at',
16561        'websites_subdomain',
16562    ]
16563
16564    def __init__(
16565        self,
16566        auth_provider=None,
16567        created_at=None,
16568        device_trust_enabled=None,
16569        device_trust_provider=None,
16570        enforce_single_session=None,
16571        idle_timeout=None,
16572        idle_timeout_enabled=None,
16573        kind=None,
16574        log_local_encoder=None,
16575        log_local_format=None,
16576        log_local_storage=None,
16577        log_remote_encoder=None,
16578        log_socket_path=None,
16579        log_tcp_address=None,
16580        loopback_range=None,
16581        mfa_enabled=None,
16582        mfa_provider=None,
16583        name=None,
16584        require_secret_store=None,
16585        saml_metadata_url=None,
16586        scim_provider=None,
16587        sensitive_label=None,
16588        session_timeout=None,
16589        session_timeout_enabled=None,
16590        ssh_certificate_authority_public_key=None,
16591        ssh_certificate_authority_updated_at=None,
16592        updated_at=None,
16593        websites_subdomain=None,
16594    ):
16595        self.auth_provider = auth_provider if auth_provider is not None else ''
16596        '''
16597         The Organization's authentication provider, one of the AuthProvider constants.
16598        '''
16599        self.created_at = created_at if created_at is not None else None
16600        '''
16601         The time at which the Organization was created.
16602        '''
16603        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
16604        '''
16605         Indicates if the Organization has device trust enabled.
16606        '''
16607        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
16608        '''
16609         The Organization's device trust provider, one of the DeviceTrustProvider constants.
16610        '''
16611        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
16612        '''
16613         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
16614        '''
16615        self.idle_timeout = idle_timeout if idle_timeout is not None else None
16616        '''
16617         The Organization's idle timeout, if enabled.
16618        '''
16619        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
16620        '''
16621         Indicates if the Organization has idle timeouts enabled.
16622        '''
16623        self.kind = kind if kind is not None else ''
16624        '''
16625         The Organization's type, one of the OrgKind constants.
16626        '''
16627        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
16628        '''
16629         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16630        '''
16631        self.log_local_format = log_local_format if log_local_format is not None else ''
16632        '''
16633         The Organization's local log format, one of the LogLocalFormat constants.
16634        '''
16635        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
16636        '''
16637         The Organization's local log storage, one of the LogLocalStorage constants.
16638        '''
16639        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
16640        '''
16641         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16642        '''
16643        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
16644        '''
16645         The Organization's socket path for Socket local log storage.
16646        '''
16647        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
16648        '''
16649         The Organization's TCP address for TCP or Syslog local log storage.
16650        '''
16651        self.loopback_range = loopback_range if loopback_range is not None else ''
16652        '''
16653         The Organization's loopback range.
16654        '''
16655        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
16656        '''
16657         Indicates if the Organization has multi-factor authentication enabled.
16658        '''
16659        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
16660        '''
16661         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
16662        '''
16663        self.name = name if name is not None else ''
16664        '''
16665         The Organization's name.
16666        '''
16667        self.require_secret_store = require_secret_store if require_secret_store is not None else False
16668        '''
16669         Indicates if the Organization requires secret stores.
16670        '''
16671        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
16672        '''
16673         The Organization's URL for SAML metadata.
16674        '''
16675        self.scim_provider = scim_provider if scim_provider is not None else ''
16676        '''
16677         The Organization's SCIM provider, one of the SCIMProvider constants.
16678        '''
16679        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
16680        '''
16681         The Organization's label for sensitive resources.
16682        '''
16683        self.session_timeout = session_timeout if session_timeout is not None else None
16684        '''
16685         The Organization's session timeout, if enabled.
16686        '''
16687        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
16688        '''
16689         Indicates if the Organization has session timeouts enabled.
16690        '''
16691        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
16692        '''
16693         The Organization's SSH certificate authority public key.
16694        '''
16695        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
16696        '''
16697         The time at which the Organization's SSH certificate authority was last updated.
16698        '''
16699        self.updated_at = updated_at if updated_at is not None else None
16700        '''
16701         The time at which the Organization was last updated.
16702        '''
16703        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
16704        '''
16705         The Organization's web site domain.
16706        '''
16707
16708    def __repr__(self):
16709        return '<sdm.Organization ' + \
16710            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
16711            'created_at: ' + repr(self.created_at) + ' ' +\
16712            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
16713            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
16714            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
16715            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
16716            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
16717            'kind: ' + repr(self.kind) + ' ' +\
16718            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
16719            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
16720            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
16721            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
16722            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
16723            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
16724            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
16725            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
16726            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
16727            'name: ' + repr(self.name) + ' ' +\
16728            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
16729            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
16730            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
16731            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
16732            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
16733            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
16734            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
16735            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
16736            'updated_at: ' + repr(self.updated_at) + ' ' +\
16737            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
16738            '>'
16739
16740    def to_dict(self):
16741        return {
16742            'auth_provider': self.auth_provider,
16743            'created_at': self.created_at,
16744            'device_trust_enabled': self.device_trust_enabled,
16745            'device_trust_provider': self.device_trust_provider,
16746            'enforce_single_session': self.enforce_single_session,
16747            'idle_timeout': self.idle_timeout,
16748            'idle_timeout_enabled': self.idle_timeout_enabled,
16749            'kind': self.kind,
16750            'log_local_encoder': self.log_local_encoder,
16751            'log_local_format': self.log_local_format,
16752            'log_local_storage': self.log_local_storage,
16753            'log_remote_encoder': self.log_remote_encoder,
16754            'log_socket_path': self.log_socket_path,
16755            'log_tcp_address': self.log_tcp_address,
16756            'loopback_range': self.loopback_range,
16757            'mfa_enabled': self.mfa_enabled,
16758            'mfa_provider': self.mfa_provider,
16759            'name': self.name,
16760            'require_secret_store': self.require_secret_store,
16761            'saml_metadata_url': self.saml_metadata_url,
16762            'scim_provider': self.scim_provider,
16763            'sensitive_label': self.sensitive_label,
16764            'session_timeout': self.session_timeout,
16765            'session_timeout_enabled': self.session_timeout_enabled,
16766            'ssh_certificate_authority_public_key':
16767            self.ssh_certificate_authority_public_key,
16768            'ssh_certificate_authority_updated_at':
16769            self.ssh_certificate_authority_updated_at,
16770            'updated_at': self.updated_at,
16771            'websites_subdomain': self.websites_subdomain,
16772        }
16773
16774    @classmethod
16775    def from_dict(cls, d):
16776        return cls(
16777            auth_provider=d.get('auth_provider'),
16778            created_at=d.get('created_at'),
16779            device_trust_enabled=d.get('device_trust_enabled'),
16780            device_trust_provider=d.get('device_trust_provider'),
16781            enforce_single_session=d.get('enforce_single_session'),
16782            idle_timeout=d.get('idle_timeout'),
16783            idle_timeout_enabled=d.get('idle_timeout_enabled'),
16784            kind=d.get('kind'),
16785            log_local_encoder=d.get('log_local_encoder'),
16786            log_local_format=d.get('log_local_format'),
16787            log_local_storage=d.get('log_local_storage'),
16788            log_remote_encoder=d.get('log_remote_encoder'),
16789            log_socket_path=d.get('log_socket_path'),
16790            log_tcp_address=d.get('log_tcp_address'),
16791            loopback_range=d.get('loopback_range'),
16792            mfa_enabled=d.get('mfa_enabled'),
16793            mfa_provider=d.get('mfa_provider'),
16794            name=d.get('name'),
16795            require_secret_store=d.get('require_secret_store'),
16796            saml_metadata_url=d.get('saml_metadata_url'),
16797            scim_provider=d.get('scim_provider'),
16798            sensitive_label=d.get('sensitive_label'),
16799            session_timeout=d.get('session_timeout'),
16800            session_timeout_enabled=d.get('session_timeout_enabled'),
16801            ssh_certificate_authority_public_key=d.get(
16802                'ssh_certificate_authority_public_key'),
16803            ssh_certificate_authority_updated_at=d.get(
16804                'ssh_certificate_authority_updated_at'),
16805            updated_at=d.get('updated_at'),
16806            websites_subdomain=d.get('websites_subdomain'),
16807        )
16808
16809
16810class OrganizationHistoryRecord:
16811    '''
16812         OrganizationHistoryRecord records the state of an Organization at a given point in time,
16813     where every change to an Organization produces an OrganizationHistoryRecord.
16814    '''
16815    __slots__ = [
16816        'activity_id',
16817        'organization',
16818        'timestamp',
16819    ]
16820
16821    def __init__(
16822        self,
16823        activity_id=None,
16824        organization=None,
16825        timestamp=None,
16826    ):
16827        self.activity_id = activity_id if activity_id is not None else ''
16828        '''
16829         The unique identifier of the Activity that produced this change to the Organization.
16830         May be empty for some system-initiated organization updates.
16831        '''
16832        self.organization = organization if organization is not None else None
16833        '''
16834         The complete Organization state at this time.
16835        '''
16836        self.timestamp = timestamp if timestamp is not None else None
16837        '''
16838         The time at which the Organization state was recorded.
16839        '''
16840
16841    def __repr__(self):
16842        return '<sdm.OrganizationHistoryRecord ' + \
16843            'activity_id: ' + repr(self.activity_id) + ' ' +\
16844            'organization: ' + repr(self.organization) + ' ' +\
16845            'timestamp: ' + repr(self.timestamp) + ' ' +\
16846            '>'
16847
16848    def to_dict(self):
16849        return {
16850            'activity_id': self.activity_id,
16851            'organization': self.organization,
16852            'timestamp': self.timestamp,
16853        }
16854
16855    @classmethod
16856    def from_dict(cls, d):
16857        return cls(
16858            activity_id=d.get('activity_id'),
16859            organization=d.get('organization'),
16860            timestamp=d.get('timestamp'),
16861        )
16862
16863
16864class PeeringGroup:
16865    '''
16866         PeeringGroups are the building blocks used for explicit network topology making.
16867     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
16868    '''
16869    __slots__ = [
16870        'id',
16871        'name',
16872    ]
16873
16874    def __init__(
16875        self,
16876        id=None,
16877        name=None,
16878    ):
16879        self.id = id if id is not None else ''
16880        '''
16881         Unique identifier of the PeeringGroup.
16882        '''
16883        self.name = name if name is not None else ''
16884        '''
16885         Unique human-readable name of the PeeringGroup.
16886        '''
16887
16888    def __repr__(self):
16889        return '<sdm.PeeringGroup ' + \
16890            'id: ' + repr(self.id) + ' ' +\
16891            'name: ' + repr(self.name) + ' ' +\
16892            '>'
16893
16894    def to_dict(self):
16895        return {
16896            'id': self.id,
16897            'name': self.name,
16898        }
16899
16900    @classmethod
16901    def from_dict(cls, d):
16902        return cls(
16903            id=d.get('id'),
16904            name=d.get('name'),
16905        )
16906
16907
16908class PeeringGroupCreateResponse:
16909    '''
16910         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
16911    '''
16912    __slots__ = [
16913        'meta',
16914        'peering_group',
16915        'rate_limit',
16916    ]
16917
16918    def __init__(
16919        self,
16920        meta=None,
16921        peering_group=None,
16922        rate_limit=None,
16923    ):
16924        self.meta = meta if meta is not None else None
16925        '''
16926         Reserved for future use.
16927        '''
16928        self.peering_group = peering_group if peering_group is not None else None
16929        '''
16930         The created PeeringGroup.
16931        '''
16932        self.rate_limit = rate_limit if rate_limit is not None else None
16933        '''
16934         Rate limit information.
16935        '''
16936
16937    def __repr__(self):
16938        return '<sdm.PeeringGroupCreateResponse ' + \
16939            'meta: ' + repr(self.meta) + ' ' +\
16940            'peering_group: ' + repr(self.peering_group) + ' ' +\
16941            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16942            '>'
16943
16944    def to_dict(self):
16945        return {
16946            'meta': self.meta,
16947            'peering_group': self.peering_group,
16948            'rate_limit': self.rate_limit,
16949        }
16950
16951    @classmethod
16952    def from_dict(cls, d):
16953        return cls(
16954            meta=d.get('meta'),
16955            peering_group=d.get('peering_group'),
16956            rate_limit=d.get('rate_limit'),
16957        )
16958
16959
16960class PeeringGroupDeleteResponse:
16961    '''
16962         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
16963    '''
16964    __slots__ = [
16965        'meta',
16966        'rate_limit',
16967    ]
16968
16969    def __init__(
16970        self,
16971        meta=None,
16972        rate_limit=None,
16973    ):
16974        self.meta = meta if meta is not None else None
16975        '''
16976         Reserved for future use.
16977        '''
16978        self.rate_limit = rate_limit if rate_limit is not None else None
16979        '''
16980         Rate limit information.
16981        '''
16982
16983    def __repr__(self):
16984        return '<sdm.PeeringGroupDeleteResponse ' + \
16985            'meta: ' + repr(self.meta) + ' ' +\
16986            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16987            '>'
16988
16989    def to_dict(self):
16990        return {
16991            'meta': self.meta,
16992            'rate_limit': self.rate_limit,
16993        }
16994
16995    @classmethod
16996    def from_dict(cls, d):
16997        return cls(
16998            meta=d.get('meta'),
16999            rate_limit=d.get('rate_limit'),
17000        )
17001
17002
17003class PeeringGroupGetResponse:
17004    '''
17005         PeeringGroupGetResponse returns a requested PeeringGroup.
17006    '''
17007    __slots__ = [
17008        'meta',
17009        'peering_group',
17010        'rate_limit',
17011    ]
17012
17013    def __init__(
17014        self,
17015        meta=None,
17016        peering_group=None,
17017        rate_limit=None,
17018    ):
17019        self.meta = meta if meta is not None else None
17020        '''
17021         Reserved for future use.
17022        '''
17023        self.peering_group = peering_group if peering_group is not None else None
17024        '''
17025         The requested PeeringGroup.
17026        '''
17027        self.rate_limit = rate_limit if rate_limit is not None else None
17028        '''
17029         Rate limit information.
17030        '''
17031
17032    def __repr__(self):
17033        return '<sdm.PeeringGroupGetResponse ' + \
17034            'meta: ' + repr(self.meta) + ' ' +\
17035            'peering_group: ' + repr(self.peering_group) + ' ' +\
17036            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17037            '>'
17038
17039    def to_dict(self):
17040        return {
17041            'meta': self.meta,
17042            'peering_group': self.peering_group,
17043            'rate_limit': self.rate_limit,
17044        }
17045
17046    @classmethod
17047    def from_dict(cls, d):
17048        return cls(
17049            meta=d.get('meta'),
17050            peering_group=d.get('peering_group'),
17051            rate_limit=d.get('rate_limit'),
17052        )
17053
17054
17055class PeeringGroupNode:
17056    '''
17057         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
17058    '''
17059    __slots__ = [
17060        'group_id',
17061        'id',
17062        'node_id',
17063    ]
17064
17065    def __init__(
17066        self,
17067        group_id=None,
17068        id=None,
17069        node_id=None,
17070    ):
17071        self.group_id = group_id if group_id is not None else ''
17072        '''
17073         Peering Group ID to which the node will be attached to.
17074        '''
17075        self.id = id if id is not None else ''
17076        '''
17077         Unique identifier of the Attachment.
17078        '''
17079        self.node_id = node_id if node_id is not None else ''
17080        '''
17081         Node ID to be attached.
17082        '''
17083
17084    def __repr__(self):
17085        return '<sdm.PeeringGroupNode ' + \
17086            'group_id: ' + repr(self.group_id) + ' ' +\
17087            'id: ' + repr(self.id) + ' ' +\
17088            'node_id: ' + repr(self.node_id) + ' ' +\
17089            '>'
17090
17091    def to_dict(self):
17092        return {
17093            'group_id': self.group_id,
17094            'id': self.id,
17095            'node_id': self.node_id,
17096        }
17097
17098    @classmethod
17099    def from_dict(cls, d):
17100        return cls(
17101            group_id=d.get('group_id'),
17102            id=d.get('id'),
17103            node_id=d.get('node_id'),
17104        )
17105
17106
17107class PeeringGroupNodeCreateResponse:
17108    '''
17109         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
17110    '''
17111    __slots__ = [
17112        'meta',
17113        'peering_group_node',
17114        'rate_limit',
17115    ]
17116
17117    def __init__(
17118        self,
17119        meta=None,
17120        peering_group_node=None,
17121        rate_limit=None,
17122    ):
17123        self.meta = meta if meta is not None else None
17124        '''
17125         Reserved for future use.
17126        '''
17127        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17128        '''
17129         The created PeeringGroupNode.
17130        '''
17131        self.rate_limit = rate_limit if rate_limit is not None else None
17132        '''
17133         Rate limit information.
17134        '''
17135
17136    def __repr__(self):
17137        return '<sdm.PeeringGroupNodeCreateResponse ' + \
17138            'meta: ' + repr(self.meta) + ' ' +\
17139            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
17140            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17141            '>'
17142
17143    def to_dict(self):
17144        return {
17145            'meta': self.meta,
17146            'peering_group_node': self.peering_group_node,
17147            'rate_limit': self.rate_limit,
17148        }
17149
17150    @classmethod
17151    def from_dict(cls, d):
17152        return cls(
17153            meta=d.get('meta'),
17154            peering_group_node=d.get('peering_group_node'),
17155            rate_limit=d.get('rate_limit'),
17156        )
17157
17158
17159class PeeringGroupNodeDeleteResponse:
17160    '''
17161         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
17162    '''
17163    __slots__ = [
17164        'meta',
17165        'rate_limit',
17166    ]
17167
17168    def __init__(
17169        self,
17170        meta=None,
17171        rate_limit=None,
17172    ):
17173        self.meta = meta if meta is not None else None
17174        '''
17175         Reserved for future use.
17176        '''
17177        self.rate_limit = rate_limit if rate_limit is not None else None
17178        '''
17179         Rate limit information.
17180        '''
17181
17182    def __repr__(self):
17183        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
17184            'meta: ' + repr(self.meta) + ' ' +\
17185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17186            '>'
17187
17188    def to_dict(self):
17189        return {
17190            'meta': self.meta,
17191            'rate_limit': self.rate_limit,
17192        }
17193
17194    @classmethod
17195    def from_dict(cls, d):
17196        return cls(
17197            meta=d.get('meta'),
17198            rate_limit=d.get('rate_limit'),
17199        )
17200
17201
17202class PeeringGroupNodeGetResponse:
17203    '''
17204         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
17205    '''
17206    __slots__ = [
17207        'meta',
17208        'peering_group_node',
17209        'rate_limit',
17210    ]
17211
17212    def __init__(
17213        self,
17214        meta=None,
17215        peering_group_node=None,
17216        rate_limit=None,
17217    ):
17218        self.meta = meta if meta is not None else None
17219        '''
17220         Reserved for future use.
17221        '''
17222        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17223        '''
17224         The requested PeeringGroupNode.
17225        '''
17226        self.rate_limit = rate_limit if rate_limit is not None else None
17227        '''
17228         Rate limit information.
17229        '''
17230
17231    def __repr__(self):
17232        return '<sdm.PeeringGroupNodeGetResponse ' + \
17233            'meta: ' + repr(self.meta) + ' ' +\
17234            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
17235            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17236            '>'
17237
17238    def to_dict(self):
17239        return {
17240            'meta': self.meta,
17241            'peering_group_node': self.peering_group_node,
17242            'rate_limit': self.rate_limit,
17243        }
17244
17245    @classmethod
17246    def from_dict(cls, d):
17247        return cls(
17248            meta=d.get('meta'),
17249            peering_group_node=d.get('peering_group_node'),
17250            rate_limit=d.get('rate_limit'),
17251        )
17252
17253
17254class PeeringGroupPeer:
17255    '''
17256         PeeringGroupPeer represents the link between two PeeringGroups
17257    '''
17258    __slots__ = [
17259        'group_id',
17260        'id',
17261        'peers_with_group_id',
17262    ]
17263
17264    def __init__(
17265        self,
17266        group_id=None,
17267        id=None,
17268        peers_with_group_id=None,
17269    ):
17270        self.group_id = group_id if group_id is not None else ''
17271        '''
17272         Group ID from which the link will originate.
17273        '''
17274        self.id = id if id is not None else ''
17275        '''
17276         Unique identifier of the Attachment.
17277        '''
17278        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
17279        '''
17280         Peering Group ID to which Group ID will link.
17281        '''
17282
17283    def __repr__(self):
17284        return '<sdm.PeeringGroupPeer ' + \
17285            'group_id: ' + repr(self.group_id) + ' ' +\
17286            'id: ' + repr(self.id) + ' ' +\
17287            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
17288            '>'
17289
17290    def to_dict(self):
17291        return {
17292            'group_id': self.group_id,
17293            'id': self.id,
17294            'peers_with_group_id': self.peers_with_group_id,
17295        }
17296
17297    @classmethod
17298    def from_dict(cls, d):
17299        return cls(
17300            group_id=d.get('group_id'),
17301            id=d.get('id'),
17302            peers_with_group_id=d.get('peers_with_group_id'),
17303        )
17304
17305
17306class PeeringGroupPeerCreateResponse:
17307    '''
17308         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
17309    '''
17310    __slots__ = [
17311        'meta',
17312        'peering_group_peer',
17313        'rate_limit',
17314    ]
17315
17316    def __init__(
17317        self,
17318        meta=None,
17319        peering_group_peer=None,
17320        rate_limit=None,
17321    ):
17322        self.meta = meta if meta is not None else None
17323        '''
17324         Reserved for future use.
17325        '''
17326        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17327        '''
17328         The created PeeringGroupPeer.
17329        '''
17330        self.rate_limit = rate_limit if rate_limit is not None else None
17331        '''
17332         Rate limit information.
17333        '''
17334
17335    def __repr__(self):
17336        return '<sdm.PeeringGroupPeerCreateResponse ' + \
17337            'meta: ' + repr(self.meta) + ' ' +\
17338            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
17339            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17340            '>'
17341
17342    def to_dict(self):
17343        return {
17344            'meta': self.meta,
17345            'peering_group_peer': self.peering_group_peer,
17346            'rate_limit': self.rate_limit,
17347        }
17348
17349    @classmethod
17350    def from_dict(cls, d):
17351        return cls(
17352            meta=d.get('meta'),
17353            peering_group_peer=d.get('peering_group_peer'),
17354            rate_limit=d.get('rate_limit'),
17355        )
17356
17357
17358class PeeringGroupPeerDeleteResponse:
17359    '''
17360         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
17361    '''
17362    __slots__ = [
17363        'meta',
17364        'rate_limit',
17365    ]
17366
17367    def __init__(
17368        self,
17369        meta=None,
17370        rate_limit=None,
17371    ):
17372        self.meta = meta if meta is not None else None
17373        '''
17374         Reserved for future use.
17375        '''
17376        self.rate_limit = rate_limit if rate_limit is not None else None
17377        '''
17378         Rate limit information.
17379        '''
17380
17381    def __repr__(self):
17382        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
17383            'meta: ' + repr(self.meta) + ' ' +\
17384            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17385            '>'
17386
17387    def to_dict(self):
17388        return {
17389            'meta': self.meta,
17390            'rate_limit': self.rate_limit,
17391        }
17392
17393    @classmethod
17394    def from_dict(cls, d):
17395        return cls(
17396            meta=d.get('meta'),
17397            rate_limit=d.get('rate_limit'),
17398        )
17399
17400
17401class PeeringGroupPeerGetResponse:
17402    '''
17403         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
17404    '''
17405    __slots__ = [
17406        'meta',
17407        'peering_group_peer',
17408        'rate_limit',
17409    ]
17410
17411    def __init__(
17412        self,
17413        meta=None,
17414        peering_group_peer=None,
17415        rate_limit=None,
17416    ):
17417        self.meta = meta if meta is not None else None
17418        '''
17419         Reserved for future use.
17420        '''
17421        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17422        '''
17423         The requested PeeringGroupPeer.
17424        '''
17425        self.rate_limit = rate_limit if rate_limit is not None else None
17426        '''
17427         Rate limit information.
17428        '''
17429
17430    def __repr__(self):
17431        return '<sdm.PeeringGroupPeerGetResponse ' + \
17432            'meta: ' + repr(self.meta) + ' ' +\
17433            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
17434            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17435            '>'
17436
17437    def to_dict(self):
17438        return {
17439            'meta': self.meta,
17440            'peering_group_peer': self.peering_group_peer,
17441            'rate_limit': self.rate_limit,
17442        }
17443
17444    @classmethod
17445    def from_dict(cls, d):
17446        return cls(
17447            meta=d.get('meta'),
17448            peering_group_peer=d.get('peering_group_peer'),
17449            rate_limit=d.get('rate_limit'),
17450        )
17451
17452
17453class PeeringGroupResource:
17454    '''
17455         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
17456    '''
17457    __slots__ = [
17458        'group_id',
17459        'id',
17460        'resource_id',
17461    ]
17462
17463    def __init__(
17464        self,
17465        group_id=None,
17466        id=None,
17467        resource_id=None,
17468    ):
17469        self.group_id = group_id if group_id is not None else ''
17470        '''
17471         Peering Group ID to which the resource will be attached to.
17472        '''
17473        self.id = id if id is not None else ''
17474        '''
17475         Unique identifier of the Attachment.
17476        '''
17477        self.resource_id = resource_id if resource_id is not None else ''
17478        '''
17479         Resource ID to be attached.
17480        '''
17481
17482    def __repr__(self):
17483        return '<sdm.PeeringGroupResource ' + \
17484            'group_id: ' + repr(self.group_id) + ' ' +\
17485            'id: ' + repr(self.id) + ' ' +\
17486            'resource_id: ' + repr(self.resource_id) + ' ' +\
17487            '>'
17488
17489    def to_dict(self):
17490        return {
17491            'group_id': self.group_id,
17492            'id': self.id,
17493            'resource_id': self.resource_id,
17494        }
17495
17496    @classmethod
17497    def from_dict(cls, d):
17498        return cls(
17499            group_id=d.get('group_id'),
17500            id=d.get('id'),
17501            resource_id=d.get('resource_id'),
17502        )
17503
17504
17505class PeeringGroupResourceCreateResponse:
17506    '''
17507         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
17508    '''
17509    __slots__ = [
17510        'meta',
17511        'peering_group_resource',
17512        'rate_limit',
17513    ]
17514
17515    def __init__(
17516        self,
17517        meta=None,
17518        peering_group_resource=None,
17519        rate_limit=None,
17520    ):
17521        self.meta = meta if meta is not None else None
17522        '''
17523         Reserved for future use.
17524        '''
17525        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17526        '''
17527         The created PeeringGroupResource.
17528        '''
17529        self.rate_limit = rate_limit if rate_limit is not None else None
17530        '''
17531         Rate limit information.
17532        '''
17533
17534    def __repr__(self):
17535        return '<sdm.PeeringGroupResourceCreateResponse ' + \
17536            'meta: ' + repr(self.meta) + ' ' +\
17537            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
17538            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17539            '>'
17540
17541    def to_dict(self):
17542        return {
17543            'meta': self.meta,
17544            'peering_group_resource': self.peering_group_resource,
17545            'rate_limit': self.rate_limit,
17546        }
17547
17548    @classmethod
17549    def from_dict(cls, d):
17550        return cls(
17551            meta=d.get('meta'),
17552            peering_group_resource=d.get('peering_group_resource'),
17553            rate_limit=d.get('rate_limit'),
17554        )
17555
17556
17557class PeeringGroupResourceDeleteResponse:
17558    '''
17559         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
17560    '''
17561    __slots__ = [
17562        'meta',
17563        'rate_limit',
17564    ]
17565
17566    def __init__(
17567        self,
17568        meta=None,
17569        rate_limit=None,
17570    ):
17571        self.meta = meta if meta is not None else None
17572        '''
17573         Reserved for future use.
17574        '''
17575        self.rate_limit = rate_limit if rate_limit is not None else None
17576        '''
17577         Rate limit information.
17578        '''
17579
17580    def __repr__(self):
17581        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
17582            'meta: ' + repr(self.meta) + ' ' +\
17583            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17584            '>'
17585
17586    def to_dict(self):
17587        return {
17588            'meta': self.meta,
17589            'rate_limit': self.rate_limit,
17590        }
17591
17592    @classmethod
17593    def from_dict(cls, d):
17594        return cls(
17595            meta=d.get('meta'),
17596            rate_limit=d.get('rate_limit'),
17597        )
17598
17599
17600class PeeringGroupResourceGetResponse:
17601    '''
17602         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
17603    '''
17604    __slots__ = [
17605        'meta',
17606        'peering_group_resource',
17607        'rate_limit',
17608    ]
17609
17610    def __init__(
17611        self,
17612        meta=None,
17613        peering_group_resource=None,
17614        rate_limit=None,
17615    ):
17616        self.meta = meta if meta is not None else None
17617        '''
17618         Reserved for future use.
17619        '''
17620        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17621        '''
17622         The requested PeeringGroupResource.
17623        '''
17624        self.rate_limit = rate_limit if rate_limit is not None else None
17625        '''
17626         Rate limit information.
17627        '''
17628
17629    def __repr__(self):
17630        return '<sdm.PeeringGroupResourceGetResponse ' + \
17631            'meta: ' + repr(self.meta) + ' ' +\
17632            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
17633            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17634            '>'
17635
17636    def to_dict(self):
17637        return {
17638            'meta': self.meta,
17639            'peering_group_resource': self.peering_group_resource,
17640            'rate_limit': self.rate_limit,
17641        }
17642
17643    @classmethod
17644    def from_dict(cls, d):
17645        return cls(
17646            meta=d.get('meta'),
17647            peering_group_resource=d.get('peering_group_resource'),
17648            rate_limit=d.get('rate_limit'),
17649        )
17650
17651
17652class Policy:
17653    '''
17654         Policy is a collection of one or more statements that enforce fine-grained access control
17655     for the users of an organization.
17656    '''
17657    __slots__ = [
17658        'description',
17659        'id',
17660        'name',
17661        'policy',
17662    ]
17663
17664    def __init__(
17665        self,
17666        description=None,
17667        id=None,
17668        name=None,
17669        policy=None,
17670    ):
17671        self.description = description if description is not None else ''
17672        '''
17673         Optional description of the Policy.
17674        '''
17675        self.id = id if id is not None else ''
17676        '''
17677         Unique identifier of the Policy.
17678        '''
17679        self.name = name if name is not None else ''
17680        '''
17681         Unique human-readable name of the Policy.
17682        '''
17683        self.policy = policy if policy is not None else ''
17684        '''
17685         The content of the Policy, in Cedar policy language.
17686        '''
17687
17688    def __repr__(self):
17689        return '<sdm.Policy ' + \
17690            'description: ' + repr(self.description) + ' ' +\
17691            'id: ' + repr(self.id) + ' ' +\
17692            'name: ' + repr(self.name) + ' ' +\
17693            'policy: ' + repr(self.policy) + ' ' +\
17694            '>'
17695
17696    def to_dict(self):
17697        return {
17698            'description': self.description,
17699            'id': self.id,
17700            'name': self.name,
17701            'policy': self.policy,
17702        }
17703
17704    @classmethod
17705    def from_dict(cls, d):
17706        return cls(
17707            description=d.get('description'),
17708            id=d.get('id'),
17709            name=d.get('name'),
17710            policy=d.get('policy'),
17711        )
17712
17713
17714class PolicyCreateResponse:
17715    '''
17716         PolicyCreateResponse reports how the Policy was created in the system.
17717    '''
17718    __slots__ = [
17719        'policy',
17720        'rate_limit',
17721    ]
17722
17723    def __init__(
17724        self,
17725        policy=None,
17726        rate_limit=None,
17727    ):
17728        self.policy = policy if policy is not None else None
17729        '''
17730         The created Policy.
17731        '''
17732        self.rate_limit = rate_limit if rate_limit is not None else None
17733        '''
17734         Rate limit information.
17735        '''
17736
17737    def __repr__(self):
17738        return '<sdm.PolicyCreateResponse ' + \
17739            'policy: ' + repr(self.policy) + ' ' +\
17740            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17741            '>'
17742
17743    def to_dict(self):
17744        return {
17745            'policy': self.policy,
17746            'rate_limit': self.rate_limit,
17747        }
17748
17749    @classmethod
17750    def from_dict(cls, d):
17751        return cls(
17752            policy=d.get('policy'),
17753            rate_limit=d.get('rate_limit'),
17754        )
17755
17756
17757class PolicyDeleteResponse:
17758    '''
17759         PolicyDeleteResponse returns information about a Policy that was deleted.
17760    '''
17761    __slots__ = [
17762        'rate_limit',
17763    ]
17764
17765    def __init__(
17766        self,
17767        rate_limit=None,
17768    ):
17769        self.rate_limit = rate_limit if rate_limit is not None else None
17770        '''
17771         Rate limit information.
17772        '''
17773
17774    def __repr__(self):
17775        return '<sdm.PolicyDeleteResponse ' + \
17776            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17777            '>'
17778
17779    def to_dict(self):
17780        return {
17781            'rate_limit': self.rate_limit,
17782        }
17783
17784    @classmethod
17785    def from_dict(cls, d):
17786        return cls(rate_limit=d.get('rate_limit'), )
17787
17788
17789class PolicyGetResponse:
17790    '''
17791         PolicyGetResponse returns a requested Policy.
17792    '''
17793    __slots__ = [
17794        'meta',
17795        'policy',
17796        'rate_limit',
17797    ]
17798
17799    def __init__(
17800        self,
17801        meta=None,
17802        policy=None,
17803        rate_limit=None,
17804    ):
17805        self.meta = meta if meta is not None else None
17806        '''
17807         Reserved for future use.
17808        '''
17809        self.policy = policy if policy is not None else None
17810        '''
17811         The requested Policy.
17812        '''
17813        self.rate_limit = rate_limit if rate_limit is not None else None
17814        '''
17815         Rate limit information.
17816        '''
17817
17818    def __repr__(self):
17819        return '<sdm.PolicyGetResponse ' + \
17820            'meta: ' + repr(self.meta) + ' ' +\
17821            'policy: ' + repr(self.policy) + ' ' +\
17822            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17823            '>'
17824
17825    def to_dict(self):
17826        return {
17827            'meta': self.meta,
17828            'policy': self.policy,
17829            'rate_limit': self.rate_limit,
17830        }
17831
17832    @classmethod
17833    def from_dict(cls, d):
17834        return cls(
17835            meta=d.get('meta'),
17836            policy=d.get('policy'),
17837            rate_limit=d.get('rate_limit'),
17838        )
17839
17840
17841class PolicyHistory:
17842    '''
17843         PolicyHistory records the state of a Policy at a given point in time,
17844     where every change (create, update and delete) to a Policy produces a
17845     PolicyHistory record.
17846    '''
17847    __slots__ = [
17848        'activity_id',
17849        'deleted_at',
17850        'policy',
17851        'timestamp',
17852    ]
17853
17854    def __init__(
17855        self,
17856        activity_id=None,
17857        deleted_at=None,
17858        policy=None,
17859        timestamp=None,
17860    ):
17861        self.activity_id = activity_id if activity_id is not None else ''
17862        '''
17863         The unique identifier of the Activity that produced this change to the Policy.
17864         May be empty for some system-initiated updates.
17865        '''
17866        self.deleted_at = deleted_at if deleted_at is not None else None
17867        '''
17868         If this Policy was deleted, the time it was deleted.
17869        '''
17870        self.policy = policy if policy is not None else None
17871        '''
17872         The complete Policy state at this time.
17873        '''
17874        self.timestamp = timestamp if timestamp is not None else None
17875        '''
17876         The time at which the Policy state was recorded.
17877        '''
17878
17879    def __repr__(self):
17880        return '<sdm.PolicyHistory ' + \
17881            'activity_id: ' + repr(self.activity_id) + ' ' +\
17882            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17883            'policy: ' + repr(self.policy) + ' ' +\
17884            'timestamp: ' + repr(self.timestamp) + ' ' +\
17885            '>'
17886
17887    def to_dict(self):
17888        return {
17889            'activity_id': self.activity_id,
17890            'deleted_at': self.deleted_at,
17891            'policy': self.policy,
17892            'timestamp': self.timestamp,
17893        }
17894
17895    @classmethod
17896    def from_dict(cls, d):
17897        return cls(
17898            activity_id=d.get('activity_id'),
17899            deleted_at=d.get('deleted_at'),
17900            policy=d.get('policy'),
17901            timestamp=d.get('timestamp'),
17902        )
17903
17904
17905class PolicyListResponse:
17906    '''
17907         PolicyListResponse returns a list of Policy records that meet
17908     the criteria of a PolicyListRequest.
17909    '''
17910    __slots__ = [
17911        'rate_limit',
17912    ]
17913
17914    def __init__(
17915        self,
17916        rate_limit=None,
17917    ):
17918        self.rate_limit = rate_limit if rate_limit is not None else None
17919        '''
17920         Rate limit information.
17921        '''
17922
17923    def __repr__(self):
17924        return '<sdm.PolicyListResponse ' + \
17925            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17926            '>'
17927
17928    def to_dict(self):
17929        return {
17930            'rate_limit': self.rate_limit,
17931        }
17932
17933    @classmethod
17934    def from_dict(cls, d):
17935        return cls(rate_limit=d.get('rate_limit'), )
17936
17937
17938class PolicyUpdateResponse:
17939    '''
17940         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
17941     a PolicyUpdateRequest.
17942    '''
17943    __slots__ = [
17944        'policy',
17945        'rate_limit',
17946    ]
17947
17948    def __init__(
17949        self,
17950        policy=None,
17951        rate_limit=None,
17952    ):
17953        self.policy = policy if policy is not None else None
17954        '''
17955         The updated Policy.
17956        '''
17957        self.rate_limit = rate_limit if rate_limit is not None else None
17958        '''
17959         Rate limit information.
17960        '''
17961
17962    def __repr__(self):
17963        return '<sdm.PolicyUpdateResponse ' + \
17964            'policy: ' + repr(self.policy) + ' ' +\
17965            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17966            '>'
17967
17968    def to_dict(self):
17969        return {
17970            'policy': self.policy,
17971            'rate_limit': self.rate_limit,
17972        }
17973
17974    @classmethod
17975    def from_dict(cls, d):
17976        return cls(
17977            policy=d.get('policy'),
17978            rate_limit=d.get('rate_limit'),
17979        )
17980
17981
17982class Postgres:
17983    __slots__ = [
17984        'bind_interface',
17985        'database',
17986        'egress_filter',
17987        'healthy',
17988        'hostname',
17989        'id',
17990        'name',
17991        'override_database',
17992        'password',
17993        'port',
17994        'port_override',
17995        'proxy_cluster_id',
17996        'secret_store_id',
17997        'subdomain',
17998        'tags',
17999        'username',
18000    ]
18001
18002    def __init__(
18003        self,
18004        bind_interface=None,
18005        database=None,
18006        egress_filter=None,
18007        healthy=None,
18008        hostname=None,
18009        id=None,
18010        name=None,
18011        override_database=None,
18012        password=None,
18013        port=None,
18014        port_override=None,
18015        proxy_cluster_id=None,
18016        secret_store_id=None,
18017        subdomain=None,
18018        tags=None,
18019        username=None,
18020    ):
18021        self.bind_interface = bind_interface if bind_interface is not None else ''
18022        '''
18023         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18024        '''
18025        self.database = database if database is not None else ''
18026        '''
18027         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18028        '''
18029        self.egress_filter = egress_filter if egress_filter is not None else ''
18030        '''
18031         A filter applied to the routing logic to pin datasource to nodes.
18032        '''
18033        self.healthy = healthy if healthy is not None else False
18034        '''
18035         True if the datasource is reachable and the credentials are valid.
18036        '''
18037        self.hostname = hostname if hostname is not None else ''
18038        '''
18039         The host to dial to initiate a connection from the egress node to this resource.
18040        '''
18041        self.id = id if id is not None else ''
18042        '''
18043         Unique identifier of the Resource.
18044        '''
18045        self.name = name if name is not None else ''
18046        '''
18047         Unique human-readable name of the Resource.
18048        '''
18049        self.override_database = override_database if override_database is not None else False
18050        '''
18051         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.
18052        '''
18053        self.password = password if password is not None else ''
18054        '''
18055         The password to authenticate with.
18056        '''
18057        self.port = port if port is not None else 0
18058        '''
18059         The port to dial to initiate a connection from the egress node to this resource.
18060        '''
18061        self.port_override = port_override if port_override is not None else 0
18062        '''
18063         The local port used by clients to connect to this resource.
18064        '''
18065        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18066        '''
18067         ID of the proxy cluster for this resource, if any.
18068        '''
18069        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18070        '''
18071         ID of the secret store containing credentials for this resource, if any.
18072        '''
18073        self.subdomain = subdomain if subdomain is not None else ''
18074        '''
18075         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18076        '''
18077        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18078        '''
18079         Tags is a map of key, value pairs.
18080        '''
18081        self.username = username if username is not None else ''
18082        '''
18083         The username to authenticate with.
18084        '''
18085
18086    def __repr__(self):
18087        return '<sdm.Postgres ' + \
18088            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18089            'database: ' + repr(self.database) + ' ' +\
18090            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18091            'healthy: ' + repr(self.healthy) + ' ' +\
18092            'hostname: ' + repr(self.hostname) + ' ' +\
18093            'id: ' + repr(self.id) + ' ' +\
18094            'name: ' + repr(self.name) + ' ' +\
18095            'override_database: ' + repr(self.override_database) + ' ' +\
18096            'password: ' + repr(self.password) + ' ' +\
18097            'port: ' + repr(self.port) + ' ' +\
18098            'port_override: ' + repr(self.port_override) + ' ' +\
18099            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18100            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18101            'subdomain: ' + repr(self.subdomain) + ' ' +\
18102            'tags: ' + repr(self.tags) + ' ' +\
18103            'username: ' + repr(self.username) + ' ' +\
18104            '>'
18105
18106    def to_dict(self):
18107        return {
18108            'bind_interface': self.bind_interface,
18109            'database': self.database,
18110            'egress_filter': self.egress_filter,
18111            'healthy': self.healthy,
18112            'hostname': self.hostname,
18113            'id': self.id,
18114            'name': self.name,
18115            'override_database': self.override_database,
18116            'password': self.password,
18117            'port': self.port,
18118            'port_override': self.port_override,
18119            'proxy_cluster_id': self.proxy_cluster_id,
18120            'secret_store_id': self.secret_store_id,
18121            'subdomain': self.subdomain,
18122            'tags': self.tags,
18123            'username': self.username,
18124        }
18125
18126    @classmethod
18127    def from_dict(cls, d):
18128        return cls(
18129            bind_interface=d.get('bind_interface'),
18130            database=d.get('database'),
18131            egress_filter=d.get('egress_filter'),
18132            healthy=d.get('healthy'),
18133            hostname=d.get('hostname'),
18134            id=d.get('id'),
18135            name=d.get('name'),
18136            override_database=d.get('override_database'),
18137            password=d.get('password'),
18138            port=d.get('port'),
18139            port_override=d.get('port_override'),
18140            proxy_cluster_id=d.get('proxy_cluster_id'),
18141            secret_store_id=d.get('secret_store_id'),
18142            subdomain=d.get('subdomain'),
18143            tags=d.get('tags'),
18144            username=d.get('username'),
18145        )
18146
18147
18148class Presto:
18149    __slots__ = [
18150        'bind_interface',
18151        'database',
18152        'egress_filter',
18153        'healthy',
18154        'hostname',
18155        'id',
18156        'name',
18157        'password',
18158        'port',
18159        'port_override',
18160        'proxy_cluster_id',
18161        'secret_store_id',
18162        'subdomain',
18163        'tags',
18164        'tls_required',
18165        'username',
18166    ]
18167
18168    def __init__(
18169        self,
18170        bind_interface=None,
18171        database=None,
18172        egress_filter=None,
18173        healthy=None,
18174        hostname=None,
18175        id=None,
18176        name=None,
18177        password=None,
18178        port=None,
18179        port_override=None,
18180        proxy_cluster_id=None,
18181        secret_store_id=None,
18182        subdomain=None,
18183        tags=None,
18184        tls_required=None,
18185        username=None,
18186    ):
18187        self.bind_interface = bind_interface if bind_interface is not None else ''
18188        '''
18189         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18190        '''
18191        self.database = database if database is not None else ''
18192        '''
18193         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18194        '''
18195        self.egress_filter = egress_filter if egress_filter is not None else ''
18196        '''
18197         A filter applied to the routing logic to pin datasource to nodes.
18198        '''
18199        self.healthy = healthy if healthy is not None else False
18200        '''
18201         True if the datasource is reachable and the credentials are valid.
18202        '''
18203        self.hostname = hostname if hostname is not None else ''
18204        '''
18205         The host to dial to initiate a connection from the egress node to this resource.
18206        '''
18207        self.id = id if id is not None else ''
18208        '''
18209         Unique identifier of the Resource.
18210        '''
18211        self.name = name if name is not None else ''
18212        '''
18213         Unique human-readable name of the Resource.
18214        '''
18215        self.password = password if password is not None else ''
18216        '''
18217         The password to authenticate with.
18218        '''
18219        self.port = port if port is not None else 0
18220        '''
18221         The port to dial to initiate a connection from the egress node to this resource.
18222        '''
18223        self.port_override = port_override if port_override is not None else 0
18224        '''
18225         The local port used by clients to connect to this resource.
18226        '''
18227        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18228        '''
18229         ID of the proxy cluster for this resource, if any.
18230        '''
18231        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18232        '''
18233         ID of the secret store containing credentials for this resource, if any.
18234        '''
18235        self.subdomain = subdomain if subdomain is not None else ''
18236        '''
18237         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18238        '''
18239        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18240        '''
18241         Tags is a map of key, value pairs.
18242        '''
18243        self.tls_required = tls_required if tls_required is not None else False
18244        '''
18245         If set, TLS must be used to connect to this resource.
18246        '''
18247        self.username = username if username is not None else ''
18248        '''
18249         The username to authenticate with.
18250        '''
18251
18252    def __repr__(self):
18253        return '<sdm.Presto ' + \
18254            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18255            'database: ' + repr(self.database) + ' ' +\
18256            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18257            'healthy: ' + repr(self.healthy) + ' ' +\
18258            'hostname: ' + repr(self.hostname) + ' ' +\
18259            'id: ' + repr(self.id) + ' ' +\
18260            'name: ' + repr(self.name) + ' ' +\
18261            'password: ' + repr(self.password) + ' ' +\
18262            'port: ' + repr(self.port) + ' ' +\
18263            'port_override: ' + repr(self.port_override) + ' ' +\
18264            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18265            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18266            'subdomain: ' + repr(self.subdomain) + ' ' +\
18267            'tags: ' + repr(self.tags) + ' ' +\
18268            'tls_required: ' + repr(self.tls_required) + ' ' +\
18269            'username: ' + repr(self.username) + ' ' +\
18270            '>'
18271
18272    def to_dict(self):
18273        return {
18274            'bind_interface': self.bind_interface,
18275            'database': self.database,
18276            'egress_filter': self.egress_filter,
18277            'healthy': self.healthy,
18278            'hostname': self.hostname,
18279            'id': self.id,
18280            'name': self.name,
18281            'password': self.password,
18282            'port': self.port,
18283            'port_override': self.port_override,
18284            'proxy_cluster_id': self.proxy_cluster_id,
18285            'secret_store_id': self.secret_store_id,
18286            'subdomain': self.subdomain,
18287            'tags': self.tags,
18288            'tls_required': self.tls_required,
18289            'username': self.username,
18290        }
18291
18292    @classmethod
18293    def from_dict(cls, d):
18294        return cls(
18295            bind_interface=d.get('bind_interface'),
18296            database=d.get('database'),
18297            egress_filter=d.get('egress_filter'),
18298            healthy=d.get('healthy'),
18299            hostname=d.get('hostname'),
18300            id=d.get('id'),
18301            name=d.get('name'),
18302            password=d.get('password'),
18303            port=d.get('port'),
18304            port_override=d.get('port_override'),
18305            proxy_cluster_id=d.get('proxy_cluster_id'),
18306            secret_store_id=d.get('secret_store_id'),
18307            subdomain=d.get('subdomain'),
18308            tags=d.get('tags'),
18309            tls_required=d.get('tls_required'),
18310            username=d.get('username'),
18311        )
18312
18313
18314class ProxyCluster:
18315    '''
18316         ProxyCluster represents a cluster of StrongDM proxies.
18317    '''
18318    __slots__ = [
18319        'address',
18320        'id',
18321        'maintenance_windows',
18322        'name',
18323        'tags',
18324    ]
18325
18326    def __init__(
18327        self,
18328        address=None,
18329        id=None,
18330        maintenance_windows=None,
18331        name=None,
18332        tags=None,
18333    ):
18334        self.address = address if address is not None else ''
18335        '''
18336         The public hostname/port tuple at which the proxy cluster will be
18337         accessible to clients.
18338        '''
18339        self.id = id if id is not None else ''
18340        '''
18341         Unique identifier of the Proxy Cluster.
18342        '''
18343        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
18344        '''
18345         Maintenance Windows define when this node is allowed to restart. If a node
18346         is requested to restart, it will check each window to determine if any of
18347         them permit it to restart, and if any do, it will. This check is repeated
18348         per window until the restart is successfully completed.
18349         
18350         If not set here, may be set on the command line or via an environment variable
18351         on the process itself; any server setting will take precedence over local
18352         settings. This setting is ineffective for nodes below version 38.44.0.
18353         
18354         If this setting is not applied via this remote configuration or via local
18355         configuration, the default setting is used: always allow restarts if serving
18356         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
18357        '''
18358        self.name = name if name is not None else ''
18359        '''
18360         Unique human-readable name of the proxy cluster. Names must
18361         include only letters, numbers, and hyphens (no spaces, underscores, or
18362         other special characters). Generated if not provided on create.
18363        '''
18364        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18365        '''
18366         Tags is a map of key, value pairs.
18367        '''
18368
18369    def __repr__(self):
18370        return '<sdm.ProxyCluster ' + \
18371            'address: ' + repr(self.address) + ' ' +\
18372            'id: ' + repr(self.id) + ' ' +\
18373            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
18374            'name: ' + repr(self.name) + ' ' +\
18375            'tags: ' + repr(self.tags) + ' ' +\
18376            '>'
18377
18378    def to_dict(self):
18379        return {
18380            'address': self.address,
18381            'id': self.id,
18382            'maintenance_windows': self.maintenance_windows,
18383            'name': self.name,
18384            'tags': self.tags,
18385        }
18386
18387    @classmethod
18388    def from_dict(cls, d):
18389        return cls(
18390            address=d.get('address'),
18391            id=d.get('id'),
18392            maintenance_windows=d.get('maintenance_windows'),
18393            name=d.get('name'),
18394            tags=d.get('tags'),
18395        )
18396
18397
18398class ProxyClusterKey:
18399    '''
18400         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
18401     The proxies within a cluster share the same key. One cluster can have
18402     multiple keys in order to facilitate key rotation.
18403    '''
18404    __slots__ = [
18405        'created_at',
18406        'id',
18407        'last_used_at',
18408        'proxy_cluster_id',
18409    ]
18410
18411    def __init__(
18412        self,
18413        created_at=None,
18414        id=None,
18415        last_used_at=None,
18416        proxy_cluster_id=None,
18417    ):
18418        self.created_at = created_at if created_at is not None else None
18419        '''
18420         The timestamp when this key was created.
18421        '''
18422        self.id = id if id is not None else ''
18423        '''
18424         Unique identifier of the Relay.
18425        '''
18426        self.last_used_at = last_used_at if last_used_at is not None else None
18427        '''
18428         The timestamp when this key was last used, if at all.
18429        '''
18430        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18431        '''
18432         The ID of the proxy cluster which this key authenticates to.
18433        '''
18434
18435    def __repr__(self):
18436        return '<sdm.ProxyClusterKey ' + \
18437            'created_at: ' + repr(self.created_at) + ' ' +\
18438            'id: ' + repr(self.id) + ' ' +\
18439            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
18440            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18441            '>'
18442
18443    def to_dict(self):
18444        return {
18445            'created_at': self.created_at,
18446            'id': self.id,
18447            'last_used_at': self.last_used_at,
18448            'proxy_cluster_id': self.proxy_cluster_id,
18449        }
18450
18451    @classmethod
18452    def from_dict(cls, d):
18453        return cls(
18454            created_at=d.get('created_at'),
18455            id=d.get('id'),
18456            last_used_at=d.get('last_used_at'),
18457            proxy_cluster_id=d.get('proxy_cluster_id'),
18458        )
18459
18460
18461class ProxyClusterKeyCreateResponse:
18462    '''
18463         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
18464    '''
18465    __slots__ = [
18466        'meta',
18467        'proxy_cluster_key',
18468        'rate_limit',
18469        'secret_key',
18470    ]
18471
18472    def __init__(
18473        self,
18474        meta=None,
18475        proxy_cluster_key=None,
18476        rate_limit=None,
18477        secret_key=None,
18478    ):
18479        self.meta = meta if meta is not None else None
18480        '''
18481         Reserved for future use.
18482        '''
18483        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18484        '''
18485         The created ProxyClusterKey.
18486        '''
18487        self.rate_limit = rate_limit if rate_limit is not None else None
18488        '''
18489         Rate limit information.
18490        '''
18491        self.secret_key = secret_key if secret_key is not None else ''
18492        '''
18493         The secret key component of this key. It must be saved upon creation
18494         because it will not be available for retrieval later.
18495        '''
18496
18497    def __repr__(self):
18498        return '<sdm.ProxyClusterKeyCreateResponse ' + \
18499            'meta: ' + repr(self.meta) + ' ' +\
18500            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
18501            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18502            'secret_key: ' + repr(self.secret_key) + ' ' +\
18503            '>'
18504
18505    def to_dict(self):
18506        return {
18507            'meta': self.meta,
18508            'proxy_cluster_key': self.proxy_cluster_key,
18509            'rate_limit': self.rate_limit,
18510            'secret_key': self.secret_key,
18511        }
18512
18513    @classmethod
18514    def from_dict(cls, d):
18515        return cls(
18516            meta=d.get('meta'),
18517            proxy_cluster_key=d.get('proxy_cluster_key'),
18518            rate_limit=d.get('rate_limit'),
18519            secret_key=d.get('secret_key'),
18520        )
18521
18522
18523class ProxyClusterKeyDeleteResponse:
18524    '''
18525         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
18526    '''
18527    __slots__ = [
18528        'meta',
18529        'rate_limit',
18530    ]
18531
18532    def __init__(
18533        self,
18534        meta=None,
18535        rate_limit=None,
18536    ):
18537        self.meta = meta if meta is not None else None
18538        '''
18539         Reserved for future use.
18540        '''
18541        self.rate_limit = rate_limit if rate_limit is not None else None
18542        '''
18543         Rate limit information.
18544        '''
18545
18546    def __repr__(self):
18547        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
18548            'meta: ' + repr(self.meta) + ' ' +\
18549            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18550            '>'
18551
18552    def to_dict(self):
18553        return {
18554            'meta': self.meta,
18555            'rate_limit': self.rate_limit,
18556        }
18557
18558    @classmethod
18559    def from_dict(cls, d):
18560        return cls(
18561            meta=d.get('meta'),
18562            rate_limit=d.get('rate_limit'),
18563        )
18564
18565
18566class ProxyClusterKeyGetResponse:
18567    '''
18568         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
18569    '''
18570    __slots__ = [
18571        'meta',
18572        'proxy_cluster_key',
18573        'rate_limit',
18574    ]
18575
18576    def __init__(
18577        self,
18578        meta=None,
18579        proxy_cluster_key=None,
18580        rate_limit=None,
18581    ):
18582        self.meta = meta if meta is not None else None
18583        '''
18584         Reserved for future use.
18585        '''
18586        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18587        '''
18588         The requested ProxyClusterKey.
18589        '''
18590        self.rate_limit = rate_limit if rate_limit is not None else None
18591        '''
18592         Rate limit information.
18593        '''
18594
18595    def __repr__(self):
18596        return '<sdm.ProxyClusterKeyGetResponse ' + \
18597            'meta: ' + repr(self.meta) + ' ' +\
18598            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
18599            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18600            '>'
18601
18602    def to_dict(self):
18603        return {
18604            'meta': self.meta,
18605            'proxy_cluster_key': self.proxy_cluster_key,
18606            'rate_limit': self.rate_limit,
18607        }
18608
18609    @classmethod
18610    def from_dict(cls, d):
18611        return cls(
18612            meta=d.get('meta'),
18613            proxy_cluster_key=d.get('proxy_cluster_key'),
18614            rate_limit=d.get('rate_limit'),
18615        )
18616
18617
18618class Query:
18619    '''
18620         A Query is a record of a single client request to a resource, such as a SQL query.
18621     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
18622     interactive sessions will return two Query records with the same identifier, one record
18623     at the start of the query and a second record upon the completion of the query with
18624     additional detail.
18625    '''
18626    __slots__ = [
18627        'account_email',
18628        'account_first_name',
18629        'account_id',
18630        'account_last_name',
18631        'account_tags',
18632        'authzjson',
18633        'capture',
18634        'client_ip',
18635        'completed_at',
18636        'duration',
18637        'egress_node_id',
18638        'encrypted',
18639        'id',
18640        'identity_alias_username',
18641        'query_body',
18642        'query_category',
18643        'query_hash',
18644        'query_key',
18645        'record_count',
18646        'remote_identity_username',
18647        'replayable',
18648        'resource_id',
18649        'resource_name',
18650        'resource_tags',
18651        'resource_type',
18652        'source_ip',
18653        'target',
18654        'timestamp',
18655    ]
18656
18657    def __init__(
18658        self,
18659        account_email=None,
18660        account_first_name=None,
18661        account_id=None,
18662        account_last_name=None,
18663        account_tags=None,
18664        authzjson=None,
18665        capture=None,
18666        client_ip=None,
18667        completed_at=None,
18668        duration=None,
18669        egress_node_id=None,
18670        encrypted=None,
18671        id=None,
18672        identity_alias_username=None,
18673        query_body=None,
18674        query_category=None,
18675        query_hash=None,
18676        query_key=None,
18677        record_count=None,
18678        remote_identity_username=None,
18679        replayable=None,
18680        resource_id=None,
18681        resource_name=None,
18682        resource_tags=None,
18683        resource_type=None,
18684        source_ip=None,
18685        target=None,
18686        timestamp=None,
18687    ):
18688        self.account_email = account_email if account_email is not None else ''
18689        '''
18690         The email of the account performing this query, at the time the query was executed.
18691         If the account email is later changed, that change will not be reflected via this field.
18692        '''
18693        self.account_first_name = account_first_name if account_first_name is not None else ''
18694        '''
18695         The given name of the account performing this query, at the time the query was executed.
18696         If the account is later renamed, that change will not be reflected via this field.
18697        '''
18698        self.account_id = account_id if account_id is not None else ''
18699        '''
18700         Unique identifier of the Account that performed the Query.
18701        '''
18702        self.account_last_name = account_last_name if account_last_name is not None else ''
18703        '''
18704         The family name of the account performing this query, at the time the query was executed.
18705         If the account is later renamed, that change will not be reflected via this field.
18706        '''
18707        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
18708        )
18709        '''
18710         The tags of the account accessed, at the time the query was executed. If the account
18711         tags are later changed, that change will not be reflected via this field.
18712        '''
18713        self.authzjson = authzjson if authzjson is not None else ''
18714        '''
18715         Authorization metadata associated with this query.
18716        '''
18717        self.capture = capture if capture is not None else None
18718        '''
18719         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
18720         about the captured query.
18721        '''
18722        self.client_ip = client_ip if client_ip is not None else ''
18723        '''
18724         The IP address the Query was performed from, as detected at the StrongDM control plane.
18725        '''
18726        self.completed_at = completed_at if completed_at is not None else None
18727        '''
18728         The time at which the Query was completed.
18729         Empty if this record indicates the start of a long-running query.
18730        '''
18731        self.duration = duration if duration is not None else None
18732        '''
18733         The duration of the Query.
18734        '''
18735        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
18736        '''
18737         The unique ID of the node through which the Resource was accessed.
18738        '''
18739        self.encrypted = encrypted if encrypted is not None else False
18740        '''
18741         Indicates that the body of the Query is encrypted.
18742        '''
18743        self.id = id if id is not None else ''
18744        '''
18745         Unique identifier of the Query.
18746        '''
18747        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
18748        '''
18749         The username of the IdentityAlias used to access the Resource.
18750        '''
18751        self.query_body = query_body if query_body is not None else ''
18752        '''
18753         The captured content of the Query.
18754         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
18755        '''
18756        self.query_category = query_category if query_category is not None else ''
18757        '''
18758         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
18759        '''
18760        self.query_hash = query_hash if query_hash is not None else ''
18761        '''
18762         The hash of the body of the Query.
18763        '''
18764        self.query_key = query_key if query_key is not None else ''
18765        '''
18766         The symmetric key used to encrypt the body of this Query and its replay if replayable.
18767         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
18768         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
18769         If the Query is not encrypted, this field is empty.
18770        '''
18771        self.record_count = record_count if record_count is not None else 0
18772        '''
18773         The number of records returned by the Query, for a database Resource.
18774        '''
18775        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
18776        '''
18777         The username of the RemoteIdentity used to access the Resource.
18778        '''
18779        self.replayable = replayable if replayable is not None else False
18780        '''
18781         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
18782        '''
18783        self.resource_id = resource_id if resource_id is not None else ''
18784        '''
18785         Unique identifier of the Resource against which the Query was performed.
18786        '''
18787        self.resource_name = resource_name if resource_name is not None else ''
18788        '''
18789         The name of the resource accessed, at the time the query was executed. If the resource
18790         is later renamed, that change will not be reflected via this field.
18791        '''
18792        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
18793        )
18794        '''
18795         The tags of the resource accessed, at the time the query was executed. If the resource
18796         tags are later changed, that change will not be reflected via this field.
18797        '''
18798        self.resource_type = resource_type if resource_type is not None else ''
18799        '''
18800         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
18801        '''
18802        self.source_ip = source_ip if source_ip is not None else ''
18803        '''
18804         The IP address the Query was performed from, as detected at the ingress gateway.
18805        '''
18806        self.target = target if target is not None else ''
18807        '''
18808         The target destination of the query, in host:port format.
18809        '''
18810        self.timestamp = timestamp if timestamp is not None else None
18811        '''
18812         The time at which the Query was started.
18813        '''
18814
18815    def __repr__(self):
18816        return '<sdm.Query ' + \
18817            'account_email: ' + repr(self.account_email) + ' ' +\
18818            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
18819            'account_id: ' + repr(self.account_id) + ' ' +\
18820            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
18821            'account_tags: ' + repr(self.account_tags) + ' ' +\
18822            'authzjson: ' + repr(self.authzjson) + ' ' +\
18823            'capture: ' + repr(self.capture) + ' ' +\
18824            'client_ip: ' + repr(self.client_ip) + ' ' +\
18825            'completed_at: ' + repr(self.completed_at) + ' ' +\
18826            'duration: ' + repr(self.duration) + ' ' +\
18827            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
18828            'encrypted: ' + repr(self.encrypted) + ' ' +\
18829            'id: ' + repr(self.id) + ' ' +\
18830            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
18831            'query_body: ' + repr(self.query_body) + ' ' +\
18832            'query_category: ' + repr(self.query_category) + ' ' +\
18833            'query_hash: ' + repr(self.query_hash) + ' ' +\
18834            'query_key: ' + repr(self.query_key) + ' ' +\
18835            'record_count: ' + repr(self.record_count) + ' ' +\
18836            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
18837            'replayable: ' + repr(self.replayable) + ' ' +\
18838            'resource_id: ' + repr(self.resource_id) + ' ' +\
18839            'resource_name: ' + repr(self.resource_name) + ' ' +\
18840            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
18841            'resource_type: ' + repr(self.resource_type) + ' ' +\
18842            'source_ip: ' + repr(self.source_ip) + ' ' +\
18843            'target: ' + repr(self.target) + ' ' +\
18844            'timestamp: ' + repr(self.timestamp) + ' ' +\
18845            '>'
18846
18847    def to_dict(self):
18848        return {
18849            'account_email': self.account_email,
18850            'account_first_name': self.account_first_name,
18851            'account_id': self.account_id,
18852            'account_last_name': self.account_last_name,
18853            'account_tags': self.account_tags,
18854            'authzjson': self.authzjson,
18855            'capture': self.capture,
18856            'client_ip': self.client_ip,
18857            'completed_at': self.completed_at,
18858            'duration': self.duration,
18859            'egress_node_id': self.egress_node_id,
18860            'encrypted': self.encrypted,
18861            'id': self.id,
18862            'identity_alias_username': self.identity_alias_username,
18863            'query_body': self.query_body,
18864            'query_category': self.query_category,
18865            'query_hash': self.query_hash,
18866            'query_key': self.query_key,
18867            'record_count': self.record_count,
18868            'remote_identity_username': self.remote_identity_username,
18869            'replayable': self.replayable,
18870            'resource_id': self.resource_id,
18871            'resource_name': self.resource_name,
18872            'resource_tags': self.resource_tags,
18873            'resource_type': self.resource_type,
18874            'source_ip': self.source_ip,
18875            'target': self.target,
18876            'timestamp': self.timestamp,
18877        }
18878
18879    @classmethod
18880    def from_dict(cls, d):
18881        return cls(
18882            account_email=d.get('account_email'),
18883            account_first_name=d.get('account_first_name'),
18884            account_id=d.get('account_id'),
18885            account_last_name=d.get('account_last_name'),
18886            account_tags=d.get('account_tags'),
18887            authzjson=d.get('authzjson'),
18888            capture=d.get('capture'),
18889            client_ip=d.get('client_ip'),
18890            completed_at=d.get('completed_at'),
18891            duration=d.get('duration'),
18892            egress_node_id=d.get('egress_node_id'),
18893            encrypted=d.get('encrypted'),
18894            id=d.get('id'),
18895            identity_alias_username=d.get('identity_alias_username'),
18896            query_body=d.get('query_body'),
18897            query_category=d.get('query_category'),
18898            query_hash=d.get('query_hash'),
18899            query_key=d.get('query_key'),
18900            record_count=d.get('record_count'),
18901            remote_identity_username=d.get('remote_identity_username'),
18902            replayable=d.get('replayable'),
18903            resource_id=d.get('resource_id'),
18904            resource_name=d.get('resource_name'),
18905            resource_tags=d.get('resource_tags'),
18906            resource_type=d.get('resource_type'),
18907            source_ip=d.get('source_ip'),
18908            target=d.get('target'),
18909            timestamp=d.get('timestamp'),
18910        )
18911
18912
18913class QueryCapture:
18914    '''
18915         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
18916    '''
18917    __slots__ = [
18918        'client_command',
18919        'command',
18920        'container',
18921        'env',
18922        'file_name',
18923        'file_size',
18924        'height',
18925        'impersonation_groups',
18926        'impersonation_user',
18927        'pod',
18928        'request_body',
18929        'request_method',
18930        'request_uri',
18931        'type',
18932        'width',
18933    ]
18934
18935    def __init__(
18936        self,
18937        client_command=None,
18938        command=None,
18939        container=None,
18940        env=None,
18941        file_name=None,
18942        file_size=None,
18943        height=None,
18944        impersonation_groups=None,
18945        impersonation_user=None,
18946        pod=None,
18947        request_body=None,
18948        request_method=None,
18949        request_uri=None,
18950        type=None,
18951        width=None,
18952    ):
18953        self.client_command = client_command if client_command is not None else ''
18954        '''
18955         The command executed on the client for a Kubernetes session.
18956        '''
18957        self.command = command if command is not None else ''
18958        '''
18959         The command executed over an SSH or Kubernetes session.
18960        '''
18961        self.container = container if container is not None else ''
18962        '''
18963         The target container of a Kubernetes operation.
18964        '''
18965        self.env = env if env is not None else {}
18966        '''
18967         The environment variables for an SSH or Kubernetes session.
18968        '''
18969        self.file_name = file_name if file_name is not None else ''
18970        '''
18971         The remote file name of an SCP operation.
18972        '''
18973        self.file_size = file_size if file_size is not None else 0
18974        '''
18975         The file size transferred for an SCP operation.
18976        '''
18977        self.height = height if height is not None else 0
18978        '''
18979         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
18980        '''
18981        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
18982        '''
18983         The impersonation groups of a Kubernetes operation.
18984        '''
18985        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
18986        '''
18987         The impersonation user of a Kubernetes operation.
18988        '''
18989        self.pod = pod if pod is not None else ''
18990        '''
18991         The target pod of a Kubernetes operation.
18992        '''
18993        self.request_body = request_body if request_body is not None else b''
18994        '''
18995         The HTTP request body of a Kubernetes operation.
18996        '''
18997        self.request_method = request_method if request_method is not None else ''
18998        '''
18999         The HTTP request method of a Kubernetes operation.
19000        '''
19001        self.request_uri = request_uri if request_uri is not None else ''
19002        '''
19003         The HTTP request URI of a Kubernetes operation.
19004        '''
19005        self.type = type if type is not None else ''
19006        '''
19007         The CaptureType of this query capture, one of the CaptureType constants.
19008        '''
19009        self.width = width if width is not None else 0
19010        '''
19011         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
19012        '''
19013
19014    def __repr__(self):
19015        return '<sdm.QueryCapture ' + \
19016            'client_command: ' + repr(self.client_command) + ' ' +\
19017            'command: ' + repr(self.command) + ' ' +\
19018            'container: ' + repr(self.container) + ' ' +\
19019            'env: ' + repr(self.env) + ' ' +\
19020            'file_name: ' + repr(self.file_name) + ' ' +\
19021            'file_size: ' + repr(self.file_size) + ' ' +\
19022            'height: ' + repr(self.height) + ' ' +\
19023            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
19024            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
19025            'pod: ' + repr(self.pod) + ' ' +\
19026            'request_body: ' + repr(self.request_body) + ' ' +\
19027            'request_method: ' + repr(self.request_method) + ' ' +\
19028            'request_uri: ' + repr(self.request_uri) + ' ' +\
19029            'type: ' + repr(self.type) + ' ' +\
19030            'width: ' + repr(self.width) + ' ' +\
19031            '>'
19032
19033    def to_dict(self):
19034        return {
19035            'client_command': self.client_command,
19036            'command': self.command,
19037            'container': self.container,
19038            'env': self.env,
19039            'file_name': self.file_name,
19040            'file_size': self.file_size,
19041            'height': self.height,
19042            'impersonation_groups': self.impersonation_groups,
19043            'impersonation_user': self.impersonation_user,
19044            'pod': self.pod,
19045            'request_body': self.request_body,
19046            'request_method': self.request_method,
19047            'request_uri': self.request_uri,
19048            'type': self.type,
19049            'width': self.width,
19050        }
19051
19052    @classmethod
19053    def from_dict(cls, d):
19054        return cls(
19055            client_command=d.get('client_command'),
19056            command=d.get('command'),
19057            container=d.get('container'),
19058            env=d.get('env'),
19059            file_name=d.get('file_name'),
19060            file_size=d.get('file_size'),
19061            height=d.get('height'),
19062            impersonation_groups=d.get('impersonation_groups'),
19063            impersonation_user=d.get('impersonation_user'),
19064            pod=d.get('pod'),
19065            request_body=d.get('request_body'),
19066            request_method=d.get('request_method'),
19067            request_uri=d.get('request_uri'),
19068            type=d.get('type'),
19069            width=d.get('width'),
19070        )
19071
19072
19073class RDP:
19074    __slots__ = [
19075        'bind_interface',
19076        'downgrade_nla_connections',
19077        'egress_filter',
19078        'healthy',
19079        'hostname',
19080        'id',
19081        'lock_required',
19082        'name',
19083        'password',
19084        'port',
19085        'port_override',
19086        'proxy_cluster_id',
19087        'secret_store_id',
19088        'subdomain',
19089        'tags',
19090        'username',
19091    ]
19092
19093    def __init__(
19094        self,
19095        bind_interface=None,
19096        downgrade_nla_connections=None,
19097        egress_filter=None,
19098        healthy=None,
19099        hostname=None,
19100        id=None,
19101        lock_required=None,
19102        name=None,
19103        password=None,
19104        port=None,
19105        port_override=None,
19106        proxy_cluster_id=None,
19107        secret_store_id=None,
19108        subdomain=None,
19109        tags=None,
19110        username=None,
19111    ):
19112        self.bind_interface = bind_interface if bind_interface is not None else ''
19113        '''
19114         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19115        '''
19116        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
19117        '''
19118         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.
19119        '''
19120        self.egress_filter = egress_filter if egress_filter is not None else ''
19121        '''
19122         A filter applied to the routing logic to pin datasource to nodes.
19123        '''
19124        self.healthy = healthy if healthy is not None else False
19125        '''
19126         True if the datasource is reachable and the credentials are valid.
19127        '''
19128        self.hostname = hostname if hostname is not None else ''
19129        '''
19130         The host to dial to initiate a connection from the egress node to this resource.
19131        '''
19132        self.id = id if id is not None else ''
19133        '''
19134         Unique identifier of the Resource.
19135        '''
19136        self.lock_required = lock_required if lock_required is not None else False
19137        '''
19138         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
19139        '''
19140        self.name = name if name is not None else ''
19141        '''
19142         Unique human-readable name of the Resource.
19143        '''
19144        self.password = password if password is not None else ''
19145        '''
19146         The password to authenticate with.
19147        '''
19148        self.port = port if port is not None else 0
19149        '''
19150         The port to dial to initiate a connection from the egress node to this resource.
19151        '''
19152        self.port_override = port_override if port_override is not None else 0
19153        '''
19154         The local port used by clients to connect to this resource.
19155        '''
19156        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19157        '''
19158         ID of the proxy cluster for this resource, if any.
19159        '''
19160        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19161        '''
19162         ID of the secret store containing credentials for this resource, if any.
19163        '''
19164        self.subdomain = subdomain if subdomain is not None else ''
19165        '''
19166         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19167        '''
19168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19169        '''
19170         Tags is a map of key, value pairs.
19171        '''
19172        self.username = username if username is not None else ''
19173        '''
19174         The username to authenticate with.
19175        '''
19176
19177    def __repr__(self):
19178        return '<sdm.RDP ' + \
19179            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19180            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
19181            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19182            'healthy: ' + repr(self.healthy) + ' ' +\
19183            'hostname: ' + repr(self.hostname) + ' ' +\
19184            'id: ' + repr(self.id) + ' ' +\
19185            'lock_required: ' + repr(self.lock_required) + ' ' +\
19186            'name: ' + repr(self.name) + ' ' +\
19187            'password: ' + repr(self.password) + ' ' +\
19188            'port: ' + repr(self.port) + ' ' +\
19189            'port_override: ' + repr(self.port_override) + ' ' +\
19190            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19191            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19192            'subdomain: ' + repr(self.subdomain) + ' ' +\
19193            'tags: ' + repr(self.tags) + ' ' +\
19194            'username: ' + repr(self.username) + ' ' +\
19195            '>'
19196
19197    def to_dict(self):
19198        return {
19199            'bind_interface': self.bind_interface,
19200            'downgrade_nla_connections': self.downgrade_nla_connections,
19201            'egress_filter': self.egress_filter,
19202            'healthy': self.healthy,
19203            'hostname': self.hostname,
19204            'id': self.id,
19205            'lock_required': self.lock_required,
19206            'name': self.name,
19207            'password': self.password,
19208            'port': self.port,
19209            'port_override': self.port_override,
19210            'proxy_cluster_id': self.proxy_cluster_id,
19211            'secret_store_id': self.secret_store_id,
19212            'subdomain': self.subdomain,
19213            'tags': self.tags,
19214            'username': self.username,
19215        }
19216
19217    @classmethod
19218    def from_dict(cls, d):
19219        return cls(
19220            bind_interface=d.get('bind_interface'),
19221            downgrade_nla_connections=d.get('downgrade_nla_connections'),
19222            egress_filter=d.get('egress_filter'),
19223            healthy=d.get('healthy'),
19224            hostname=d.get('hostname'),
19225            id=d.get('id'),
19226            lock_required=d.get('lock_required'),
19227            name=d.get('name'),
19228            password=d.get('password'),
19229            port=d.get('port'),
19230            port_override=d.get('port_override'),
19231            proxy_cluster_id=d.get('proxy_cluster_id'),
19232            secret_store_id=d.get('secret_store_id'),
19233            subdomain=d.get('subdomain'),
19234            tags=d.get('tags'),
19235            username=d.get('username'),
19236        )
19237
19238
19239class RDPCert:
19240    __slots__ = [
19241        'bind_interface',
19242        'egress_filter',
19243        'healthy',
19244        'hostname',
19245        'id',
19246        'identity_alias_healthcheck_username',
19247        'identity_set_id',
19248        'name',
19249        'port',
19250        'port_override',
19251        'proxy_cluster_id',
19252        'secret_store_id',
19253        'subdomain',
19254        'tags',
19255        'username',
19256    ]
19257
19258    def __init__(
19259        self,
19260        bind_interface=None,
19261        egress_filter=None,
19262        healthy=None,
19263        hostname=None,
19264        id=None,
19265        identity_alias_healthcheck_username=None,
19266        identity_set_id=None,
19267        name=None,
19268        port=None,
19269        port_override=None,
19270        proxy_cluster_id=None,
19271        secret_store_id=None,
19272        subdomain=None,
19273        tags=None,
19274        username=None,
19275    ):
19276        self.bind_interface = bind_interface if bind_interface is not None else ''
19277        '''
19278         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19279        '''
19280        self.egress_filter = egress_filter if egress_filter is not None else ''
19281        '''
19282         A filter applied to the routing logic to pin datasource to nodes.
19283        '''
19284        self.healthy = healthy if healthy is not None else False
19285        '''
19286         True if the datasource is reachable and the credentials are valid.
19287        '''
19288        self.hostname = hostname if hostname is not None else ''
19289        '''
19290         The host to dial to initiate a connection from the egress node to this resource.
19291        '''
19292        self.id = id if id is not None else ''
19293        '''
19294         Unique identifier of the Resource.
19295        '''
19296        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19297        '''
19298         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19299        '''
19300        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19301        '''
19302         The ID of the identity set to use for identity connections.
19303        '''
19304        self.name = name if name is not None else ''
19305        '''
19306         Unique human-readable name of the Resource.
19307        '''
19308        self.port = port if port is not None else 0
19309        '''
19310         The port to dial to initiate a connection from the egress node to this resource.
19311        '''
19312        self.port_override = port_override if port_override is not None else 0
19313        '''
19314         The local port used by clients to connect to this resource.
19315        '''
19316        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19317        '''
19318         ID of the proxy cluster for this resource, if any.
19319        '''
19320        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19321        '''
19322         ID of the secret store containing credentials for this resource, if any.
19323        '''
19324        self.subdomain = subdomain if subdomain is not None else ''
19325        '''
19326         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19327        '''
19328        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19329        '''
19330         Tags is a map of key, value pairs.
19331        '''
19332        self.username = username if username is not None else ''
19333        '''
19334         The username to authenticate with.
19335        '''
19336
19337    def __repr__(self):
19338        return '<sdm.RDPCert ' + \
19339            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19340            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19341            'healthy: ' + repr(self.healthy) + ' ' +\
19342            'hostname: ' + repr(self.hostname) + ' ' +\
19343            'id: ' + repr(self.id) + ' ' +\
19344            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19345            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19346            'name: ' + repr(self.name) + ' ' +\
19347            'port: ' + repr(self.port) + ' ' +\
19348            'port_override: ' + repr(self.port_override) + ' ' +\
19349            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19350            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19351            'subdomain: ' + repr(self.subdomain) + ' ' +\
19352            'tags: ' + repr(self.tags) + ' ' +\
19353            'username: ' + repr(self.username) + ' ' +\
19354            '>'
19355
19356    def to_dict(self):
19357        return {
19358            'bind_interface': self.bind_interface,
19359            'egress_filter': self.egress_filter,
19360            'healthy': self.healthy,
19361            'hostname': self.hostname,
19362            'id': self.id,
19363            'identity_alias_healthcheck_username':
19364            self.identity_alias_healthcheck_username,
19365            'identity_set_id': self.identity_set_id,
19366            'name': self.name,
19367            'port': self.port,
19368            'port_override': self.port_override,
19369            'proxy_cluster_id': self.proxy_cluster_id,
19370            'secret_store_id': self.secret_store_id,
19371            'subdomain': self.subdomain,
19372            'tags': self.tags,
19373            'username': self.username,
19374        }
19375
19376    @classmethod
19377    def from_dict(cls, d):
19378        return cls(
19379            bind_interface=d.get('bind_interface'),
19380            egress_filter=d.get('egress_filter'),
19381            healthy=d.get('healthy'),
19382            hostname=d.get('hostname'),
19383            id=d.get('id'),
19384            identity_alias_healthcheck_username=d.get(
19385                'identity_alias_healthcheck_username'),
19386            identity_set_id=d.get('identity_set_id'),
19387            name=d.get('name'),
19388            port=d.get('port'),
19389            port_override=d.get('port_override'),
19390            proxy_cluster_id=d.get('proxy_cluster_id'),
19391            secret_store_id=d.get('secret_store_id'),
19392            subdomain=d.get('subdomain'),
19393            tags=d.get('tags'),
19394            username=d.get('username'),
19395        )
19396
19397
19398class RDSPostgresIAM:
19399    __slots__ = [
19400        'bind_interface',
19401        'database',
19402        'egress_filter',
19403        'healthy',
19404        'hostname',
19405        'id',
19406        'name',
19407        'override_database',
19408        'port',
19409        'port_override',
19410        'proxy_cluster_id',
19411        'region',
19412        'role_assumption_arn',
19413        'secret_store_id',
19414        'subdomain',
19415        'tags',
19416        'username',
19417    ]
19418
19419    def __init__(
19420        self,
19421        bind_interface=None,
19422        database=None,
19423        egress_filter=None,
19424        healthy=None,
19425        hostname=None,
19426        id=None,
19427        name=None,
19428        override_database=None,
19429        port=None,
19430        port_override=None,
19431        proxy_cluster_id=None,
19432        region=None,
19433        role_assumption_arn=None,
19434        secret_store_id=None,
19435        subdomain=None,
19436        tags=None,
19437        username=None,
19438    ):
19439        self.bind_interface = bind_interface if bind_interface is not None else ''
19440        '''
19441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19442        '''
19443        self.database = database if database is not None else ''
19444        '''
19445         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19446        '''
19447        self.egress_filter = egress_filter if egress_filter is not None else ''
19448        '''
19449         A filter applied to the routing logic to pin datasource to nodes.
19450        '''
19451        self.healthy = healthy if healthy is not None else False
19452        '''
19453         True if the datasource is reachable and the credentials are valid.
19454        '''
19455        self.hostname = hostname if hostname is not None else ''
19456        '''
19457         The host to dial to initiate a connection from the egress node to this resource.
19458        '''
19459        self.id = id if id is not None else ''
19460        '''
19461         Unique identifier of the Resource.
19462        '''
19463        self.name = name if name is not None else ''
19464        '''
19465         Unique human-readable name of the Resource.
19466        '''
19467        self.override_database = override_database if override_database is not None else False
19468        '''
19469         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.
19470        '''
19471        self.port = port if port is not None else 0
19472        '''
19473         The port to dial to initiate a connection from the egress node to this resource.
19474        '''
19475        self.port_override = port_override if port_override is not None else 0
19476        '''
19477         The local port used by clients to connect to this resource.
19478        '''
19479        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19480        '''
19481         ID of the proxy cluster for this resource, if any.
19482        '''
19483        self.region = region if region is not None else ''
19484        '''
19485         The AWS region to connect to.
19486        '''
19487        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
19488        '''
19489         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
19490        '''
19491        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19492        '''
19493         ID of the secret store containing credentials for this resource, if any.
19494        '''
19495        self.subdomain = subdomain if subdomain is not None else ''
19496        '''
19497         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19498        '''
19499        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19500        '''
19501         Tags is a map of key, value pairs.
19502        '''
19503        self.username = username if username is not None else ''
19504        '''
19505         The username to authenticate with.
19506        '''
19507
19508    def __repr__(self):
19509        return '<sdm.RDSPostgresIAM ' + \
19510            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19511            'database: ' + repr(self.database) + ' ' +\
19512            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19513            'healthy: ' + repr(self.healthy) + ' ' +\
19514            'hostname: ' + repr(self.hostname) + ' ' +\
19515            'id: ' + repr(self.id) + ' ' +\
19516            'name: ' + repr(self.name) + ' ' +\
19517            'override_database: ' + repr(self.override_database) + ' ' +\
19518            'port: ' + repr(self.port) + ' ' +\
19519            'port_override: ' + repr(self.port_override) + ' ' +\
19520            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19521            'region: ' + repr(self.region) + ' ' +\
19522            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
19523            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19524            'subdomain: ' + repr(self.subdomain) + ' ' +\
19525            'tags: ' + repr(self.tags) + ' ' +\
19526            'username: ' + repr(self.username) + ' ' +\
19527            '>'
19528
19529    def to_dict(self):
19530        return {
19531            'bind_interface': self.bind_interface,
19532            'database': self.database,
19533            'egress_filter': self.egress_filter,
19534            'healthy': self.healthy,
19535            'hostname': self.hostname,
19536            'id': self.id,
19537            'name': self.name,
19538            'override_database': self.override_database,
19539            'port': self.port,
19540            'port_override': self.port_override,
19541            'proxy_cluster_id': self.proxy_cluster_id,
19542            'region': self.region,
19543            'role_assumption_arn': self.role_assumption_arn,
19544            'secret_store_id': self.secret_store_id,
19545            'subdomain': self.subdomain,
19546            'tags': self.tags,
19547            'username': self.username,
19548        }
19549
19550    @classmethod
19551    def from_dict(cls, d):
19552        return cls(
19553            bind_interface=d.get('bind_interface'),
19554            database=d.get('database'),
19555            egress_filter=d.get('egress_filter'),
19556            healthy=d.get('healthy'),
19557            hostname=d.get('hostname'),
19558            id=d.get('id'),
19559            name=d.get('name'),
19560            override_database=d.get('override_database'),
19561            port=d.get('port'),
19562            port_override=d.get('port_override'),
19563            proxy_cluster_id=d.get('proxy_cluster_id'),
19564            region=d.get('region'),
19565            role_assumption_arn=d.get('role_assumption_arn'),
19566            secret_store_id=d.get('secret_store_id'),
19567            subdomain=d.get('subdomain'),
19568            tags=d.get('tags'),
19569            username=d.get('username'),
19570        )
19571
19572
19573class RabbitMQAMQP091:
19574    __slots__ = [
19575        'bind_interface',
19576        'egress_filter',
19577        'healthy',
19578        'hostname',
19579        'id',
19580        'name',
19581        'password',
19582        'port',
19583        'port_override',
19584        'proxy_cluster_id',
19585        'secret_store_id',
19586        'subdomain',
19587        'tags',
19588        'tls_required',
19589        'username',
19590    ]
19591
19592    def __init__(
19593        self,
19594        bind_interface=None,
19595        egress_filter=None,
19596        healthy=None,
19597        hostname=None,
19598        id=None,
19599        name=None,
19600        password=None,
19601        port=None,
19602        port_override=None,
19603        proxy_cluster_id=None,
19604        secret_store_id=None,
19605        subdomain=None,
19606        tags=None,
19607        tls_required=None,
19608        username=None,
19609    ):
19610        self.bind_interface = bind_interface if bind_interface is not None else ''
19611        '''
19612         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19613        '''
19614        self.egress_filter = egress_filter if egress_filter is not None else ''
19615        '''
19616         A filter applied to the routing logic to pin datasource to nodes.
19617        '''
19618        self.healthy = healthy if healthy is not None else False
19619        '''
19620         True if the datasource is reachable and the credentials are valid.
19621        '''
19622        self.hostname = hostname if hostname is not None else ''
19623        '''
19624         The host to dial to initiate a connection from the egress node to this resource.
19625        '''
19626        self.id = id if id is not None else ''
19627        '''
19628         Unique identifier of the Resource.
19629        '''
19630        self.name = name if name is not None else ''
19631        '''
19632         Unique human-readable name of the Resource.
19633        '''
19634        self.password = password if password is not None else ''
19635        '''
19636         The password to authenticate with.
19637        '''
19638        self.port = port if port is not None else 0
19639        '''
19640         The port to dial to initiate a connection from the egress node to this resource.
19641        '''
19642        self.port_override = port_override if port_override is not None else 0
19643        '''
19644         The local port used by clients to connect to this resource.
19645        '''
19646        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19647        '''
19648         ID of the proxy cluster for this resource, if any.
19649        '''
19650        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19651        '''
19652         ID of the secret store containing credentials for this resource, if any.
19653        '''
19654        self.subdomain = subdomain if subdomain is not None else ''
19655        '''
19656         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19657        '''
19658        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19659        '''
19660         Tags is a map of key, value pairs.
19661        '''
19662        self.tls_required = tls_required if tls_required is not None else False
19663        '''
19664         If set, TLS must be used to connect to this resource.
19665        '''
19666        self.username = username if username is not None else ''
19667        '''
19668         The username to authenticate with.
19669        '''
19670
19671    def __repr__(self):
19672        return '<sdm.RabbitMQAMQP091 ' + \
19673            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19674            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19675            'healthy: ' + repr(self.healthy) + ' ' +\
19676            'hostname: ' + repr(self.hostname) + ' ' +\
19677            'id: ' + repr(self.id) + ' ' +\
19678            'name: ' + repr(self.name) + ' ' +\
19679            'password: ' + repr(self.password) + ' ' +\
19680            'port: ' + repr(self.port) + ' ' +\
19681            'port_override: ' + repr(self.port_override) + ' ' +\
19682            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19683            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19684            'subdomain: ' + repr(self.subdomain) + ' ' +\
19685            'tags: ' + repr(self.tags) + ' ' +\
19686            'tls_required: ' + repr(self.tls_required) + ' ' +\
19687            'username: ' + repr(self.username) + ' ' +\
19688            '>'
19689
19690    def to_dict(self):
19691        return {
19692            'bind_interface': self.bind_interface,
19693            'egress_filter': self.egress_filter,
19694            'healthy': self.healthy,
19695            'hostname': self.hostname,
19696            'id': self.id,
19697            'name': self.name,
19698            'password': self.password,
19699            'port': self.port,
19700            'port_override': self.port_override,
19701            'proxy_cluster_id': self.proxy_cluster_id,
19702            'secret_store_id': self.secret_store_id,
19703            'subdomain': self.subdomain,
19704            'tags': self.tags,
19705            'tls_required': self.tls_required,
19706            'username': self.username,
19707        }
19708
19709    @classmethod
19710    def from_dict(cls, d):
19711        return cls(
19712            bind_interface=d.get('bind_interface'),
19713            egress_filter=d.get('egress_filter'),
19714            healthy=d.get('healthy'),
19715            hostname=d.get('hostname'),
19716            id=d.get('id'),
19717            name=d.get('name'),
19718            password=d.get('password'),
19719            port=d.get('port'),
19720            port_override=d.get('port_override'),
19721            proxy_cluster_id=d.get('proxy_cluster_id'),
19722            secret_store_id=d.get('secret_store_id'),
19723            subdomain=d.get('subdomain'),
19724            tags=d.get('tags'),
19725            tls_required=d.get('tls_required'),
19726            username=d.get('username'),
19727        )
19728
19729
19730class RateLimitMetadata:
19731    '''
19732         RateLimitMetadata contains information about remaining requests avaialable
19733     to the user over some timeframe.
19734    '''
19735    __slots__ = [
19736        'bucket',
19737        'limit',
19738        'remaining',
19739        'reset_at',
19740    ]
19741
19742    def __init__(
19743        self,
19744        bucket=None,
19745        limit=None,
19746        remaining=None,
19747        reset_at=None,
19748    ):
19749        self.bucket = bucket if bucket is not None else ''
19750        '''
19751         The bucket this user/token is associated with, which may be shared between
19752         multiple users/tokens.
19753        '''
19754        self.limit = limit if limit is not None else 0
19755        '''
19756         How many total requests the user/token is authorized to make before being
19757         rate limited.
19758        '''
19759        self.remaining = remaining if remaining is not None else 0
19760        '''
19761         How many remaining requests out of the limit are still avaialable.
19762        '''
19763        self.reset_at = reset_at if reset_at is not None else None
19764        '''
19765         The time when remaining will be reset to limit.
19766        '''
19767
19768    def __repr__(self):
19769        return '<sdm.RateLimitMetadata ' + \
19770            'bucket: ' + repr(self.bucket) + ' ' +\
19771            'limit: ' + repr(self.limit) + ' ' +\
19772            'remaining: ' + repr(self.remaining) + ' ' +\
19773            'reset_at: ' + repr(self.reset_at) + ' ' +\
19774            '>'
19775
19776    def to_dict(self):
19777        return {
19778            'bucket': self.bucket,
19779            'limit': self.limit,
19780            'remaining': self.remaining,
19781            'reset_at': self.reset_at,
19782        }
19783
19784    @classmethod
19785    def from_dict(cls, d):
19786        return cls(
19787            bucket=d.get('bucket'),
19788            limit=d.get('limit'),
19789            remaining=d.get('remaining'),
19790            reset_at=d.get('reset_at'),
19791        )
19792
19793
19794class RawTCP:
19795    __slots__ = [
19796        'bind_interface',
19797        'egress_filter',
19798        'healthy',
19799        'hostname',
19800        'id',
19801        'name',
19802        'port',
19803        'port_override',
19804        'proxy_cluster_id',
19805        'secret_store_id',
19806        'subdomain',
19807        'tags',
19808    ]
19809
19810    def __init__(
19811        self,
19812        bind_interface=None,
19813        egress_filter=None,
19814        healthy=None,
19815        hostname=None,
19816        id=None,
19817        name=None,
19818        port=None,
19819        port_override=None,
19820        proxy_cluster_id=None,
19821        secret_store_id=None,
19822        subdomain=None,
19823        tags=None,
19824    ):
19825        self.bind_interface = bind_interface if bind_interface is not None else ''
19826        '''
19827         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19828        '''
19829        self.egress_filter = egress_filter if egress_filter is not None else ''
19830        '''
19831         A filter applied to the routing logic to pin datasource to nodes.
19832        '''
19833        self.healthy = healthy if healthy is not None else False
19834        '''
19835         True if the datasource is reachable and the credentials are valid.
19836        '''
19837        self.hostname = hostname if hostname is not None else ''
19838        '''
19839         The host to dial to initiate a connection from the egress node to this resource.
19840        '''
19841        self.id = id if id is not None else ''
19842        '''
19843         Unique identifier of the Resource.
19844        '''
19845        self.name = name if name is not None else ''
19846        '''
19847         Unique human-readable name of the Resource.
19848        '''
19849        self.port = port if port is not None else 0
19850        '''
19851         The port to dial to initiate a connection from the egress node to this resource.
19852        '''
19853        self.port_override = port_override if port_override is not None else 0
19854        '''
19855         The local port used by clients to connect to this resource.
19856        '''
19857        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19858        '''
19859         ID of the proxy cluster for this resource, if any.
19860        '''
19861        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19862        '''
19863         ID of the secret store containing credentials for this resource, if any.
19864        '''
19865        self.subdomain = subdomain if subdomain is not None else ''
19866        '''
19867         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19868        '''
19869        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19870        '''
19871         Tags is a map of key, value pairs.
19872        '''
19873
19874    def __repr__(self):
19875        return '<sdm.RawTCP ' + \
19876            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19877            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19878            'healthy: ' + repr(self.healthy) + ' ' +\
19879            'hostname: ' + repr(self.hostname) + ' ' +\
19880            'id: ' + repr(self.id) + ' ' +\
19881            'name: ' + repr(self.name) + ' ' +\
19882            'port: ' + repr(self.port) + ' ' +\
19883            'port_override: ' + repr(self.port_override) + ' ' +\
19884            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19885            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19886            'subdomain: ' + repr(self.subdomain) + ' ' +\
19887            'tags: ' + repr(self.tags) + ' ' +\
19888            '>'
19889
19890    def to_dict(self):
19891        return {
19892            'bind_interface': self.bind_interface,
19893            'egress_filter': self.egress_filter,
19894            'healthy': self.healthy,
19895            'hostname': self.hostname,
19896            'id': self.id,
19897            'name': self.name,
19898            'port': self.port,
19899            'port_override': self.port_override,
19900            'proxy_cluster_id': self.proxy_cluster_id,
19901            'secret_store_id': self.secret_store_id,
19902            'subdomain': self.subdomain,
19903            'tags': self.tags,
19904        }
19905
19906    @classmethod
19907    def from_dict(cls, d):
19908        return cls(
19909            bind_interface=d.get('bind_interface'),
19910            egress_filter=d.get('egress_filter'),
19911            healthy=d.get('healthy'),
19912            hostname=d.get('hostname'),
19913            id=d.get('id'),
19914            name=d.get('name'),
19915            port=d.get('port'),
19916            port_override=d.get('port_override'),
19917            proxy_cluster_id=d.get('proxy_cluster_id'),
19918            secret_store_id=d.get('secret_store_id'),
19919            subdomain=d.get('subdomain'),
19920            tags=d.get('tags'),
19921        )
19922
19923
19924class Redis:
19925    __slots__ = [
19926        'bind_interface',
19927        'egress_filter',
19928        'healthy',
19929        'hostname',
19930        'id',
19931        'name',
19932        'password',
19933        'port',
19934        'port_override',
19935        'proxy_cluster_id',
19936        'secret_store_id',
19937        'subdomain',
19938        'tags',
19939        'tls_required',
19940        'username',
19941    ]
19942
19943    def __init__(
19944        self,
19945        bind_interface=None,
19946        egress_filter=None,
19947        healthy=None,
19948        hostname=None,
19949        id=None,
19950        name=None,
19951        password=None,
19952        port=None,
19953        port_override=None,
19954        proxy_cluster_id=None,
19955        secret_store_id=None,
19956        subdomain=None,
19957        tags=None,
19958        tls_required=None,
19959        username=None,
19960    ):
19961        self.bind_interface = bind_interface if bind_interface is not None else ''
19962        '''
19963         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19964        '''
19965        self.egress_filter = egress_filter if egress_filter is not None else ''
19966        '''
19967         A filter applied to the routing logic to pin datasource to nodes.
19968        '''
19969        self.healthy = healthy if healthy is not None else False
19970        '''
19971         True if the datasource is reachable and the credentials are valid.
19972        '''
19973        self.hostname = hostname if hostname is not None else ''
19974        '''
19975         The host to dial to initiate a connection from the egress node to this resource.
19976        '''
19977        self.id = id if id is not None else ''
19978        '''
19979         Unique identifier of the Resource.
19980        '''
19981        self.name = name if name is not None else ''
19982        '''
19983         Unique human-readable name of the Resource.
19984        '''
19985        self.password = password if password is not None else ''
19986        '''
19987         The password to authenticate with.
19988        '''
19989        self.port = port if port is not None else 0
19990        '''
19991         The port to dial to initiate a connection from the egress node to this resource.
19992        '''
19993        self.port_override = port_override if port_override is not None else 0
19994        '''
19995         The local port used by clients to connect to this resource.
19996        '''
19997        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19998        '''
19999         ID of the proxy cluster for this resource, if any.
20000        '''
20001        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20002        '''
20003         ID of the secret store containing credentials for this resource, if any.
20004        '''
20005        self.subdomain = subdomain if subdomain is not None else ''
20006        '''
20007         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20008        '''
20009        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20010        '''
20011         Tags is a map of key, value pairs.
20012        '''
20013        self.tls_required = tls_required if tls_required is not None else False
20014        '''
20015         If set, TLS must be used to connect to this resource.
20016        '''
20017        self.username = username if username is not None else ''
20018        '''
20019         The username to authenticate with.
20020        '''
20021
20022    def __repr__(self):
20023        return '<sdm.Redis ' + \
20024            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20025            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20026            'healthy: ' + repr(self.healthy) + ' ' +\
20027            'hostname: ' + repr(self.hostname) + ' ' +\
20028            'id: ' + repr(self.id) + ' ' +\
20029            'name: ' + repr(self.name) + ' ' +\
20030            'password: ' + repr(self.password) + ' ' +\
20031            'port: ' + repr(self.port) + ' ' +\
20032            'port_override: ' + repr(self.port_override) + ' ' +\
20033            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20034            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20035            'subdomain: ' + repr(self.subdomain) + ' ' +\
20036            'tags: ' + repr(self.tags) + ' ' +\
20037            'tls_required: ' + repr(self.tls_required) + ' ' +\
20038            'username: ' + repr(self.username) + ' ' +\
20039            '>'
20040
20041    def to_dict(self):
20042        return {
20043            'bind_interface': self.bind_interface,
20044            'egress_filter': self.egress_filter,
20045            'healthy': self.healthy,
20046            'hostname': self.hostname,
20047            'id': self.id,
20048            'name': self.name,
20049            'password': self.password,
20050            'port': self.port,
20051            'port_override': self.port_override,
20052            'proxy_cluster_id': self.proxy_cluster_id,
20053            'secret_store_id': self.secret_store_id,
20054            'subdomain': self.subdomain,
20055            'tags': self.tags,
20056            'tls_required': self.tls_required,
20057            'username': self.username,
20058        }
20059
20060    @classmethod
20061    def from_dict(cls, d):
20062        return cls(
20063            bind_interface=d.get('bind_interface'),
20064            egress_filter=d.get('egress_filter'),
20065            healthy=d.get('healthy'),
20066            hostname=d.get('hostname'),
20067            id=d.get('id'),
20068            name=d.get('name'),
20069            password=d.get('password'),
20070            port=d.get('port'),
20071            port_override=d.get('port_override'),
20072            proxy_cluster_id=d.get('proxy_cluster_id'),
20073            secret_store_id=d.get('secret_store_id'),
20074            subdomain=d.get('subdomain'),
20075            tags=d.get('tags'),
20076            tls_required=d.get('tls_required'),
20077            username=d.get('username'),
20078        )
20079
20080
20081class Redshift:
20082    __slots__ = [
20083        'bind_interface',
20084        'database',
20085        'egress_filter',
20086        'healthy',
20087        'hostname',
20088        'id',
20089        'name',
20090        'override_database',
20091        'password',
20092        'port',
20093        'port_override',
20094        'proxy_cluster_id',
20095        'secret_store_id',
20096        'subdomain',
20097        'tags',
20098        'username',
20099    ]
20100
20101    def __init__(
20102        self,
20103        bind_interface=None,
20104        database=None,
20105        egress_filter=None,
20106        healthy=None,
20107        hostname=None,
20108        id=None,
20109        name=None,
20110        override_database=None,
20111        password=None,
20112        port=None,
20113        port_override=None,
20114        proxy_cluster_id=None,
20115        secret_store_id=None,
20116        subdomain=None,
20117        tags=None,
20118        username=None,
20119    ):
20120        self.bind_interface = bind_interface if bind_interface is not None else ''
20121        '''
20122         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
20123        '''
20124        self.database = database if database is not None else ''
20125        '''
20126         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
20127        '''
20128        self.egress_filter = egress_filter if egress_filter is not None else ''
20129        '''
20130         A filter applied to the routing logic to pin datasource to nodes.
20131        '''
20132        self.healthy = healthy if healthy is not None else False
20133        '''
20134         True if the datasource is reachable and the credentials are valid.
20135        '''
20136        self.hostname = hostname if hostname is not None else ''
20137        '''
20138         The host to dial to initiate a connection from the egress node to this resource.
20139        '''
20140        self.id = id if id is not None else ''
20141        '''
20142         Unique identifier of the Resource.
20143        '''
20144        self.name = name if name is not None else ''
20145        '''
20146         Unique human-readable name of the Resource.
20147        '''
20148        self.override_database = override_database if override_database is not None else False
20149        '''
20150         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.
20151        '''
20152        self.password = password if password is not None else ''
20153        '''
20154         The password to authenticate with.
20155        '''
20156        self.port = port if port is not None else 0
20157        '''
20158         The port to dial to initiate a connection from the egress node to this resource.
20159        '''
20160        self.port_override = port_override if port_override is not None else 0
20161        '''
20162         The local port used by clients to connect to this resource.
20163        '''
20164        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20165        '''
20166         ID of the proxy cluster for this resource, if any.
20167        '''
20168        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20169        '''
20170         ID of the secret store containing credentials for this resource, if any.
20171        '''
20172        self.subdomain = subdomain if subdomain is not None else ''
20173        '''
20174         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20175        '''
20176        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20177        '''
20178         Tags is a map of key, value pairs.
20179        '''
20180        self.username = username if username is not None else ''
20181        '''
20182         The username to authenticate with.
20183        '''
20184
20185    def __repr__(self):
20186        return '<sdm.Redshift ' + \
20187            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20188            'database: ' + repr(self.database) + ' ' +\
20189            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20190            'healthy: ' + repr(self.healthy) + ' ' +\
20191            'hostname: ' + repr(self.hostname) + ' ' +\
20192            'id: ' + repr(self.id) + ' ' +\
20193            'name: ' + repr(self.name) + ' ' +\
20194            'override_database: ' + repr(self.override_database) + ' ' +\
20195            'password: ' + repr(self.password) + ' ' +\
20196            'port: ' + repr(self.port) + ' ' +\
20197            'port_override: ' + repr(self.port_override) + ' ' +\
20198            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20199            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20200            'subdomain: ' + repr(self.subdomain) + ' ' +\
20201            'tags: ' + repr(self.tags) + ' ' +\
20202            'username: ' + repr(self.username) + ' ' +\
20203            '>'
20204
20205    def to_dict(self):
20206        return {
20207            'bind_interface': self.bind_interface,
20208            'database': self.database,
20209            'egress_filter': self.egress_filter,
20210            'healthy': self.healthy,
20211            'hostname': self.hostname,
20212            'id': self.id,
20213            'name': self.name,
20214            'override_database': self.override_database,
20215            'password': self.password,
20216            'port': self.port,
20217            'port_override': self.port_override,
20218            'proxy_cluster_id': self.proxy_cluster_id,
20219            'secret_store_id': self.secret_store_id,
20220            'subdomain': self.subdomain,
20221            'tags': self.tags,
20222            'username': self.username,
20223        }
20224
20225    @classmethod
20226    def from_dict(cls, d):
20227        return cls(
20228            bind_interface=d.get('bind_interface'),
20229            database=d.get('database'),
20230            egress_filter=d.get('egress_filter'),
20231            healthy=d.get('healthy'),
20232            hostname=d.get('hostname'),
20233            id=d.get('id'),
20234            name=d.get('name'),
20235            override_database=d.get('override_database'),
20236            password=d.get('password'),
20237            port=d.get('port'),
20238            port_override=d.get('port_override'),
20239            proxy_cluster_id=d.get('proxy_cluster_id'),
20240            secret_store_id=d.get('secret_store_id'),
20241            subdomain=d.get('subdomain'),
20242            tags=d.get('tags'),
20243            username=d.get('username'),
20244        )
20245
20246
20247class Relay:
20248    '''
20249         Relay represents a StrongDM CLI installation running in relay mode.
20250    '''
20251    __slots__ = [
20252        'device',
20253        'gateway_filter',
20254        'id',
20255        'location',
20256        'maintenance_windows',
20257        'name',
20258        'state',
20259        'tags',
20260        'version',
20261    ]
20262
20263    def __init__(
20264        self,
20265        device=None,
20266        gateway_filter=None,
20267        id=None,
20268        location=None,
20269        maintenance_windows=None,
20270        name=None,
20271        state=None,
20272        tags=None,
20273        version=None,
20274    ):
20275        self.device = device if device is not None else ''
20276        '''
20277         Device is a read only device name uploaded by the gateway process when
20278         it comes online.
20279        '''
20280        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
20281        '''
20282         GatewayFilter can be used to restrict the peering between relays and
20283         gateways. Deprecated.
20284        '''
20285        self.id = id if id is not None else ''
20286        '''
20287         Unique identifier of the Relay.
20288        '''
20289        self.location = location if location is not None else ''
20290        '''
20291         Location is a read only network location uploaded by the gateway process
20292         when it comes online.
20293        '''
20294        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
20295        '''
20296         Maintenance Windows define when this node is allowed to restart. If a node
20297         is requested to restart, it will check each window to determine if any of
20298         them permit it to restart, and if any do, it will. This check is repeated
20299         per window until the restart is successfully completed.
20300         
20301         If not set here, may be set on the command line or via an environment variable
20302         on the process itself; any server setting will take precedence over local
20303         settings. This setting is ineffective for nodes below version 38.44.0.
20304         
20305         If this setting is not applied via this remote configuration or via local
20306         configuration, the default setting is used: always allow restarts if serving
20307         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
20308        '''
20309        self.name = name if name is not None else ''
20310        '''
20311         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.
20312        '''
20313        self.state = state if state is not None else ''
20314        '''
20315         The current state of the relay, one of the NodeState constants.
20316        '''
20317        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20318        '''
20319         Tags is a map of key, value pairs.
20320        '''
20321        self.version = version if version is not None else ''
20322        '''
20323         Version is a read only sdm binary version uploaded by the gateway process
20324         when it comes online.
20325        '''
20326
20327    def __repr__(self):
20328        return '<sdm.Relay ' + \
20329            'device: ' + repr(self.device) + ' ' +\
20330            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
20331            'id: ' + repr(self.id) + ' ' +\
20332            'location: ' + repr(self.location) + ' ' +\
20333            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
20334            'name: ' + repr(self.name) + ' ' +\
20335            'state: ' + repr(self.state) + ' ' +\
20336            'tags: ' + repr(self.tags) + ' ' +\
20337            'version: ' + repr(self.version) + ' ' +\
20338            '>'
20339
20340    def to_dict(self):
20341        return {
20342            'device': self.device,
20343            'gateway_filter': self.gateway_filter,
20344            'id': self.id,
20345            'location': self.location,
20346            'maintenance_windows': self.maintenance_windows,
20347            'name': self.name,
20348            'state': self.state,
20349            'tags': self.tags,
20350            'version': self.version,
20351        }
20352
20353    @classmethod
20354    def from_dict(cls, d):
20355        return cls(
20356            device=d.get('device'),
20357            gateway_filter=d.get('gateway_filter'),
20358            id=d.get('id'),
20359            location=d.get('location'),
20360            maintenance_windows=d.get('maintenance_windows'),
20361            name=d.get('name'),
20362            state=d.get('state'),
20363            tags=d.get('tags'),
20364            version=d.get('version'),
20365        )
20366
20367
20368class RemoteIdentity:
20369    '''
20370         RemoteIdentities define the username to be used for a specific account
20371     when connecting to a remote resource using that group.
20372    '''
20373    __slots__ = [
20374        'account_id',
20375        'id',
20376        'remote_identity_group_id',
20377        'username',
20378    ]
20379
20380    def __init__(
20381        self,
20382        account_id=None,
20383        id=None,
20384        remote_identity_group_id=None,
20385        username=None,
20386    ):
20387        self.account_id = account_id if account_id is not None else ''
20388        '''
20389         The account for this remote identity.
20390        '''
20391        self.id = id if id is not None else ''
20392        '''
20393         Unique identifier of the RemoteIdentity.
20394        '''
20395        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
20396        '''
20397         The remote identity group.
20398        '''
20399        self.username = username if username is not None else ''
20400        '''
20401         The username to be used as the remote identity for this account.
20402        '''
20403
20404    def __repr__(self):
20405        return '<sdm.RemoteIdentity ' + \
20406            'account_id: ' + repr(self.account_id) + ' ' +\
20407            'id: ' + repr(self.id) + ' ' +\
20408            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
20409            'username: ' + repr(self.username) + ' ' +\
20410            '>'
20411
20412    def to_dict(self):
20413        return {
20414            'account_id': self.account_id,
20415            'id': self.id,
20416            'remote_identity_group_id': self.remote_identity_group_id,
20417            'username': self.username,
20418        }
20419
20420    @classmethod
20421    def from_dict(cls, d):
20422        return cls(
20423            account_id=d.get('account_id'),
20424            id=d.get('id'),
20425            remote_identity_group_id=d.get('remote_identity_group_id'),
20426            username=d.get('username'),
20427        )
20428
20429
20430class RemoteIdentityCreateResponse:
20431    '''
20432         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
20433    '''
20434    __slots__ = [
20435        'meta',
20436        'rate_limit',
20437        'remote_identity',
20438    ]
20439
20440    def __init__(
20441        self,
20442        meta=None,
20443        rate_limit=None,
20444        remote_identity=None,
20445    ):
20446        self.meta = meta if meta is not None else None
20447        '''
20448         Reserved for future use.
20449        '''
20450        self.rate_limit = rate_limit if rate_limit is not None else None
20451        '''
20452         Rate limit information.
20453        '''
20454        self.remote_identity = remote_identity if remote_identity is not None else None
20455        '''
20456         The created RemoteIdentity.
20457        '''
20458
20459    def __repr__(self):
20460        return '<sdm.RemoteIdentityCreateResponse ' + \
20461            'meta: ' + repr(self.meta) + ' ' +\
20462            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20463            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20464            '>'
20465
20466    def to_dict(self):
20467        return {
20468            'meta': self.meta,
20469            'rate_limit': self.rate_limit,
20470            'remote_identity': self.remote_identity,
20471        }
20472
20473    @classmethod
20474    def from_dict(cls, d):
20475        return cls(
20476            meta=d.get('meta'),
20477            rate_limit=d.get('rate_limit'),
20478            remote_identity=d.get('remote_identity'),
20479        )
20480
20481
20482class RemoteIdentityDeleteResponse:
20483    '''
20484         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
20485    '''
20486    __slots__ = [
20487        'meta',
20488        'rate_limit',
20489    ]
20490
20491    def __init__(
20492        self,
20493        meta=None,
20494        rate_limit=None,
20495    ):
20496        self.meta = meta if meta is not None else None
20497        '''
20498         Reserved for future use.
20499        '''
20500        self.rate_limit = rate_limit if rate_limit is not None else None
20501        '''
20502         Rate limit information.
20503        '''
20504
20505    def __repr__(self):
20506        return '<sdm.RemoteIdentityDeleteResponse ' + \
20507            'meta: ' + repr(self.meta) + ' ' +\
20508            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20509            '>'
20510
20511    def to_dict(self):
20512        return {
20513            'meta': self.meta,
20514            'rate_limit': self.rate_limit,
20515        }
20516
20517    @classmethod
20518    def from_dict(cls, d):
20519        return cls(
20520            meta=d.get('meta'),
20521            rate_limit=d.get('rate_limit'),
20522        )
20523
20524
20525class RemoteIdentityGetResponse:
20526    '''
20527         RemoteIdentityGetResponse returns a requested RemoteIdentity.
20528    '''
20529    __slots__ = [
20530        'meta',
20531        'rate_limit',
20532        'remote_identity',
20533    ]
20534
20535    def __init__(
20536        self,
20537        meta=None,
20538        rate_limit=None,
20539        remote_identity=None,
20540    ):
20541        self.meta = meta if meta is not None else None
20542        '''
20543         Reserved for future use.
20544        '''
20545        self.rate_limit = rate_limit if rate_limit is not None else None
20546        '''
20547         Rate limit information.
20548        '''
20549        self.remote_identity = remote_identity if remote_identity is not None else None
20550        '''
20551         The requested RemoteIdentity.
20552        '''
20553
20554    def __repr__(self):
20555        return '<sdm.RemoteIdentityGetResponse ' + \
20556            'meta: ' + repr(self.meta) + ' ' +\
20557            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20558            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20559            '>'
20560
20561    def to_dict(self):
20562        return {
20563            'meta': self.meta,
20564            'rate_limit': self.rate_limit,
20565            'remote_identity': self.remote_identity,
20566        }
20567
20568    @classmethod
20569    def from_dict(cls, d):
20570        return cls(
20571            meta=d.get('meta'),
20572            rate_limit=d.get('rate_limit'),
20573            remote_identity=d.get('remote_identity'),
20574        )
20575
20576
20577class RemoteIdentityGroup:
20578    '''
20579         A RemoteIdentityGroup defines a group of remote identities.
20580    '''
20581    __slots__ = [
20582        'id',
20583        'name',
20584    ]
20585
20586    def __init__(
20587        self,
20588        id=None,
20589        name=None,
20590    ):
20591        self.id = id if id is not None else ''
20592        '''
20593         Unique identifier of the RemoteIdentityGroup.
20594        '''
20595        self.name = name if name is not None else ''
20596        '''
20597         Unique human-readable name of the RemoteIdentityGroup.
20598        '''
20599
20600    def __repr__(self):
20601        return '<sdm.RemoteIdentityGroup ' + \
20602            'id: ' + repr(self.id) + ' ' +\
20603            'name: ' + repr(self.name) + ' ' +\
20604            '>'
20605
20606    def to_dict(self):
20607        return {
20608            'id': self.id,
20609            'name': self.name,
20610        }
20611
20612    @classmethod
20613    def from_dict(cls, d):
20614        return cls(
20615            id=d.get('id'),
20616            name=d.get('name'),
20617        )
20618
20619
20620class RemoteIdentityGroupGetResponse:
20621    '''
20622         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
20623    '''
20624    __slots__ = [
20625        'meta',
20626        'rate_limit',
20627        'remote_identity_group',
20628    ]
20629
20630    def __init__(
20631        self,
20632        meta=None,
20633        rate_limit=None,
20634        remote_identity_group=None,
20635    ):
20636        self.meta = meta if meta is not None else None
20637        '''
20638         Reserved for future use.
20639        '''
20640        self.rate_limit = rate_limit if rate_limit is not None else None
20641        '''
20642         Rate limit information.
20643        '''
20644        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20645        '''
20646         The requested RemoteIdentityGroup.
20647        '''
20648
20649    def __repr__(self):
20650        return '<sdm.RemoteIdentityGroupGetResponse ' + \
20651            'meta: ' + repr(self.meta) + ' ' +\
20652            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20653            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
20654            '>'
20655
20656    def to_dict(self):
20657        return {
20658            'meta': self.meta,
20659            'rate_limit': self.rate_limit,
20660            'remote_identity_group': self.remote_identity_group,
20661        }
20662
20663    @classmethod
20664    def from_dict(cls, d):
20665        return cls(
20666            meta=d.get('meta'),
20667            rate_limit=d.get('rate_limit'),
20668            remote_identity_group=d.get('remote_identity_group'),
20669        )
20670
20671
20672class RemoteIdentityGroupHistory:
20673    '''
20674         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
20675     where every change (create, update and delete) to a RemoteIdentityGroup produces an
20676     RemoteIdentityGroupHistory record.
20677    '''
20678    __slots__ = [
20679        'activity_id',
20680        'deleted_at',
20681        'remote_identity_group',
20682        'timestamp',
20683    ]
20684
20685    def __init__(
20686        self,
20687        activity_id=None,
20688        deleted_at=None,
20689        remote_identity_group=None,
20690        timestamp=None,
20691    ):
20692        self.activity_id = activity_id if activity_id is not None else ''
20693        '''
20694         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
20695         May be empty for some system-initiated updates.
20696        '''
20697        self.deleted_at = deleted_at if deleted_at is not None else None
20698        '''
20699         If this RemoteIdentityGroup was deleted, the time it was deleted.
20700        '''
20701        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20702        '''
20703         The complete RemoteIdentityGroup state at this time.
20704        '''
20705        self.timestamp = timestamp if timestamp is not None else None
20706        '''
20707         The time at which the RemoteIdentityGroup state was recorded.
20708        '''
20709
20710    def __repr__(self):
20711        return '<sdm.RemoteIdentityGroupHistory ' + \
20712            'activity_id: ' + repr(self.activity_id) + ' ' +\
20713            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
20714            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
20715            'timestamp: ' + repr(self.timestamp) + ' ' +\
20716            '>'
20717
20718    def to_dict(self):
20719        return {
20720            'activity_id': self.activity_id,
20721            'deleted_at': self.deleted_at,
20722            'remote_identity_group': self.remote_identity_group,
20723            'timestamp': self.timestamp,
20724        }
20725
20726    @classmethod
20727    def from_dict(cls, d):
20728        return cls(
20729            activity_id=d.get('activity_id'),
20730            deleted_at=d.get('deleted_at'),
20731            remote_identity_group=d.get('remote_identity_group'),
20732            timestamp=d.get('timestamp'),
20733        )
20734
20735
20736class RemoteIdentityHistory:
20737    '''
20738         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
20739     where every change (create, update and delete) to a RemoteIdentity produces an
20740     RemoteIdentityHistory record.
20741    '''
20742    __slots__ = [
20743        'activity_id',
20744        'deleted_at',
20745        'remote_identity',
20746        'timestamp',
20747    ]
20748
20749    def __init__(
20750        self,
20751        activity_id=None,
20752        deleted_at=None,
20753        remote_identity=None,
20754        timestamp=None,
20755    ):
20756        self.activity_id = activity_id if activity_id is not None else ''
20757        '''
20758         The unique identifier of the Activity that produced this change to the RemoteIdentity.
20759         May be empty for some system-initiated updates.
20760        '''
20761        self.deleted_at = deleted_at if deleted_at is not None else None
20762        '''
20763         If this RemoteIdentity was deleted, the time it was deleted.
20764        '''
20765        self.remote_identity = remote_identity if remote_identity is not None else None
20766        '''
20767         The complete RemoteIdentity state at this time.
20768        '''
20769        self.timestamp = timestamp if timestamp is not None else None
20770        '''
20771         The time at which the RemoteIdentity state was recorded.
20772        '''
20773
20774    def __repr__(self):
20775        return '<sdm.RemoteIdentityHistory ' + \
20776            'activity_id: ' + repr(self.activity_id) + ' ' +\
20777            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
20778            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20779            'timestamp: ' + repr(self.timestamp) + ' ' +\
20780            '>'
20781
20782    def to_dict(self):
20783        return {
20784            'activity_id': self.activity_id,
20785            'deleted_at': self.deleted_at,
20786            'remote_identity': self.remote_identity,
20787            'timestamp': self.timestamp,
20788        }
20789
20790    @classmethod
20791    def from_dict(cls, d):
20792        return cls(
20793            activity_id=d.get('activity_id'),
20794            deleted_at=d.get('deleted_at'),
20795            remote_identity=d.get('remote_identity'),
20796            timestamp=d.get('timestamp'),
20797        )
20798
20799
20800class RemoteIdentityUpdateResponse:
20801    '''
20802         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
20803     a RemoteIdentityUpdateRequest.
20804    '''
20805    __slots__ = [
20806        'meta',
20807        'rate_limit',
20808        'remote_identity',
20809    ]
20810
20811    def __init__(
20812        self,
20813        meta=None,
20814        rate_limit=None,
20815        remote_identity=None,
20816    ):
20817        self.meta = meta if meta is not None else None
20818        '''
20819         Reserved for future use.
20820        '''
20821        self.rate_limit = rate_limit if rate_limit is not None else None
20822        '''
20823         Rate limit information.
20824        '''
20825        self.remote_identity = remote_identity if remote_identity is not None else None
20826        '''
20827         The updated RemoteIdentity.
20828        '''
20829
20830    def __repr__(self):
20831        return '<sdm.RemoteIdentityUpdateResponse ' + \
20832            'meta: ' + repr(self.meta) + ' ' +\
20833            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20834            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20835            '>'
20836
20837    def to_dict(self):
20838        return {
20839            'meta': self.meta,
20840            'rate_limit': self.rate_limit,
20841            'remote_identity': self.remote_identity,
20842        }
20843
20844    @classmethod
20845    def from_dict(cls, d):
20846        return cls(
20847            meta=d.get('meta'),
20848            rate_limit=d.get('rate_limit'),
20849            remote_identity=d.get('remote_identity'),
20850        )
20851
20852
20853class ReplayChunk:
20854    '''
20855         A ReplayChunk represents a single "chunk" of data from the query replay.
20856    '''
20857    __slots__ = [
20858        'data',
20859        'events',
20860    ]
20861
20862    def __init__(
20863        self,
20864        data=None,
20865        events=None,
20866    ):
20867        self.data = data if data is not None else b''
20868        '''
20869         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
20870        '''
20871        self.events = events if events is not None else []
20872        '''
20873         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
20874         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
20875        '''
20876
20877    def __repr__(self):
20878        return '<sdm.ReplayChunk ' + \
20879            'data: ' + repr(self.data) + ' ' +\
20880            'events: ' + repr(self.events) + ' ' +\
20881            '>'
20882
20883    def to_dict(self):
20884        return {
20885            'data': self.data,
20886            'events': self.events,
20887        }
20888
20889    @classmethod
20890    def from_dict(cls, d):
20891        return cls(
20892            data=d.get('data'),
20893            events=d.get('events'),
20894        )
20895
20896
20897class ReplayChunkEvent:
20898    '''
20899         A ReplayChunkEvent represents a single event within a query replay.
20900     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
20901    '''
20902    __slots__ = [
20903        'data',
20904        'duration',
20905    ]
20906
20907    def __init__(
20908        self,
20909        data=None,
20910        duration=None,
20911    ):
20912        self.data = data if data is not None else b''
20913        '''
20914         The raw data of the ReplayChunkEvent.
20915        '''
20916        self.duration = duration if duration is not None else None
20917        '''
20918         The time duration over which the data in this ReplayChunkEvent was transferred.
20919        '''
20920
20921    def __repr__(self):
20922        return '<sdm.ReplayChunkEvent ' + \
20923            'data: ' + repr(self.data) + ' ' +\
20924            'duration: ' + repr(self.duration) + ' ' +\
20925            '>'
20926
20927    def to_dict(self):
20928        return {
20929            'data': self.data,
20930            'duration': self.duration,
20931        }
20932
20933    @classmethod
20934    def from_dict(cls, d):
20935        return cls(
20936            data=d.get('data'),
20937            duration=d.get('duration'),
20938        )
20939
20940
20941class RequestableResource:
20942    '''
20943         RequestableResource is a resource that can be requested via an AccessRequestConfig
20944    '''
20945    __slots__ = [
20946        'access',
20947        'authentication',
20948        'healthy',
20949        'id',
20950        'name',
20951        'tags',
20952        'type',
20953    ]
20954
20955    def __init__(
20956        self,
20957        access=None,
20958        authentication=None,
20959        healthy=None,
20960        id=None,
20961        name=None,
20962        tags=None,
20963        type=None,
20964    ):
20965        self.access = access if access is not None else ''
20966        '''
20967         The current state of the user's access to the resources
20968        '''
20969        self.authentication = authentication if authentication is not None else ''
20970        '''
20971         The type of authentication for the resource
20972        '''
20973        self.healthy = healthy if healthy is not None else False
20974        '''
20975         The health check status of the reasource
20976        '''
20977        self.id = id if id is not None else ''
20978        '''
20979         The resource id.
20980        '''
20981        self.name = name if name is not None else ''
20982        '''
20983         The resource name.
20984        '''
20985        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20986        '''
20987         Any tags attached to this resource
20988        '''
20989        self.type = type if type is not None else ''
20990        '''
20991         The resource type
20992        '''
20993
20994    def __repr__(self):
20995        return '<sdm.RequestableResource ' + \
20996            'access: ' + repr(self.access) + ' ' +\
20997            'authentication: ' + repr(self.authentication) + ' ' +\
20998            'healthy: ' + repr(self.healthy) + ' ' +\
20999            'id: ' + repr(self.id) + ' ' +\
21000            'name: ' + repr(self.name) + ' ' +\
21001            'tags: ' + repr(self.tags) + ' ' +\
21002            'type: ' + repr(self.type) + ' ' +\
21003            '>'
21004
21005    def to_dict(self):
21006        return {
21007            'access': self.access,
21008            'authentication': self.authentication,
21009            'healthy': self.healthy,
21010            'id': self.id,
21011            'name': self.name,
21012            'tags': self.tags,
21013            'type': self.type,
21014        }
21015
21016    @classmethod
21017    def from_dict(cls, d):
21018        return cls(
21019            access=d.get('access'),
21020            authentication=d.get('authentication'),
21021            healthy=d.get('healthy'),
21022            id=d.get('id'),
21023            name=d.get('name'),
21024            tags=d.get('tags'),
21025            type=d.get('type'),
21026        )
21027
21028
21029class ResourceCreateResponse:
21030    '''
21031         ResourceCreateResponse reports how the Resources were created in the system.
21032    '''
21033    __slots__ = [
21034        'meta',
21035        'rate_limit',
21036        'resource',
21037    ]
21038
21039    def __init__(
21040        self,
21041        meta=None,
21042        rate_limit=None,
21043        resource=None,
21044    ):
21045        self.meta = meta if meta is not None else None
21046        '''
21047         Reserved for future use.
21048        '''
21049        self.rate_limit = rate_limit if rate_limit is not None else None
21050        '''
21051         Rate limit information.
21052        '''
21053        self.resource = resource if resource is not None else None
21054        '''
21055         The created Resource.
21056        '''
21057
21058    def __repr__(self):
21059        return '<sdm.ResourceCreateResponse ' + \
21060            'meta: ' + repr(self.meta) + ' ' +\
21061            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21062            'resource: ' + repr(self.resource) + ' ' +\
21063            '>'
21064
21065    def to_dict(self):
21066        return {
21067            'meta': self.meta,
21068            'rate_limit': self.rate_limit,
21069            'resource': self.resource,
21070        }
21071
21072    @classmethod
21073    def from_dict(cls, d):
21074        return cls(
21075            meta=d.get('meta'),
21076            rate_limit=d.get('rate_limit'),
21077            resource=d.get('resource'),
21078        )
21079
21080
21081class ResourceDeleteResponse:
21082    '''
21083         ResourceDeleteResponse returns information about a Resource that was deleted.
21084    '''
21085    __slots__ = [
21086        'meta',
21087        'rate_limit',
21088    ]
21089
21090    def __init__(
21091        self,
21092        meta=None,
21093        rate_limit=None,
21094    ):
21095        self.meta = meta if meta is not None else None
21096        '''
21097         Reserved for future use.
21098        '''
21099        self.rate_limit = rate_limit if rate_limit is not None else None
21100        '''
21101         Rate limit information.
21102        '''
21103
21104    def __repr__(self):
21105        return '<sdm.ResourceDeleteResponse ' + \
21106            'meta: ' + repr(self.meta) + ' ' +\
21107            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21108            '>'
21109
21110    def to_dict(self):
21111        return {
21112            'meta': self.meta,
21113            'rate_limit': self.rate_limit,
21114        }
21115
21116    @classmethod
21117    def from_dict(cls, d):
21118        return cls(
21119            meta=d.get('meta'),
21120            rate_limit=d.get('rate_limit'),
21121        )
21122
21123
21124class ResourceGetResponse:
21125    '''
21126         ResourceGetResponse returns a requested Resource.
21127    '''
21128    __slots__ = [
21129        'meta',
21130        'rate_limit',
21131        'resource',
21132    ]
21133
21134    def __init__(
21135        self,
21136        meta=None,
21137        rate_limit=None,
21138        resource=None,
21139    ):
21140        self.meta = meta if meta is not None else None
21141        '''
21142         Reserved for future use.
21143        '''
21144        self.rate_limit = rate_limit if rate_limit is not None else None
21145        '''
21146         Rate limit information.
21147        '''
21148        self.resource = resource if resource is not None else None
21149        '''
21150         The requested Resource.
21151        '''
21152
21153    def __repr__(self):
21154        return '<sdm.ResourceGetResponse ' + \
21155            'meta: ' + repr(self.meta) + ' ' +\
21156            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21157            'resource: ' + repr(self.resource) + ' ' +\
21158            '>'
21159
21160    def to_dict(self):
21161        return {
21162            'meta': self.meta,
21163            'rate_limit': self.rate_limit,
21164            'resource': self.resource,
21165        }
21166
21167    @classmethod
21168    def from_dict(cls, d):
21169        return cls(
21170            meta=d.get('meta'),
21171            rate_limit=d.get('rate_limit'),
21172            resource=d.get('resource'),
21173        )
21174
21175
21176class ResourceHealthcheckRequest:
21177    '''
21178         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
21179    '''
21180    __slots__ = [
21181        'id',
21182    ]
21183
21184    def __init__(
21185        self,
21186        id=None,
21187    ):
21188        self.id = id if id is not None else ''
21189        '''
21190         The unique identifier of the Resource to healthcheck.
21191        '''
21192
21193    def __repr__(self):
21194        return '<sdm.ResourceHealthcheckRequest ' + \
21195            'id: ' + repr(self.id) + ' ' +\
21196            '>'
21197
21198    def to_dict(self):
21199        return {
21200            'id': self.id,
21201        }
21202
21203    @classmethod
21204    def from_dict(cls, d):
21205        return cls(id=d.get('id'), )
21206
21207
21208class ResourceHealthcheckResponse:
21209    '''
21210         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
21211     Healthchecks are non blocking, and this contains no non-metadata.
21212    '''
21213    __slots__ = [
21214        'meta',
21215        'rate_limit',
21216    ]
21217
21218    def __init__(
21219        self,
21220        meta=None,
21221        rate_limit=None,
21222    ):
21223        self.meta = meta if meta is not None else None
21224        '''
21225         Reserved for future use.
21226        '''
21227        self.rate_limit = rate_limit if rate_limit is not None else None
21228        '''
21229         Rate limit information.
21230        '''
21231
21232    def __repr__(self):
21233        return '<sdm.ResourceHealthcheckResponse ' + \
21234            'meta: ' + repr(self.meta) + ' ' +\
21235            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21236            '>'
21237
21238    def to_dict(self):
21239        return {
21240            'meta': self.meta,
21241            'rate_limit': self.rate_limit,
21242        }
21243
21244    @classmethod
21245    def from_dict(cls, d):
21246        return cls(
21247            meta=d.get('meta'),
21248            rate_limit=d.get('rate_limit'),
21249        )
21250
21251
21252class ResourceHistory:
21253    '''
21254         ResourceHistory records the state of a Resource at a given point in time,
21255     where every change (create, update and delete) to a Resource produces an
21256     ResourceHistory record.
21257    '''
21258    __slots__ = [
21259        'activity_id',
21260        'deleted_at',
21261        'resource',
21262        'timestamp',
21263    ]
21264
21265    def __init__(
21266        self,
21267        activity_id=None,
21268        deleted_at=None,
21269        resource=None,
21270        timestamp=None,
21271    ):
21272        self.activity_id = activity_id if activity_id is not None else ''
21273        '''
21274         The unique identifier of the Activity that produced this change to the Resource.
21275         May be empty for some system-initiated updates.
21276        '''
21277        self.deleted_at = deleted_at if deleted_at is not None else None
21278        '''
21279         If this Resource was deleted, the time it was deleted.
21280        '''
21281        self.resource = resource if resource is not None else None
21282        '''
21283         The complete Resource state at this time.
21284        '''
21285        self.timestamp = timestamp if timestamp is not None else None
21286        '''
21287         The time at which the Resource state was recorded.
21288        '''
21289
21290    def __repr__(self):
21291        return '<sdm.ResourceHistory ' + \
21292            'activity_id: ' + repr(self.activity_id) + ' ' +\
21293            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21294            'resource: ' + repr(self.resource) + ' ' +\
21295            'timestamp: ' + repr(self.timestamp) + ' ' +\
21296            '>'
21297
21298    def to_dict(self):
21299        return {
21300            'activity_id': self.activity_id,
21301            'deleted_at': self.deleted_at,
21302            'resource': self.resource,
21303            'timestamp': self.timestamp,
21304        }
21305
21306    @classmethod
21307    def from_dict(cls, d):
21308        return cls(
21309            activity_id=d.get('activity_id'),
21310            deleted_at=d.get('deleted_at'),
21311            resource=d.get('resource'),
21312            timestamp=d.get('timestamp'),
21313        )
21314
21315
21316class ResourceUpdateResponse:
21317    '''
21318         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
21319     a ResourceUpdateRequest.
21320    '''
21321    __slots__ = [
21322        'meta',
21323        'rate_limit',
21324        'resource',
21325    ]
21326
21327    def __init__(
21328        self,
21329        meta=None,
21330        rate_limit=None,
21331        resource=None,
21332    ):
21333        self.meta = meta if meta is not None else None
21334        '''
21335         Reserved for future use.
21336        '''
21337        self.rate_limit = rate_limit if rate_limit is not None else None
21338        '''
21339         Rate limit information.
21340        '''
21341        self.resource = resource if resource is not None else None
21342        '''
21343         The updated Resource.
21344        '''
21345
21346    def __repr__(self):
21347        return '<sdm.ResourceUpdateResponse ' + \
21348            'meta: ' + repr(self.meta) + ' ' +\
21349            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21350            'resource: ' + repr(self.resource) + ' ' +\
21351            '>'
21352
21353    def to_dict(self):
21354        return {
21355            'meta': self.meta,
21356            'rate_limit': self.rate_limit,
21357            'resource': self.resource,
21358        }
21359
21360    @classmethod
21361    def from_dict(cls, d):
21362        return cls(
21363            meta=d.get('meta'),
21364            rate_limit=d.get('rate_limit'),
21365            resource=d.get('resource'),
21366        )
21367
21368
21369class Role:
21370    '''
21371         A Role has a list of access rules which determine which Resources the members
21372     of the Role have access to. An Account can be a member of multiple Roles via
21373     AccountAttachments.
21374    '''
21375    __slots__ = [
21376        'access_rules',
21377        'id',
21378        'managed_by',
21379        'name',
21380        'tags',
21381    ]
21382
21383    def __init__(
21384        self,
21385        access_rules=None,
21386        id=None,
21387        managed_by=None,
21388        name=None,
21389        tags=None,
21390    ):
21391        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
21392        )
21393        '''
21394         AccessRules is a list of access rules defining the resources this Role has access to.
21395        '''
21396        self.id = id if id is not None else ''
21397        '''
21398         Unique identifier of the Role.
21399        '''
21400        self.managed_by = managed_by if managed_by is not None else ''
21401        '''
21402         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
21403        '''
21404        self.name = name if name is not None else ''
21405        '''
21406         Unique human-readable name of the Role.
21407        '''
21408        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21409        '''
21410         Tags is a map of key, value pairs.
21411        '''
21412
21413    def __repr__(self):
21414        return '<sdm.Role ' + \
21415            'access_rules: ' + repr(self.access_rules) + ' ' +\
21416            'id: ' + repr(self.id) + ' ' +\
21417            'managed_by: ' + repr(self.managed_by) + ' ' +\
21418            'name: ' + repr(self.name) + ' ' +\
21419            'tags: ' + repr(self.tags) + ' ' +\
21420            '>'
21421
21422    def to_dict(self):
21423        return {
21424            'access_rules': self.access_rules,
21425            'id': self.id,
21426            'managed_by': self.managed_by,
21427            'name': self.name,
21428            'tags': self.tags,
21429        }
21430
21431    @classmethod
21432    def from_dict(cls, d):
21433        return cls(
21434            access_rules=d.get('access_rules'),
21435            id=d.get('id'),
21436            managed_by=d.get('managed_by'),
21437            name=d.get('name'),
21438            tags=d.get('tags'),
21439        )
21440
21441
21442class RoleCreateResponse:
21443    '''
21444         RoleCreateResponse reports how the Roles were created in the system. It can
21445     communicate partial successes or failures.
21446    '''
21447    __slots__ = [
21448        'meta',
21449        'rate_limit',
21450        'role',
21451    ]
21452
21453    def __init__(
21454        self,
21455        meta=None,
21456        rate_limit=None,
21457        role=None,
21458    ):
21459        self.meta = meta if meta is not None else None
21460        '''
21461         Reserved for future use.
21462        '''
21463        self.rate_limit = rate_limit if rate_limit is not None else None
21464        '''
21465         Rate limit information.
21466        '''
21467        self.role = role if role is not None else None
21468        '''
21469         The created Role.
21470        '''
21471
21472    def __repr__(self):
21473        return '<sdm.RoleCreateResponse ' + \
21474            'meta: ' + repr(self.meta) + ' ' +\
21475            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21476            'role: ' + repr(self.role) + ' ' +\
21477            '>'
21478
21479    def to_dict(self):
21480        return {
21481            'meta': self.meta,
21482            'rate_limit': self.rate_limit,
21483            'role': self.role,
21484        }
21485
21486    @classmethod
21487    def from_dict(cls, d):
21488        return cls(
21489            meta=d.get('meta'),
21490            rate_limit=d.get('rate_limit'),
21491            role=d.get('role'),
21492        )
21493
21494
21495class RoleDeleteResponse:
21496    '''
21497         RoleDeleteResponse returns information about a Role that was deleted.
21498    '''
21499    __slots__ = [
21500        'meta',
21501        'rate_limit',
21502    ]
21503
21504    def __init__(
21505        self,
21506        meta=None,
21507        rate_limit=None,
21508    ):
21509        self.meta = meta if meta is not None else None
21510        '''
21511         Reserved for future use.
21512        '''
21513        self.rate_limit = rate_limit if rate_limit is not None else None
21514        '''
21515         Rate limit information.
21516        '''
21517
21518    def __repr__(self):
21519        return '<sdm.RoleDeleteResponse ' + \
21520            'meta: ' + repr(self.meta) + ' ' +\
21521            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21522            '>'
21523
21524    def to_dict(self):
21525        return {
21526            'meta': self.meta,
21527            'rate_limit': self.rate_limit,
21528        }
21529
21530    @classmethod
21531    def from_dict(cls, d):
21532        return cls(
21533            meta=d.get('meta'),
21534            rate_limit=d.get('rate_limit'),
21535        )
21536
21537
21538class RoleGetResponse:
21539    '''
21540         RoleGetResponse returns a requested Role.
21541    '''
21542    __slots__ = [
21543        'meta',
21544        'rate_limit',
21545        'role',
21546    ]
21547
21548    def __init__(
21549        self,
21550        meta=None,
21551        rate_limit=None,
21552        role=None,
21553    ):
21554        self.meta = meta if meta is not None else None
21555        '''
21556         Reserved for future use.
21557        '''
21558        self.rate_limit = rate_limit if rate_limit is not None else None
21559        '''
21560         Rate limit information.
21561        '''
21562        self.role = role if role is not None else None
21563        '''
21564         The requested Role.
21565        '''
21566
21567    def __repr__(self):
21568        return '<sdm.RoleGetResponse ' + \
21569            'meta: ' + repr(self.meta) + ' ' +\
21570            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21571            'role: ' + repr(self.role) + ' ' +\
21572            '>'
21573
21574    def to_dict(self):
21575        return {
21576            'meta': self.meta,
21577            'rate_limit': self.rate_limit,
21578            'role': self.role,
21579        }
21580
21581    @classmethod
21582    def from_dict(cls, d):
21583        return cls(
21584            meta=d.get('meta'),
21585            rate_limit=d.get('rate_limit'),
21586            role=d.get('role'),
21587        )
21588
21589
21590class RoleHistory:
21591    '''
21592         RoleHistory records the state of a Role at a given point in time,
21593     where every change (create, update and delete) to a Role produces an
21594     RoleHistory record.
21595    '''
21596    __slots__ = [
21597        'activity_id',
21598        'deleted_at',
21599        'role',
21600        'timestamp',
21601    ]
21602
21603    def __init__(
21604        self,
21605        activity_id=None,
21606        deleted_at=None,
21607        role=None,
21608        timestamp=None,
21609    ):
21610        self.activity_id = activity_id if activity_id is not None else ''
21611        '''
21612         The unique identifier of the Activity that produced this change to the Role.
21613         May be empty for some system-initiated updates.
21614        '''
21615        self.deleted_at = deleted_at if deleted_at is not None else None
21616        '''
21617         If this Role was deleted, the time it was deleted.
21618        '''
21619        self.role = role if role is not None else None
21620        '''
21621         The complete Role state at this time.
21622        '''
21623        self.timestamp = timestamp if timestamp is not None else None
21624        '''
21625         The time at which the Role state was recorded.
21626        '''
21627
21628    def __repr__(self):
21629        return '<sdm.RoleHistory ' + \
21630            'activity_id: ' + repr(self.activity_id) + ' ' +\
21631            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21632            'role: ' + repr(self.role) + ' ' +\
21633            'timestamp: ' + repr(self.timestamp) + ' ' +\
21634            '>'
21635
21636    def to_dict(self):
21637        return {
21638            'activity_id': self.activity_id,
21639            'deleted_at': self.deleted_at,
21640            'role': self.role,
21641            'timestamp': self.timestamp,
21642        }
21643
21644    @classmethod
21645    def from_dict(cls, d):
21646        return cls(
21647            activity_id=d.get('activity_id'),
21648            deleted_at=d.get('deleted_at'),
21649            role=d.get('role'),
21650            timestamp=d.get('timestamp'),
21651        )
21652
21653
21654class RoleResource:
21655    '''
21656         RoleResource represents an individual access grant of a Role to a Resource.
21657    '''
21658    __slots__ = [
21659        'granted_at',
21660        'resource_id',
21661        'role_id',
21662    ]
21663
21664    def __init__(
21665        self,
21666        granted_at=None,
21667        resource_id=None,
21668        role_id=None,
21669    ):
21670        self.granted_at = granted_at if granted_at is not None else None
21671        '''
21672         The most recent time at which access was granted. If access was granted,
21673         revoked, and granted again, this will reflect the later time.
21674        '''
21675        self.resource_id = resource_id if resource_id is not None else ''
21676        '''
21677         The unique identifier of the Resource to which access is granted.
21678        '''
21679        self.role_id = role_id if role_id is not None else ''
21680        '''
21681         The unique identifier of the Role to which access is granted.
21682        '''
21683
21684    def __repr__(self):
21685        return '<sdm.RoleResource ' + \
21686            'granted_at: ' + repr(self.granted_at) + ' ' +\
21687            'resource_id: ' + repr(self.resource_id) + ' ' +\
21688            'role_id: ' + repr(self.role_id) + ' ' +\
21689            '>'
21690
21691    def to_dict(self):
21692        return {
21693            'granted_at': self.granted_at,
21694            'resource_id': self.resource_id,
21695            'role_id': self.role_id,
21696        }
21697
21698    @classmethod
21699    def from_dict(cls, d):
21700        return cls(
21701            granted_at=d.get('granted_at'),
21702            resource_id=d.get('resource_id'),
21703            role_id=d.get('role_id'),
21704        )
21705
21706
21707class RoleResourceHistory:
21708    '''
21709         RoleResourceHistory records the state of a RoleResource at a given point in time,
21710     where every change (create or delete) to a RoleResource produces an
21711     RoleResourceHistory record.
21712    '''
21713    __slots__ = [
21714        'activity_id',
21715        'deleted_at',
21716        'role_resource',
21717        'timestamp',
21718    ]
21719
21720    def __init__(
21721        self,
21722        activity_id=None,
21723        deleted_at=None,
21724        role_resource=None,
21725        timestamp=None,
21726    ):
21727        self.activity_id = activity_id if activity_id is not None else ''
21728        '''
21729         The unique identifier of the Activity that produced this change to the RoleResource.
21730         May be empty for some system-initiated updates.
21731        '''
21732        self.deleted_at = deleted_at if deleted_at is not None else None
21733        '''
21734         If this RoleResource was deleted, the time it was deleted.
21735        '''
21736        self.role_resource = role_resource if role_resource is not None else None
21737        '''
21738         The complete RoleResource state at this time.
21739        '''
21740        self.timestamp = timestamp if timestamp is not None else None
21741        '''
21742         The time at which the RoleResource state was recorded.
21743        '''
21744
21745    def __repr__(self):
21746        return '<sdm.RoleResourceHistory ' + \
21747            'activity_id: ' + repr(self.activity_id) + ' ' +\
21748            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21749            'role_resource: ' + repr(self.role_resource) + ' ' +\
21750            'timestamp: ' + repr(self.timestamp) + ' ' +\
21751            '>'
21752
21753    def to_dict(self):
21754        return {
21755            'activity_id': self.activity_id,
21756            'deleted_at': self.deleted_at,
21757            'role_resource': self.role_resource,
21758            'timestamp': self.timestamp,
21759        }
21760
21761    @classmethod
21762    def from_dict(cls, d):
21763        return cls(
21764            activity_id=d.get('activity_id'),
21765            deleted_at=d.get('deleted_at'),
21766            role_resource=d.get('role_resource'),
21767            timestamp=d.get('timestamp'),
21768        )
21769
21770
21771class RoleUpdateResponse:
21772    '''
21773         RoleUpdateResponse returns the fields of a Role after it has been updated by
21774     a RoleUpdateRequest.
21775    '''
21776    __slots__ = [
21777        'meta',
21778        'rate_limit',
21779        'role',
21780    ]
21781
21782    def __init__(
21783        self,
21784        meta=None,
21785        rate_limit=None,
21786        role=None,
21787    ):
21788        self.meta = meta if meta is not None else None
21789        '''
21790         Reserved for future use.
21791        '''
21792        self.rate_limit = rate_limit if rate_limit is not None else None
21793        '''
21794         Rate limit information.
21795        '''
21796        self.role = role if role is not None else None
21797        '''
21798         The updated Role.
21799        '''
21800
21801    def __repr__(self):
21802        return '<sdm.RoleUpdateResponse ' + \
21803            'meta: ' + repr(self.meta) + ' ' +\
21804            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21805            'role: ' + repr(self.role) + ' ' +\
21806            '>'
21807
21808    def to_dict(self):
21809        return {
21810            'meta': self.meta,
21811            'rate_limit': self.rate_limit,
21812            'role': self.role,
21813        }
21814
21815    @classmethod
21816    def from_dict(cls, d):
21817        return cls(
21818            meta=d.get('meta'),
21819            rate_limit=d.get('rate_limit'),
21820            role=d.get('role'),
21821        )
21822
21823
21824class SQLServer:
21825    __slots__ = [
21826        'allow_deprecated_encryption',
21827        'bind_interface',
21828        'database',
21829        'egress_filter',
21830        'healthy',
21831        'hostname',
21832        'id',
21833        'name',
21834        'override_database',
21835        'password',
21836        'port',
21837        'port_override',
21838        'proxy_cluster_id',
21839        'schema',
21840        'secret_store_id',
21841        'subdomain',
21842        'tags',
21843        'username',
21844    ]
21845
21846    def __init__(
21847        self,
21848        allow_deprecated_encryption=None,
21849        bind_interface=None,
21850        database=None,
21851        egress_filter=None,
21852        healthy=None,
21853        hostname=None,
21854        id=None,
21855        name=None,
21856        override_database=None,
21857        password=None,
21858        port=None,
21859        port_override=None,
21860        proxy_cluster_id=None,
21861        schema=None,
21862        secret_store_id=None,
21863        subdomain=None,
21864        tags=None,
21865        username=None,
21866    ):
21867        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
21868        '''
21869         Whether to allow deprecated encryption protocols to be used for this resource. For example,
21870         TLS 1.0.
21871        '''
21872        self.bind_interface = bind_interface if bind_interface is not None else ''
21873        '''
21874         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21875        '''
21876        self.database = database if database is not None else ''
21877        '''
21878         The database for healthchecks, and used for clients if Override Default Database is true.
21879        '''
21880        self.egress_filter = egress_filter if egress_filter is not None else ''
21881        '''
21882         A filter applied to the routing logic to pin datasource to nodes.
21883        '''
21884        self.healthy = healthy if healthy is not None else False
21885        '''
21886         True if the datasource is reachable and the credentials are valid.
21887        '''
21888        self.hostname = hostname if hostname is not None else ''
21889        '''
21890         The host to dial to initiate a connection from the egress node to this resource.
21891        '''
21892        self.id = id if id is not None else ''
21893        '''
21894         Unique identifier of the Resource.
21895        '''
21896        self.name = name if name is not None else ''
21897        '''
21898         Unique human-readable name of the Resource.
21899        '''
21900        self.override_database = override_database if override_database is not None else False
21901        '''
21902         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.
21903        '''
21904        self.password = password if password is not None else ''
21905        '''
21906         The password to authenticate with.
21907        '''
21908        self.port = port if port is not None else 0
21909        '''
21910         The port to dial to initiate a connection from the egress node to this resource.
21911        '''
21912        self.port_override = port_override if port_override is not None else 0
21913        '''
21914         The local port used by clients to connect to this resource.
21915        '''
21916        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21917        '''
21918         ID of the proxy cluster for this resource, if any.
21919        '''
21920        self.schema = schema if schema is not None else ''
21921        '''
21922         The Schema to use to direct initial requests.
21923        '''
21924        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21925        '''
21926         ID of the secret store containing credentials for this resource, if any.
21927        '''
21928        self.subdomain = subdomain if subdomain is not None else ''
21929        '''
21930         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21931        '''
21932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21933        '''
21934         Tags is a map of key, value pairs.
21935        '''
21936        self.username = username if username is not None else ''
21937        '''
21938         The username to authenticate with.
21939        '''
21940
21941    def __repr__(self):
21942        return '<sdm.SQLServer ' + \
21943            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
21944            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21945            'database: ' + repr(self.database) + ' ' +\
21946            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21947            'healthy: ' + repr(self.healthy) + ' ' +\
21948            'hostname: ' + repr(self.hostname) + ' ' +\
21949            'id: ' + repr(self.id) + ' ' +\
21950            'name: ' + repr(self.name) + ' ' +\
21951            'override_database: ' + repr(self.override_database) + ' ' +\
21952            'password: ' + repr(self.password) + ' ' +\
21953            'port: ' + repr(self.port) + ' ' +\
21954            'port_override: ' + repr(self.port_override) + ' ' +\
21955            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21956            'schema: ' + repr(self.schema) + ' ' +\
21957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21958            'subdomain: ' + repr(self.subdomain) + ' ' +\
21959            'tags: ' + repr(self.tags) + ' ' +\
21960            'username: ' + repr(self.username) + ' ' +\
21961            '>'
21962
21963    def to_dict(self):
21964        return {
21965            'allow_deprecated_encryption': self.allow_deprecated_encryption,
21966            'bind_interface': self.bind_interface,
21967            'database': self.database,
21968            'egress_filter': self.egress_filter,
21969            'healthy': self.healthy,
21970            'hostname': self.hostname,
21971            'id': self.id,
21972            'name': self.name,
21973            'override_database': self.override_database,
21974            'password': self.password,
21975            'port': self.port,
21976            'port_override': self.port_override,
21977            'proxy_cluster_id': self.proxy_cluster_id,
21978            'schema': self.schema,
21979            'secret_store_id': self.secret_store_id,
21980            'subdomain': self.subdomain,
21981            'tags': self.tags,
21982            'username': self.username,
21983        }
21984
21985    @classmethod
21986    def from_dict(cls, d):
21987        return cls(
21988            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
21989            bind_interface=d.get('bind_interface'),
21990            database=d.get('database'),
21991            egress_filter=d.get('egress_filter'),
21992            healthy=d.get('healthy'),
21993            hostname=d.get('hostname'),
21994            id=d.get('id'),
21995            name=d.get('name'),
21996            override_database=d.get('override_database'),
21997            password=d.get('password'),
21998            port=d.get('port'),
21999            port_override=d.get('port_override'),
22000            proxy_cluster_id=d.get('proxy_cluster_id'),
22001            schema=d.get('schema'),
22002            secret_store_id=d.get('secret_store_id'),
22003            subdomain=d.get('subdomain'),
22004            tags=d.get('tags'),
22005            username=d.get('username'),
22006        )
22007
22008
22009class SQLServerAzureAD:
22010    __slots__ = [
22011        'allow_deprecated_encryption',
22012        'bind_interface',
22013        'client_id',
22014        'database',
22015        'egress_filter',
22016        'healthy',
22017        'hostname',
22018        'id',
22019        'name',
22020        'override_database',
22021        'port',
22022        'port_override',
22023        'proxy_cluster_id',
22024        'schema',
22025        'secret',
22026        'secret_store_id',
22027        'subdomain',
22028        'tags',
22029        'tenant_id',
22030    ]
22031
22032    def __init__(
22033        self,
22034        allow_deprecated_encryption=None,
22035        bind_interface=None,
22036        client_id=None,
22037        database=None,
22038        egress_filter=None,
22039        healthy=None,
22040        hostname=None,
22041        id=None,
22042        name=None,
22043        override_database=None,
22044        port=None,
22045        port_override=None,
22046        proxy_cluster_id=None,
22047        schema=None,
22048        secret=None,
22049        secret_store_id=None,
22050        subdomain=None,
22051        tags=None,
22052        tenant_id=None,
22053    ):
22054        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22055        '''
22056         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22057         TLS 1.0.
22058        '''
22059        self.bind_interface = bind_interface if bind_interface is not None else ''
22060        '''
22061         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22062        '''
22063        self.client_id = client_id if client_id is not None else ''
22064        '''
22065         The Azure AD application (client) ID with which to authenticate.
22066        '''
22067        self.database = database if database is not None else ''
22068        '''
22069         The database for healthchecks, and used for clients if Override Default Database is true.
22070        '''
22071        self.egress_filter = egress_filter if egress_filter is not None else ''
22072        '''
22073         A filter applied to the routing logic to pin datasource to nodes.
22074        '''
22075        self.healthy = healthy if healthy is not None else False
22076        '''
22077         True if the datasource is reachable and the credentials are valid.
22078        '''
22079        self.hostname = hostname if hostname is not None else ''
22080        '''
22081         The host to dial to initiate a connection from the egress node to this resource.
22082        '''
22083        self.id = id if id is not None else ''
22084        '''
22085         Unique identifier of the Resource.
22086        '''
22087        self.name = name if name is not None else ''
22088        '''
22089         Unique human-readable name of the Resource.
22090        '''
22091        self.override_database = override_database if override_database is not None else False
22092        '''
22093         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.
22094        '''
22095        self.port = port if port is not None else 0
22096        '''
22097         The port to dial to initiate a connection from the egress node to this resource.
22098        '''
22099        self.port_override = port_override if port_override is not None else 0
22100        '''
22101         The local port used by clients to connect to this resource.
22102        '''
22103        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22104        '''
22105         ID of the proxy cluster for this resource, if any.
22106        '''
22107        self.schema = schema if schema is not None else ''
22108        '''
22109         The Schema to use to direct initial requests.
22110        '''
22111        self.secret = secret if secret is not None else ''
22112        '''
22113         The Azure AD client secret (application password) with which to authenticate.
22114        '''
22115        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22116        '''
22117         ID of the secret store containing credentials for this resource, if any.
22118        '''
22119        self.subdomain = subdomain if subdomain is not None else ''
22120        '''
22121         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22122        '''
22123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22124        '''
22125         Tags is a map of key, value pairs.
22126        '''
22127        self.tenant_id = tenant_id if tenant_id is not None else ''
22128        '''
22129         The Azure AD directory (tenant) ID with which to authenticate.
22130        '''
22131
22132    def __repr__(self):
22133        return '<sdm.SQLServerAzureAD ' + \
22134            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
22135            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22136            'client_id: ' + repr(self.client_id) + ' ' +\
22137            'database: ' + repr(self.database) + ' ' +\
22138            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22139            'healthy: ' + repr(self.healthy) + ' ' +\
22140            'hostname: ' + repr(self.hostname) + ' ' +\
22141            'id: ' + repr(self.id) + ' ' +\
22142            'name: ' + repr(self.name) + ' ' +\
22143            'override_database: ' + repr(self.override_database) + ' ' +\
22144            'port: ' + repr(self.port) + ' ' +\
22145            'port_override: ' + repr(self.port_override) + ' ' +\
22146            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22147            'schema: ' + repr(self.schema) + ' ' +\
22148            'secret: ' + repr(self.secret) + ' ' +\
22149            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22150            'subdomain: ' + repr(self.subdomain) + ' ' +\
22151            'tags: ' + repr(self.tags) + ' ' +\
22152            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
22153            '>'
22154
22155    def to_dict(self):
22156        return {
22157            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22158            'bind_interface': self.bind_interface,
22159            'client_id': self.client_id,
22160            'database': self.database,
22161            'egress_filter': self.egress_filter,
22162            'healthy': self.healthy,
22163            'hostname': self.hostname,
22164            'id': self.id,
22165            'name': self.name,
22166            'override_database': self.override_database,
22167            'port': self.port,
22168            'port_override': self.port_override,
22169            'proxy_cluster_id': self.proxy_cluster_id,
22170            'schema': self.schema,
22171            'secret': self.secret,
22172            'secret_store_id': self.secret_store_id,
22173            'subdomain': self.subdomain,
22174            'tags': self.tags,
22175            'tenant_id': self.tenant_id,
22176        }
22177
22178    @classmethod
22179    def from_dict(cls, d):
22180        return cls(
22181            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22182            bind_interface=d.get('bind_interface'),
22183            client_id=d.get('client_id'),
22184            database=d.get('database'),
22185            egress_filter=d.get('egress_filter'),
22186            healthy=d.get('healthy'),
22187            hostname=d.get('hostname'),
22188            id=d.get('id'),
22189            name=d.get('name'),
22190            override_database=d.get('override_database'),
22191            port=d.get('port'),
22192            port_override=d.get('port_override'),
22193            proxy_cluster_id=d.get('proxy_cluster_id'),
22194            schema=d.get('schema'),
22195            secret=d.get('secret'),
22196            secret_store_id=d.get('secret_store_id'),
22197            subdomain=d.get('subdomain'),
22198            tags=d.get('tags'),
22199            tenant_id=d.get('tenant_id'),
22200        )
22201
22202
22203class SQLServerKerberosAD:
22204    __slots__ = [
22205        'allow_deprecated_encryption',
22206        'bind_interface',
22207        'database',
22208        'egress_filter',
22209        'healthy',
22210        'hostname',
22211        'id',
22212        'keytab',
22213        'krb_config',
22214        'name',
22215        'override_database',
22216        'port',
22217        'port_override',
22218        'proxy_cluster_id',
22219        'realm',
22220        'schema',
22221        'secret_store_id',
22222        'server_spn',
22223        'subdomain',
22224        'tags',
22225        'username',
22226    ]
22227
22228    def __init__(
22229        self,
22230        allow_deprecated_encryption=None,
22231        bind_interface=None,
22232        database=None,
22233        egress_filter=None,
22234        healthy=None,
22235        hostname=None,
22236        id=None,
22237        keytab=None,
22238        krb_config=None,
22239        name=None,
22240        override_database=None,
22241        port=None,
22242        port_override=None,
22243        proxy_cluster_id=None,
22244        realm=None,
22245        schema=None,
22246        secret_store_id=None,
22247        server_spn=None,
22248        subdomain=None,
22249        tags=None,
22250        username=None,
22251    ):
22252        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22253        '''
22254         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22255         TLS 1.0.
22256        '''
22257        self.bind_interface = bind_interface if bind_interface is not None else ''
22258        '''
22259         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22260        '''
22261        self.database = database if database is not None else ''
22262        '''
22263         The database for healthchecks, and used for clients if Override Default Database is true.
22264        '''
22265        self.egress_filter = egress_filter if egress_filter is not None else ''
22266        '''
22267         A filter applied to the routing logic to pin datasource to nodes.
22268        '''
22269        self.healthy = healthy if healthy is not None else False
22270        '''
22271         True if the datasource is reachable and the credentials are valid.
22272        '''
22273        self.hostname = hostname if hostname is not None else ''
22274        '''
22275         The host to dial to initiate a connection from the egress node to this resource.
22276        '''
22277        self.id = id if id is not None else ''
22278        '''
22279         Unique identifier of the Resource.
22280        '''
22281        self.keytab = keytab if keytab is not None else ''
22282        '''
22283         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
22284        '''
22285        self.krb_config = krb_config if krb_config is not None else ''
22286        '''
22287         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
22288        '''
22289        self.name = name if name is not None else ''
22290        '''
22291         Unique human-readable name of the Resource.
22292        '''
22293        self.override_database = override_database if override_database is not None else False
22294        '''
22295         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.
22296        '''
22297        self.port = port if port is not None else 0
22298        '''
22299         The port to dial to initiate a connection from the egress node to this resource.
22300        '''
22301        self.port_override = port_override if port_override is not None else 0
22302        '''
22303         The local port used by clients to connect to this resource.
22304        '''
22305        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22306        '''
22307         ID of the proxy cluster for this resource, if any.
22308        '''
22309        self.realm = realm if realm is not None else ''
22310        '''
22311         The Active Directory domain (realm) to which the configured username belongs.
22312        '''
22313        self.schema = schema if schema is not None else ''
22314        '''
22315         The Schema to use to direct initial requests.
22316        '''
22317        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22318        '''
22319         ID of the secret store containing credentials for this resource, if any.
22320        '''
22321        self.server_spn = server_spn if server_spn is not None else ''
22322        '''
22323         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
22324        '''
22325        self.subdomain = subdomain if subdomain is not None else ''
22326        '''
22327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22328        '''
22329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22330        '''
22331         Tags is a map of key, value pairs.
22332        '''
22333        self.username = username if username is not None else ''
22334        '''
22335         The username to authenticate with.
22336        '''
22337
22338    def __repr__(self):
22339        return '<sdm.SQLServerKerberosAD ' + \
22340            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
22341            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22342            'database: ' + repr(self.database) + ' ' +\
22343            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22344            'healthy: ' + repr(self.healthy) + ' ' +\
22345            'hostname: ' + repr(self.hostname) + ' ' +\
22346            'id: ' + repr(self.id) + ' ' +\
22347            'keytab: ' + repr(self.keytab) + ' ' +\
22348            'krb_config: ' + repr(self.krb_config) + ' ' +\
22349            'name: ' + repr(self.name) + ' ' +\
22350            'override_database: ' + repr(self.override_database) + ' ' +\
22351            'port: ' + repr(self.port) + ' ' +\
22352            'port_override: ' + repr(self.port_override) + ' ' +\
22353            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22354            'realm: ' + repr(self.realm) + ' ' +\
22355            'schema: ' + repr(self.schema) + ' ' +\
22356            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22357            'server_spn: ' + repr(self.server_spn) + ' ' +\
22358            'subdomain: ' + repr(self.subdomain) + ' ' +\
22359            'tags: ' + repr(self.tags) + ' ' +\
22360            'username: ' + repr(self.username) + ' ' +\
22361            '>'
22362
22363    def to_dict(self):
22364        return {
22365            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22366            'bind_interface': self.bind_interface,
22367            'database': self.database,
22368            'egress_filter': self.egress_filter,
22369            'healthy': self.healthy,
22370            'hostname': self.hostname,
22371            'id': self.id,
22372            'keytab': self.keytab,
22373            'krb_config': self.krb_config,
22374            'name': self.name,
22375            'override_database': self.override_database,
22376            'port': self.port,
22377            'port_override': self.port_override,
22378            'proxy_cluster_id': self.proxy_cluster_id,
22379            'realm': self.realm,
22380            'schema': self.schema,
22381            'secret_store_id': self.secret_store_id,
22382            'server_spn': self.server_spn,
22383            'subdomain': self.subdomain,
22384            'tags': self.tags,
22385            'username': self.username,
22386        }
22387
22388    @classmethod
22389    def from_dict(cls, d):
22390        return cls(
22391            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22392            bind_interface=d.get('bind_interface'),
22393            database=d.get('database'),
22394            egress_filter=d.get('egress_filter'),
22395            healthy=d.get('healthy'),
22396            hostname=d.get('hostname'),
22397            id=d.get('id'),
22398            keytab=d.get('keytab'),
22399            krb_config=d.get('krb_config'),
22400            name=d.get('name'),
22401            override_database=d.get('override_database'),
22402            port=d.get('port'),
22403            port_override=d.get('port_override'),
22404            proxy_cluster_id=d.get('proxy_cluster_id'),
22405            realm=d.get('realm'),
22406            schema=d.get('schema'),
22407            secret_store_id=d.get('secret_store_id'),
22408            server_spn=d.get('server_spn'),
22409            subdomain=d.get('subdomain'),
22410            tags=d.get('tags'),
22411            username=d.get('username'),
22412        )
22413
22414
22415class SSH:
22416    __slots__ = [
22417        'allow_deprecated_key_exchanges',
22418        'bind_interface',
22419        'egress_filter',
22420        'healthy',
22421        'hostname',
22422        'id',
22423        'key_type',
22424        'name',
22425        'port',
22426        'port_forwarding',
22427        'port_override',
22428        'proxy_cluster_id',
22429        'public_key',
22430        'secret_store_id',
22431        'subdomain',
22432        'tags',
22433        'username',
22434    ]
22435
22436    def __init__(
22437        self,
22438        allow_deprecated_key_exchanges=None,
22439        bind_interface=None,
22440        egress_filter=None,
22441        healthy=None,
22442        hostname=None,
22443        id=None,
22444        key_type=None,
22445        name=None,
22446        port=None,
22447        port_forwarding=None,
22448        port_override=None,
22449        proxy_cluster_id=None,
22450        public_key=None,
22451        secret_store_id=None,
22452        subdomain=None,
22453        tags=None,
22454        username=None,
22455    ):
22456        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22457        '''
22458         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22459        '''
22460        self.bind_interface = bind_interface if bind_interface is not None else ''
22461        '''
22462         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22463        '''
22464        self.egress_filter = egress_filter if egress_filter is not None else ''
22465        '''
22466         A filter applied to the routing logic to pin datasource to nodes.
22467        '''
22468        self.healthy = healthy if healthy is not None else False
22469        '''
22470         True if the datasource is reachable and the credentials are valid.
22471        '''
22472        self.hostname = hostname if hostname is not None else ''
22473        '''
22474         The host to dial to initiate a connection from the egress node to this resource.
22475        '''
22476        self.id = id if id is not None else ''
22477        '''
22478         Unique identifier of the Resource.
22479        '''
22480        self.key_type = key_type if key_type is not None else ''
22481        '''
22482         The key type to use e.g. rsa-2048 or ed25519
22483        '''
22484        self.name = name if name is not None else ''
22485        '''
22486         Unique human-readable name of the Resource.
22487        '''
22488        self.port = port if port is not None else 0
22489        '''
22490         The port to dial to initiate a connection from the egress node to this resource.
22491        '''
22492        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22493        '''
22494         Whether port forwarding is allowed through this server.
22495        '''
22496        self.port_override = port_override if port_override is not None else 0
22497        '''
22498         The local port used by clients to connect to this resource.
22499        '''
22500        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22501        '''
22502         ID of the proxy cluster for this resource, if any.
22503        '''
22504        self.public_key = public_key if public_key is not None else ''
22505        '''
22506         The public key to append to a server's authorized keys. This will be generated after resource creation.
22507        '''
22508        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22509        '''
22510         ID of the secret store containing credentials for this resource, if any.
22511        '''
22512        self.subdomain = subdomain if subdomain is not None else ''
22513        '''
22514         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22515        '''
22516        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22517        '''
22518         Tags is a map of key, value pairs.
22519        '''
22520        self.username = username if username is not None else ''
22521        '''
22522         The username to authenticate with.
22523        '''
22524
22525    def __repr__(self):
22526        return '<sdm.SSH ' + \
22527            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22528            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22529            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22530            'healthy: ' + repr(self.healthy) + ' ' +\
22531            'hostname: ' + repr(self.hostname) + ' ' +\
22532            'id: ' + repr(self.id) + ' ' +\
22533            'key_type: ' + repr(self.key_type) + ' ' +\
22534            'name: ' + repr(self.name) + ' ' +\
22535            'port: ' + repr(self.port) + ' ' +\
22536            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22537            'port_override: ' + repr(self.port_override) + ' ' +\
22538            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22539            'public_key: ' + repr(self.public_key) + ' ' +\
22540            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22541            'subdomain: ' + repr(self.subdomain) + ' ' +\
22542            'tags: ' + repr(self.tags) + ' ' +\
22543            'username: ' + repr(self.username) + ' ' +\
22544            '>'
22545
22546    def to_dict(self):
22547        return {
22548            'allow_deprecated_key_exchanges':
22549            self.allow_deprecated_key_exchanges,
22550            'bind_interface': self.bind_interface,
22551            'egress_filter': self.egress_filter,
22552            'healthy': self.healthy,
22553            'hostname': self.hostname,
22554            'id': self.id,
22555            'key_type': self.key_type,
22556            'name': self.name,
22557            'port': self.port,
22558            'port_forwarding': self.port_forwarding,
22559            'port_override': self.port_override,
22560            'proxy_cluster_id': self.proxy_cluster_id,
22561            'public_key': self.public_key,
22562            'secret_store_id': self.secret_store_id,
22563            'subdomain': self.subdomain,
22564            'tags': self.tags,
22565            'username': self.username,
22566        }
22567
22568    @classmethod
22569    def from_dict(cls, d):
22570        return cls(
22571            allow_deprecated_key_exchanges=d.get(
22572                'allow_deprecated_key_exchanges'),
22573            bind_interface=d.get('bind_interface'),
22574            egress_filter=d.get('egress_filter'),
22575            healthy=d.get('healthy'),
22576            hostname=d.get('hostname'),
22577            id=d.get('id'),
22578            key_type=d.get('key_type'),
22579            name=d.get('name'),
22580            port=d.get('port'),
22581            port_forwarding=d.get('port_forwarding'),
22582            port_override=d.get('port_override'),
22583            proxy_cluster_id=d.get('proxy_cluster_id'),
22584            public_key=d.get('public_key'),
22585            secret_store_id=d.get('secret_store_id'),
22586            subdomain=d.get('subdomain'),
22587            tags=d.get('tags'),
22588            username=d.get('username'),
22589        )
22590
22591
22592class SSHCert:
22593    __slots__ = [
22594        'allow_deprecated_key_exchanges',
22595        'bind_interface',
22596        'egress_filter',
22597        'healthy',
22598        'hostname',
22599        'id',
22600        'identity_alias_healthcheck_username',
22601        'identity_set_id',
22602        'key_type',
22603        'name',
22604        'port',
22605        'port_forwarding',
22606        'port_override',
22607        'proxy_cluster_id',
22608        'secret_store_id',
22609        'subdomain',
22610        'tags',
22611        'username',
22612    ]
22613
22614    def __init__(
22615        self,
22616        allow_deprecated_key_exchanges=None,
22617        bind_interface=None,
22618        egress_filter=None,
22619        healthy=None,
22620        hostname=None,
22621        id=None,
22622        identity_alias_healthcheck_username=None,
22623        identity_set_id=None,
22624        key_type=None,
22625        name=None,
22626        port=None,
22627        port_forwarding=None,
22628        port_override=None,
22629        proxy_cluster_id=None,
22630        secret_store_id=None,
22631        subdomain=None,
22632        tags=None,
22633        username=None,
22634    ):
22635        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22636        '''
22637         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22638        '''
22639        self.bind_interface = bind_interface if bind_interface is not None else ''
22640        '''
22641         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22642        '''
22643        self.egress_filter = egress_filter if egress_filter is not None else ''
22644        '''
22645         A filter applied to the routing logic to pin datasource to nodes.
22646        '''
22647        self.healthy = healthy if healthy is not None else False
22648        '''
22649         True if the datasource is reachable and the credentials are valid.
22650        '''
22651        self.hostname = hostname if hostname is not None else ''
22652        '''
22653         The host to dial to initiate a connection from the egress node to this resource.
22654        '''
22655        self.id = id if id is not None else ''
22656        '''
22657         Unique identifier of the Resource.
22658        '''
22659        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22660        '''
22661         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22662        '''
22663        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22664        '''
22665         The ID of the identity set to use for identity connections.
22666        '''
22667        self.key_type = key_type if key_type is not None else ''
22668        '''
22669         The key type to use e.g. rsa-2048 or ed25519
22670        '''
22671        self.name = name if name is not None else ''
22672        '''
22673         Unique human-readable name of the Resource.
22674        '''
22675        self.port = port if port is not None else 0
22676        '''
22677         The port to dial to initiate a connection from the egress node to this resource.
22678        '''
22679        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22680        '''
22681         Whether port forwarding is allowed through this server.
22682        '''
22683        self.port_override = port_override if port_override is not None else 0
22684        '''
22685         The local port used by clients to connect to this resource.
22686        '''
22687        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22688        '''
22689         ID of the proxy cluster for this resource, if any.
22690        '''
22691        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22692        '''
22693         ID of the secret store containing credentials for this resource, if any.
22694        '''
22695        self.subdomain = subdomain if subdomain is not None else ''
22696        '''
22697         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22698        '''
22699        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22700        '''
22701         Tags is a map of key, value pairs.
22702        '''
22703        self.username = username if username is not None else ''
22704        '''
22705         The username to authenticate with.
22706        '''
22707
22708    def __repr__(self):
22709        return '<sdm.SSHCert ' + \
22710            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22711            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22712            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22713            'healthy: ' + repr(self.healthy) + ' ' +\
22714            'hostname: ' + repr(self.hostname) + ' ' +\
22715            'id: ' + repr(self.id) + ' ' +\
22716            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22717            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22718            'key_type: ' + repr(self.key_type) + ' ' +\
22719            'name: ' + repr(self.name) + ' ' +\
22720            'port: ' + repr(self.port) + ' ' +\
22721            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22722            'port_override: ' + repr(self.port_override) + ' ' +\
22723            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22724            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22725            'subdomain: ' + repr(self.subdomain) + ' ' +\
22726            'tags: ' + repr(self.tags) + ' ' +\
22727            'username: ' + repr(self.username) + ' ' +\
22728            '>'
22729
22730    def to_dict(self):
22731        return {
22732            'allow_deprecated_key_exchanges':
22733            self.allow_deprecated_key_exchanges,
22734            'bind_interface': self.bind_interface,
22735            'egress_filter': self.egress_filter,
22736            'healthy': self.healthy,
22737            'hostname': self.hostname,
22738            'id': self.id,
22739            'identity_alias_healthcheck_username':
22740            self.identity_alias_healthcheck_username,
22741            'identity_set_id': self.identity_set_id,
22742            'key_type': self.key_type,
22743            'name': self.name,
22744            'port': self.port,
22745            'port_forwarding': self.port_forwarding,
22746            'port_override': self.port_override,
22747            'proxy_cluster_id': self.proxy_cluster_id,
22748            'secret_store_id': self.secret_store_id,
22749            'subdomain': self.subdomain,
22750            'tags': self.tags,
22751            'username': self.username,
22752        }
22753
22754    @classmethod
22755    def from_dict(cls, d):
22756        return cls(
22757            allow_deprecated_key_exchanges=d.get(
22758                'allow_deprecated_key_exchanges'),
22759            bind_interface=d.get('bind_interface'),
22760            egress_filter=d.get('egress_filter'),
22761            healthy=d.get('healthy'),
22762            hostname=d.get('hostname'),
22763            id=d.get('id'),
22764            identity_alias_healthcheck_username=d.get(
22765                'identity_alias_healthcheck_username'),
22766            identity_set_id=d.get('identity_set_id'),
22767            key_type=d.get('key_type'),
22768            name=d.get('name'),
22769            port=d.get('port'),
22770            port_forwarding=d.get('port_forwarding'),
22771            port_override=d.get('port_override'),
22772            proxy_cluster_id=d.get('proxy_cluster_id'),
22773            secret_store_id=d.get('secret_store_id'),
22774            subdomain=d.get('subdomain'),
22775            tags=d.get('tags'),
22776            username=d.get('username'),
22777        )
22778
22779
22780class SSHCustomerKey:
22781    __slots__ = [
22782        'allow_deprecated_key_exchanges',
22783        'bind_interface',
22784        'egress_filter',
22785        'healthy',
22786        'hostname',
22787        'id',
22788        'name',
22789        'port',
22790        'port_forwarding',
22791        'port_override',
22792        'private_key',
22793        'proxy_cluster_id',
22794        'secret_store_id',
22795        'subdomain',
22796        'tags',
22797        'username',
22798    ]
22799
22800    def __init__(
22801        self,
22802        allow_deprecated_key_exchanges=None,
22803        bind_interface=None,
22804        egress_filter=None,
22805        healthy=None,
22806        hostname=None,
22807        id=None,
22808        name=None,
22809        port=None,
22810        port_forwarding=None,
22811        port_override=None,
22812        private_key=None,
22813        proxy_cluster_id=None,
22814        secret_store_id=None,
22815        subdomain=None,
22816        tags=None,
22817        username=None,
22818    ):
22819        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22820        '''
22821         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22822        '''
22823        self.bind_interface = bind_interface if bind_interface is not None else ''
22824        '''
22825         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22826        '''
22827        self.egress_filter = egress_filter if egress_filter is not None else ''
22828        '''
22829         A filter applied to the routing logic to pin datasource to nodes.
22830        '''
22831        self.healthy = healthy if healthy is not None else False
22832        '''
22833         True if the datasource is reachable and the credentials are valid.
22834        '''
22835        self.hostname = hostname if hostname is not None else ''
22836        '''
22837         The host to dial to initiate a connection from the egress node to this resource.
22838        '''
22839        self.id = id if id is not None else ''
22840        '''
22841         Unique identifier of the Resource.
22842        '''
22843        self.name = name if name is not None else ''
22844        '''
22845         Unique human-readable name of the Resource.
22846        '''
22847        self.port = port if port is not None else 0
22848        '''
22849         The port to dial to initiate a connection from the egress node to this resource.
22850        '''
22851        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22852        '''
22853         Whether port forwarding is allowed through this server.
22854        '''
22855        self.port_override = port_override if port_override is not None else 0
22856        '''
22857         The local port used by clients to connect to this resource.
22858        '''
22859        self.private_key = private_key if private_key is not None else ''
22860        '''
22861         The private key used to authenticate with the server.
22862        '''
22863        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22864        '''
22865         ID of the proxy cluster for this resource, if any.
22866        '''
22867        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22868        '''
22869         ID of the secret store containing credentials for this resource, if any.
22870        '''
22871        self.subdomain = subdomain if subdomain is not None else ''
22872        '''
22873         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22874        '''
22875        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22876        '''
22877         Tags is a map of key, value pairs.
22878        '''
22879        self.username = username if username is not None else ''
22880        '''
22881         The username to authenticate with.
22882        '''
22883
22884    def __repr__(self):
22885        return '<sdm.SSHCustomerKey ' + \
22886            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22887            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22888            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22889            'healthy: ' + repr(self.healthy) + ' ' +\
22890            'hostname: ' + repr(self.hostname) + ' ' +\
22891            'id: ' + repr(self.id) + ' ' +\
22892            'name: ' + repr(self.name) + ' ' +\
22893            'port: ' + repr(self.port) + ' ' +\
22894            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22895            'port_override: ' + repr(self.port_override) + ' ' +\
22896            'private_key: ' + repr(self.private_key) + ' ' +\
22897            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22898            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22899            'subdomain: ' + repr(self.subdomain) + ' ' +\
22900            'tags: ' + repr(self.tags) + ' ' +\
22901            'username: ' + repr(self.username) + ' ' +\
22902            '>'
22903
22904    def to_dict(self):
22905        return {
22906            'allow_deprecated_key_exchanges':
22907            self.allow_deprecated_key_exchanges,
22908            'bind_interface': self.bind_interface,
22909            'egress_filter': self.egress_filter,
22910            'healthy': self.healthy,
22911            'hostname': self.hostname,
22912            'id': self.id,
22913            'name': self.name,
22914            'port': self.port,
22915            'port_forwarding': self.port_forwarding,
22916            'port_override': self.port_override,
22917            'private_key': self.private_key,
22918            'proxy_cluster_id': self.proxy_cluster_id,
22919            'secret_store_id': self.secret_store_id,
22920            'subdomain': self.subdomain,
22921            'tags': self.tags,
22922            'username': self.username,
22923        }
22924
22925    @classmethod
22926    def from_dict(cls, d):
22927        return cls(
22928            allow_deprecated_key_exchanges=d.get(
22929                'allow_deprecated_key_exchanges'),
22930            bind_interface=d.get('bind_interface'),
22931            egress_filter=d.get('egress_filter'),
22932            healthy=d.get('healthy'),
22933            hostname=d.get('hostname'),
22934            id=d.get('id'),
22935            name=d.get('name'),
22936            port=d.get('port'),
22937            port_forwarding=d.get('port_forwarding'),
22938            port_override=d.get('port_override'),
22939            private_key=d.get('private_key'),
22940            proxy_cluster_id=d.get('proxy_cluster_id'),
22941            secret_store_id=d.get('secret_store_id'),
22942            subdomain=d.get('subdomain'),
22943            tags=d.get('tags'),
22944            username=d.get('username'),
22945        )
22946
22947
22948class SSHPassword:
22949    __slots__ = [
22950        'allow_deprecated_key_exchanges',
22951        'bind_interface',
22952        'egress_filter',
22953        'healthy',
22954        'hostname',
22955        'id',
22956        'name',
22957        'password',
22958        'port',
22959        'port_forwarding',
22960        'port_override',
22961        'proxy_cluster_id',
22962        'secret_store_id',
22963        'subdomain',
22964        'tags',
22965        'username',
22966    ]
22967
22968    def __init__(
22969        self,
22970        allow_deprecated_key_exchanges=None,
22971        bind_interface=None,
22972        egress_filter=None,
22973        healthy=None,
22974        hostname=None,
22975        id=None,
22976        name=None,
22977        password=None,
22978        port=None,
22979        port_forwarding=None,
22980        port_override=None,
22981        proxy_cluster_id=None,
22982        secret_store_id=None,
22983        subdomain=None,
22984        tags=None,
22985        username=None,
22986    ):
22987        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22988        '''
22989         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22990        '''
22991        self.bind_interface = bind_interface if bind_interface is not None else ''
22992        '''
22993         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22994        '''
22995        self.egress_filter = egress_filter if egress_filter is not None else ''
22996        '''
22997         A filter applied to the routing logic to pin datasource to nodes.
22998        '''
22999        self.healthy = healthy if healthy is not None else False
23000        '''
23001         True if the datasource is reachable and the credentials are valid.
23002        '''
23003        self.hostname = hostname if hostname is not None else ''
23004        '''
23005         The host to dial to initiate a connection from the egress node to this resource.
23006        '''
23007        self.id = id if id is not None else ''
23008        '''
23009         Unique identifier of the Resource.
23010        '''
23011        self.name = name if name is not None else ''
23012        '''
23013         Unique human-readable name of the Resource.
23014        '''
23015        self.password = password if password is not None else ''
23016        '''
23017         The password to authenticate with.
23018        '''
23019        self.port = port if port is not None else 0
23020        '''
23021         The port to dial to initiate a connection from the egress node to this resource.
23022        '''
23023        self.port_forwarding = port_forwarding if port_forwarding is not None else False
23024        '''
23025         Whether port forwarding is allowed through this server.
23026        '''
23027        self.port_override = port_override if port_override is not None else 0
23028        '''
23029         The local port used by clients to connect to this resource.
23030        '''
23031        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23032        '''
23033         ID of the proxy cluster for this resource, if any.
23034        '''
23035        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23036        '''
23037         ID of the secret store containing credentials for this resource, if any.
23038        '''
23039        self.subdomain = subdomain if subdomain is not None else ''
23040        '''
23041         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23042        '''
23043        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23044        '''
23045         Tags is a map of key, value pairs.
23046        '''
23047        self.username = username if username is not None else ''
23048        '''
23049         The username to authenticate with.
23050        '''
23051
23052    def __repr__(self):
23053        return '<sdm.SSHPassword ' + \
23054            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
23055            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23056            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23057            'healthy: ' + repr(self.healthy) + ' ' +\
23058            'hostname: ' + repr(self.hostname) + ' ' +\
23059            'id: ' + repr(self.id) + ' ' +\
23060            'name: ' + repr(self.name) + ' ' +\
23061            'password: ' + repr(self.password) + ' ' +\
23062            'port: ' + repr(self.port) + ' ' +\
23063            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
23064            'port_override: ' + repr(self.port_override) + ' ' +\
23065            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23066            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23067            'subdomain: ' + repr(self.subdomain) + ' ' +\
23068            'tags: ' + repr(self.tags) + ' ' +\
23069            'username: ' + repr(self.username) + ' ' +\
23070            '>'
23071
23072    def to_dict(self):
23073        return {
23074            'allow_deprecated_key_exchanges':
23075            self.allow_deprecated_key_exchanges,
23076            'bind_interface': self.bind_interface,
23077            'egress_filter': self.egress_filter,
23078            'healthy': self.healthy,
23079            'hostname': self.hostname,
23080            'id': self.id,
23081            'name': self.name,
23082            'password': self.password,
23083            'port': self.port,
23084            'port_forwarding': self.port_forwarding,
23085            'port_override': self.port_override,
23086            'proxy_cluster_id': self.proxy_cluster_id,
23087            'secret_store_id': self.secret_store_id,
23088            'subdomain': self.subdomain,
23089            'tags': self.tags,
23090            'username': self.username,
23091        }
23092
23093    @classmethod
23094    def from_dict(cls, d):
23095        return cls(
23096            allow_deprecated_key_exchanges=d.get(
23097                'allow_deprecated_key_exchanges'),
23098            bind_interface=d.get('bind_interface'),
23099            egress_filter=d.get('egress_filter'),
23100            healthy=d.get('healthy'),
23101            hostname=d.get('hostname'),
23102            id=d.get('id'),
23103            name=d.get('name'),
23104            password=d.get('password'),
23105            port=d.get('port'),
23106            port_forwarding=d.get('port_forwarding'),
23107            port_override=d.get('port_override'),
23108            proxy_cluster_id=d.get('proxy_cluster_id'),
23109            secret_store_id=d.get('secret_store_id'),
23110            subdomain=d.get('subdomain'),
23111            tags=d.get('tags'),
23112            username=d.get('username'),
23113        )
23114
23115
23116class SecretStoreCreateResponse:
23117    '''
23118         SecretStoreCreateResponse reports how the SecretStores were created in the system.
23119    '''
23120    __slots__ = [
23121        'meta',
23122        'rate_limit',
23123        'secret_store',
23124    ]
23125
23126    def __init__(
23127        self,
23128        meta=None,
23129        rate_limit=None,
23130        secret_store=None,
23131    ):
23132        self.meta = meta if meta is not None else None
23133        '''
23134         Reserved for future use.
23135        '''
23136        self.rate_limit = rate_limit if rate_limit is not None else None
23137        '''
23138         Rate limit information.
23139        '''
23140        self.secret_store = secret_store if secret_store is not None else None
23141        '''
23142         The created SecretStore.
23143        '''
23144
23145    def __repr__(self):
23146        return '<sdm.SecretStoreCreateResponse ' + \
23147            'meta: ' + repr(self.meta) + ' ' +\
23148            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23149            'secret_store: ' + repr(self.secret_store) + ' ' +\
23150            '>'
23151
23152    def to_dict(self):
23153        return {
23154            'meta': self.meta,
23155            'rate_limit': self.rate_limit,
23156            'secret_store': self.secret_store,
23157        }
23158
23159    @classmethod
23160    def from_dict(cls, d):
23161        return cls(
23162            meta=d.get('meta'),
23163            rate_limit=d.get('rate_limit'),
23164            secret_store=d.get('secret_store'),
23165        )
23166
23167
23168class SecretStoreDeleteResponse:
23169    '''
23170         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
23171    '''
23172    __slots__ = [
23173        'meta',
23174        'rate_limit',
23175    ]
23176
23177    def __init__(
23178        self,
23179        meta=None,
23180        rate_limit=None,
23181    ):
23182        self.meta = meta if meta is not None else None
23183        '''
23184         Reserved for future use.
23185        '''
23186        self.rate_limit = rate_limit if rate_limit is not None else None
23187        '''
23188         Rate limit information.
23189        '''
23190
23191    def __repr__(self):
23192        return '<sdm.SecretStoreDeleteResponse ' + \
23193            'meta: ' + repr(self.meta) + ' ' +\
23194            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23195            '>'
23196
23197    def to_dict(self):
23198        return {
23199            'meta': self.meta,
23200            'rate_limit': self.rate_limit,
23201        }
23202
23203    @classmethod
23204    def from_dict(cls, d):
23205        return cls(
23206            meta=d.get('meta'),
23207            rate_limit=d.get('rate_limit'),
23208        )
23209
23210
23211class SecretStoreGetResponse:
23212    '''
23213         SecretStoreGetResponse returns a requested SecretStore.
23214    '''
23215    __slots__ = [
23216        'meta',
23217        'rate_limit',
23218        'secret_store',
23219    ]
23220
23221    def __init__(
23222        self,
23223        meta=None,
23224        rate_limit=None,
23225        secret_store=None,
23226    ):
23227        self.meta = meta if meta is not None else None
23228        '''
23229         Reserved for future use.
23230        '''
23231        self.rate_limit = rate_limit if rate_limit is not None else None
23232        '''
23233         Rate limit information.
23234        '''
23235        self.secret_store = secret_store if secret_store is not None else None
23236        '''
23237         The requested SecretStore.
23238        '''
23239
23240    def __repr__(self):
23241        return '<sdm.SecretStoreGetResponse ' + \
23242            'meta: ' + repr(self.meta) + ' ' +\
23243            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23244            'secret_store: ' + repr(self.secret_store) + ' ' +\
23245            '>'
23246
23247    def to_dict(self):
23248        return {
23249            'meta': self.meta,
23250            'rate_limit': self.rate_limit,
23251            'secret_store': self.secret_store,
23252        }
23253
23254    @classmethod
23255    def from_dict(cls, d):
23256        return cls(
23257            meta=d.get('meta'),
23258            rate_limit=d.get('rate_limit'),
23259            secret_store=d.get('secret_store'),
23260        )
23261
23262
23263class SecretStoreHealth:
23264    '''
23265         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
23266     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
23267     or set of nodes.
23268    '''
23269    __slots__ = [
23270        'changed_at',
23271        'checked_at',
23272        'error',
23273        'flags',
23274        'node_id',
23275        'reachability',
23276        'secret_store_id',
23277        'status',
23278    ]
23279
23280    def __init__(
23281        self,
23282        changed_at=None,
23283        checked_at=None,
23284        error=None,
23285        flags=None,
23286        node_id=None,
23287        reachability=None,
23288        secret_store_id=None,
23289        status=None,
23290    ):
23291        self.changed_at = changed_at if changed_at is not None else None
23292        '''
23293         The time when the status last changed
23294        '''
23295        self.checked_at = checked_at if checked_at is not None else None
23296        '''
23297         The time when the status was last checked by the node
23298        '''
23299        self.error = error if error is not None else ''
23300        '''
23301         The error associated with this health check, if it occurred after reachability checks succeeded.
23302        '''
23303        self.flags = flags if flags is not None else []
23304        '''
23305         Any specific status or error flags associated with this health check.
23306        '''
23307        self.node_id = node_id if node_id is not None else ''
23308        '''
23309         Associated node id for this health
23310        '''
23311        self.reachability = reachability if reachability is not None else ''
23312        '''
23313         The error associated with this health check, if it occurred during reachability checks.
23314        '''
23315        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23316        '''
23317         Associated secret store for this health
23318        '''
23319        self.status = status if status is not None else ''
23320        '''
23321         The status of the link between the node and secret store
23322        '''
23323
23324    def __repr__(self):
23325        return '<sdm.SecretStoreHealth ' + \
23326            'changed_at: ' + repr(self.changed_at) + ' ' +\
23327            'checked_at: ' + repr(self.checked_at) + ' ' +\
23328            'error: ' + repr(self.error) + ' ' +\
23329            'flags: ' + repr(self.flags) + ' ' +\
23330            'node_id: ' + repr(self.node_id) + ' ' +\
23331            'reachability: ' + repr(self.reachability) + ' ' +\
23332            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23333            'status: ' + repr(self.status) + ' ' +\
23334            '>'
23335
23336    def to_dict(self):
23337        return {
23338            'changed_at': self.changed_at,
23339            'checked_at': self.checked_at,
23340            'error': self.error,
23341            'flags': self.flags,
23342            'node_id': self.node_id,
23343            'reachability': self.reachability,
23344            'secret_store_id': self.secret_store_id,
23345            'status': self.status,
23346        }
23347
23348    @classmethod
23349    def from_dict(cls, d):
23350        return cls(
23351            changed_at=d.get('changed_at'),
23352            checked_at=d.get('checked_at'),
23353            error=d.get('error'),
23354            flags=d.get('flags'),
23355            node_id=d.get('node_id'),
23356            reachability=d.get('reachability'),
23357            secret_store_id=d.get('secret_store_id'),
23358            status=d.get('status'),
23359        )
23360
23361
23362class SecretStoreHealthListResponse:
23363    __slots__ = [
23364        'rate_limit',
23365    ]
23366
23367    def __init__(
23368        self,
23369        rate_limit=None,
23370    ):
23371        self.rate_limit = rate_limit if rate_limit is not None else None
23372        '''
23373         Rate limit information.
23374        '''
23375
23376    def __repr__(self):
23377        return '<sdm.SecretStoreHealthListResponse ' + \
23378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23379            '>'
23380
23381    def to_dict(self):
23382        return {
23383            'rate_limit': self.rate_limit,
23384        }
23385
23386    @classmethod
23387    def from_dict(cls, d):
23388        return cls(rate_limit=d.get('rate_limit'), )
23389
23390
23391class SecretStoreHealthcheckResponse:
23392    __slots__ = [
23393        'rate_limit',
23394    ]
23395
23396    def __init__(
23397        self,
23398        rate_limit=None,
23399    ):
23400        self.rate_limit = rate_limit if rate_limit is not None else None
23401        '''
23402         Rate limit information.
23403        '''
23404
23405    def __repr__(self):
23406        return '<sdm.SecretStoreHealthcheckResponse ' + \
23407            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23408            '>'
23409
23410    def to_dict(self):
23411        return {
23412            'rate_limit': self.rate_limit,
23413        }
23414
23415    @classmethod
23416    def from_dict(cls, d):
23417        return cls(rate_limit=d.get('rate_limit'), )
23418
23419
23420class SecretStoreHistory:
23421    '''
23422         SecretStoreHistory records the state of a SecretStore at a given point in time,
23423     where every change (create, update and delete) to a SecretStore produces an
23424     SecretStoreHistory record.
23425    '''
23426    __slots__ = [
23427        'activity_id',
23428        'deleted_at',
23429        'secret_store',
23430        'timestamp',
23431    ]
23432
23433    def __init__(
23434        self,
23435        activity_id=None,
23436        deleted_at=None,
23437        secret_store=None,
23438        timestamp=None,
23439    ):
23440        self.activity_id = activity_id if activity_id is not None else ''
23441        '''
23442         The unique identifier of the Activity that produced this change to the SecretStore.
23443         May be empty for some system-initiated updates.
23444        '''
23445        self.deleted_at = deleted_at if deleted_at is not None else None
23446        '''
23447         If this SecretStore was deleted, the time it was deleted.
23448        '''
23449        self.secret_store = secret_store if secret_store is not None else None
23450        '''
23451         The complete SecretStore state at this time.
23452        '''
23453        self.timestamp = timestamp if timestamp is not None else None
23454        '''
23455         The time at which the SecretStore state was recorded.
23456        '''
23457
23458    def __repr__(self):
23459        return '<sdm.SecretStoreHistory ' + \
23460            'activity_id: ' + repr(self.activity_id) + ' ' +\
23461            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23462            'secret_store: ' + repr(self.secret_store) + ' ' +\
23463            'timestamp: ' + repr(self.timestamp) + ' ' +\
23464            '>'
23465
23466    def to_dict(self):
23467        return {
23468            'activity_id': self.activity_id,
23469            'deleted_at': self.deleted_at,
23470            'secret_store': self.secret_store,
23471            'timestamp': self.timestamp,
23472        }
23473
23474    @classmethod
23475    def from_dict(cls, d):
23476        return cls(
23477            activity_id=d.get('activity_id'),
23478            deleted_at=d.get('deleted_at'),
23479            secret_store=d.get('secret_store'),
23480            timestamp=d.get('timestamp'),
23481        )
23482
23483
23484class SecretStoreUpdateResponse:
23485    '''
23486         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
23487     a SecretStoreUpdateRequest.
23488    '''
23489    __slots__ = [
23490        'meta',
23491        'rate_limit',
23492        'secret_store',
23493    ]
23494
23495    def __init__(
23496        self,
23497        meta=None,
23498        rate_limit=None,
23499        secret_store=None,
23500    ):
23501        self.meta = meta if meta is not None else None
23502        '''
23503         Reserved for future use.
23504        '''
23505        self.rate_limit = rate_limit if rate_limit is not None else None
23506        '''
23507         Rate limit information.
23508        '''
23509        self.secret_store = secret_store if secret_store is not None else None
23510        '''
23511         The updated SecretStore.
23512        '''
23513
23514    def __repr__(self):
23515        return '<sdm.SecretStoreUpdateResponse ' + \
23516            'meta: ' + repr(self.meta) + ' ' +\
23517            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23518            'secret_store: ' + repr(self.secret_store) + ' ' +\
23519            '>'
23520
23521    def to_dict(self):
23522        return {
23523            'meta': self.meta,
23524            'rate_limit': self.rate_limit,
23525            'secret_store': self.secret_store,
23526        }
23527
23528    @classmethod
23529    def from_dict(cls, d):
23530        return cls(
23531            meta=d.get('meta'),
23532            rate_limit=d.get('rate_limit'),
23533            secret_store=d.get('secret_store'),
23534        )
23535
23536
23537class Service:
23538    '''
23539         A Service is a service account that can connect to resources they are granted
23540     directly, or granted via roles. Services are typically automated jobs.
23541    '''
23542    __slots__ = [
23543        'id',
23544        'name',
23545        'suspended',
23546        'tags',
23547    ]
23548
23549    def __init__(
23550        self,
23551        id=None,
23552        name=None,
23553        suspended=None,
23554        tags=None,
23555    ):
23556        self.id = id if id is not None else ''
23557        '''
23558         Unique identifier of the Service.
23559        '''
23560        self.name = name if name is not None else ''
23561        '''
23562         Unique human-readable name of the Service.
23563        '''
23564        self.suspended = suspended if suspended is not None else False
23565        '''
23566         The Service's suspended state.
23567        '''
23568        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23569        '''
23570         Tags is a map of key, value pairs.
23571        '''
23572
23573    def __repr__(self):
23574        return '<sdm.Service ' + \
23575            'id: ' + repr(self.id) + ' ' +\
23576            'name: ' + repr(self.name) + ' ' +\
23577            'suspended: ' + repr(self.suspended) + ' ' +\
23578            'tags: ' + repr(self.tags) + ' ' +\
23579            '>'
23580
23581    def to_dict(self):
23582        return {
23583            'id': self.id,
23584            'name': self.name,
23585            'suspended': self.suspended,
23586            'tags': self.tags,
23587        }
23588
23589    @classmethod
23590    def from_dict(cls, d):
23591        return cls(
23592            id=d.get('id'),
23593            name=d.get('name'),
23594            suspended=d.get('suspended'),
23595            tags=d.get('tags'),
23596        )
23597
23598
23599class SingleStore:
23600    __slots__ = [
23601        'bind_interface',
23602        'database',
23603        'egress_filter',
23604        'healthy',
23605        'hostname',
23606        'id',
23607        'name',
23608        'password',
23609        'port',
23610        'port_override',
23611        'proxy_cluster_id',
23612        'require_native_auth',
23613        'secret_store_id',
23614        'subdomain',
23615        'tags',
23616        'use_azure_single_server_usernames',
23617        'username',
23618    ]
23619
23620    def __init__(
23621        self,
23622        bind_interface=None,
23623        database=None,
23624        egress_filter=None,
23625        healthy=None,
23626        hostname=None,
23627        id=None,
23628        name=None,
23629        password=None,
23630        port=None,
23631        port_override=None,
23632        proxy_cluster_id=None,
23633        require_native_auth=None,
23634        secret_store_id=None,
23635        subdomain=None,
23636        tags=None,
23637        use_azure_single_server_usernames=None,
23638        username=None,
23639    ):
23640        self.bind_interface = bind_interface if bind_interface is not None else ''
23641        '''
23642         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23643        '''
23644        self.database = database if database is not None else ''
23645        '''
23646         The database for healthchecks. Does not affect client requests.
23647        '''
23648        self.egress_filter = egress_filter if egress_filter is not None else ''
23649        '''
23650         A filter applied to the routing logic to pin datasource to nodes.
23651        '''
23652        self.healthy = healthy if healthy is not None else False
23653        '''
23654         True if the datasource is reachable and the credentials are valid.
23655        '''
23656        self.hostname = hostname if hostname is not None else ''
23657        '''
23658         The host to dial to initiate a connection from the egress node to this resource.
23659        '''
23660        self.id = id if id is not None else ''
23661        '''
23662         Unique identifier of the Resource.
23663        '''
23664        self.name = name if name is not None else ''
23665        '''
23666         Unique human-readable name of the Resource.
23667        '''
23668        self.password = password if password is not None else ''
23669        '''
23670         The password to authenticate with.
23671        '''
23672        self.port = port if port is not None else 0
23673        '''
23674         The port to dial to initiate a connection from the egress node to this resource.
23675        '''
23676        self.port_override = port_override if port_override is not None else 0
23677        '''
23678         The local port used by clients to connect to this resource.
23679        '''
23680        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23681        '''
23682         ID of the proxy cluster for this resource, if any.
23683        '''
23684        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23685        '''
23686         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23687        '''
23688        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23689        '''
23690         ID of the secret store containing credentials for this resource, if any.
23691        '''
23692        self.subdomain = subdomain if subdomain is not None else ''
23693        '''
23694         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23695        '''
23696        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23697        '''
23698         Tags is a map of key, value pairs.
23699        '''
23700        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23701        '''
23702         If true, appends the hostname to the username when hitting a database.azure.com address
23703        '''
23704        self.username = username if username is not None else ''
23705        '''
23706         The username to authenticate with.
23707        '''
23708
23709    def __repr__(self):
23710        return '<sdm.SingleStore ' + \
23711            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23712            'database: ' + repr(self.database) + ' ' +\
23713            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23714            'healthy: ' + repr(self.healthy) + ' ' +\
23715            'hostname: ' + repr(self.hostname) + ' ' +\
23716            'id: ' + repr(self.id) + ' ' +\
23717            'name: ' + repr(self.name) + ' ' +\
23718            'password: ' + repr(self.password) + ' ' +\
23719            'port: ' + repr(self.port) + ' ' +\
23720            'port_override: ' + repr(self.port_override) + ' ' +\
23721            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23722            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
23723            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23724            'subdomain: ' + repr(self.subdomain) + ' ' +\
23725            'tags: ' + repr(self.tags) + ' ' +\
23726            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
23727            'username: ' + repr(self.username) + ' ' +\
23728            '>'
23729
23730    def to_dict(self):
23731        return {
23732            'bind_interface': self.bind_interface,
23733            'database': self.database,
23734            'egress_filter': self.egress_filter,
23735            'healthy': self.healthy,
23736            'hostname': self.hostname,
23737            'id': self.id,
23738            'name': self.name,
23739            'password': self.password,
23740            'port': self.port,
23741            'port_override': self.port_override,
23742            'proxy_cluster_id': self.proxy_cluster_id,
23743            'require_native_auth': self.require_native_auth,
23744            'secret_store_id': self.secret_store_id,
23745            'subdomain': self.subdomain,
23746            'tags': self.tags,
23747            'use_azure_single_server_usernames':
23748            self.use_azure_single_server_usernames,
23749            'username': self.username,
23750        }
23751
23752    @classmethod
23753    def from_dict(cls, d):
23754        return cls(
23755            bind_interface=d.get('bind_interface'),
23756            database=d.get('database'),
23757            egress_filter=d.get('egress_filter'),
23758            healthy=d.get('healthy'),
23759            hostname=d.get('hostname'),
23760            id=d.get('id'),
23761            name=d.get('name'),
23762            password=d.get('password'),
23763            port=d.get('port'),
23764            port_override=d.get('port_override'),
23765            proxy_cluster_id=d.get('proxy_cluster_id'),
23766            require_native_auth=d.get('require_native_auth'),
23767            secret_store_id=d.get('secret_store_id'),
23768            subdomain=d.get('subdomain'),
23769            tags=d.get('tags'),
23770            use_azure_single_server_usernames=d.get(
23771                'use_azure_single_server_usernames'),
23772            username=d.get('username'),
23773        )
23774
23775
23776class Snowflake:
23777    __slots__ = [
23778        'bind_interface',
23779        'database',
23780        'egress_filter',
23781        'healthy',
23782        'hostname',
23783        'id',
23784        'name',
23785        'password',
23786        'port_override',
23787        'proxy_cluster_id',
23788        'schema',
23789        'secret_store_id',
23790        'subdomain',
23791        'tags',
23792        'username',
23793    ]
23794
23795    def __init__(
23796        self,
23797        bind_interface=None,
23798        database=None,
23799        egress_filter=None,
23800        healthy=None,
23801        hostname=None,
23802        id=None,
23803        name=None,
23804        password=None,
23805        port_override=None,
23806        proxy_cluster_id=None,
23807        schema=None,
23808        secret_store_id=None,
23809        subdomain=None,
23810        tags=None,
23811        username=None,
23812    ):
23813        self.bind_interface = bind_interface if bind_interface is not None else ''
23814        '''
23815         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23816        '''
23817        self.database = database if database is not None else ''
23818        '''
23819         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23820        '''
23821        self.egress_filter = egress_filter if egress_filter is not None else ''
23822        '''
23823         A filter applied to the routing logic to pin datasource to nodes.
23824        '''
23825        self.healthy = healthy if healthy is not None else False
23826        '''
23827         True if the datasource is reachable and the credentials are valid.
23828        '''
23829        self.hostname = hostname if hostname is not None else ''
23830        '''
23831         The host to dial to initiate a connection from the egress node to this resource.
23832        '''
23833        self.id = id if id is not None else ''
23834        '''
23835         Unique identifier of the Resource.
23836        '''
23837        self.name = name if name is not None else ''
23838        '''
23839         Unique human-readable name of the Resource.
23840        '''
23841        self.password = password if password is not None else ''
23842        '''
23843         The password to authenticate with.
23844        '''
23845        self.port_override = port_override if port_override is not None else 0
23846        '''
23847         The local port used by clients to connect to this resource.
23848        '''
23849        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23850        '''
23851         ID of the proxy cluster for this resource, if any.
23852        '''
23853        self.schema = schema if schema is not None else ''
23854        '''
23855         The schema to provide on authentication.
23856        '''
23857        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23858        '''
23859         ID of the secret store containing credentials for this resource, if any.
23860        '''
23861        self.subdomain = subdomain if subdomain is not None else ''
23862        '''
23863         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23864        '''
23865        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23866        '''
23867         Tags is a map of key, value pairs.
23868        '''
23869        self.username = username if username is not None else ''
23870        '''
23871         The username to authenticate with.
23872        '''
23873
23874    def __repr__(self):
23875        return '<sdm.Snowflake ' + \
23876            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23877            'database: ' + repr(self.database) + ' ' +\
23878            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23879            'healthy: ' + repr(self.healthy) + ' ' +\
23880            'hostname: ' + repr(self.hostname) + ' ' +\
23881            'id: ' + repr(self.id) + ' ' +\
23882            'name: ' + repr(self.name) + ' ' +\
23883            'password: ' + repr(self.password) + ' ' +\
23884            'port_override: ' + repr(self.port_override) + ' ' +\
23885            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23886            'schema: ' + repr(self.schema) + ' ' +\
23887            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23888            'subdomain: ' + repr(self.subdomain) + ' ' +\
23889            'tags: ' + repr(self.tags) + ' ' +\
23890            'username: ' + repr(self.username) + ' ' +\
23891            '>'
23892
23893    def to_dict(self):
23894        return {
23895            'bind_interface': self.bind_interface,
23896            'database': self.database,
23897            'egress_filter': self.egress_filter,
23898            'healthy': self.healthy,
23899            'hostname': self.hostname,
23900            'id': self.id,
23901            'name': self.name,
23902            'password': self.password,
23903            'port_override': self.port_override,
23904            'proxy_cluster_id': self.proxy_cluster_id,
23905            'schema': self.schema,
23906            'secret_store_id': self.secret_store_id,
23907            'subdomain': self.subdomain,
23908            'tags': self.tags,
23909            'username': self.username,
23910        }
23911
23912    @classmethod
23913    def from_dict(cls, d):
23914        return cls(
23915            bind_interface=d.get('bind_interface'),
23916            database=d.get('database'),
23917            egress_filter=d.get('egress_filter'),
23918            healthy=d.get('healthy'),
23919            hostname=d.get('hostname'),
23920            id=d.get('id'),
23921            name=d.get('name'),
23922            password=d.get('password'),
23923            port_override=d.get('port_override'),
23924            proxy_cluster_id=d.get('proxy_cluster_id'),
23925            schema=d.get('schema'),
23926            secret_store_id=d.get('secret_store_id'),
23927            subdomain=d.get('subdomain'),
23928            tags=d.get('tags'),
23929            username=d.get('username'),
23930        )
23931
23932
23933class Snowsight:
23934    __slots__ = [
23935        'bind_interface',
23936        'egress_filter',
23937        'healthcheck_username',
23938        'healthy',
23939        'id',
23940        'name',
23941        'port_override',
23942        'proxy_cluster_id',
23943        'samlmetadata',
23944        'secret_store_id',
23945        'subdomain',
23946        'tags',
23947    ]
23948
23949    def __init__(
23950        self,
23951        bind_interface=None,
23952        egress_filter=None,
23953        healthcheck_username=None,
23954        healthy=None,
23955        id=None,
23956        name=None,
23957        port_override=None,
23958        proxy_cluster_id=None,
23959        samlmetadata=None,
23960        secret_store_id=None,
23961        subdomain=None,
23962        tags=None,
23963    ):
23964        self.bind_interface = bind_interface if bind_interface is not None else ''
23965        '''
23966         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23967        '''
23968        self.egress_filter = egress_filter if egress_filter is not None else ''
23969        '''
23970         A filter applied to the routing logic to pin datasource to nodes.
23971        '''
23972        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
23973        '''
23974         The StrongDM user email to use for healthchecks.
23975        '''
23976        self.healthy = healthy if healthy is not None else False
23977        '''
23978         True if the datasource is reachable and the credentials are valid.
23979        '''
23980        self.id = id if id is not None else ''
23981        '''
23982         Unique identifier of the Resource.
23983        '''
23984        self.name = name if name is not None else ''
23985        '''
23986         Unique human-readable name of the Resource.
23987        '''
23988        self.port_override = port_override if port_override is not None else 0
23989        '''
23990         The local port used by clients to connect to this resource.
23991        '''
23992        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23993        '''
23994         ID of the proxy cluster for this resource, if any.
23995        '''
23996        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
23997        '''
23998         The Metadata for your snowflake IDP integration
23999        '''
24000        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24001        '''
24002         ID of the secret store containing credentials for this resource, if any.
24003        '''
24004        self.subdomain = subdomain if subdomain is not None else ''
24005        '''
24006         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24007        '''
24008        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24009        '''
24010         Tags is a map of key, value pairs.
24011        '''
24012
24013    def __repr__(self):
24014        return '<sdm.Snowsight ' + \
24015            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24016            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24017            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
24018            'healthy: ' + repr(self.healthy) + ' ' +\
24019            'id: ' + repr(self.id) + ' ' +\
24020            'name: ' + repr(self.name) + ' ' +\
24021            'port_override: ' + repr(self.port_override) + ' ' +\
24022            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24023            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
24024            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24025            'subdomain: ' + repr(self.subdomain) + ' ' +\
24026            'tags: ' + repr(self.tags) + ' ' +\
24027            '>'
24028
24029    def to_dict(self):
24030        return {
24031            'bind_interface': self.bind_interface,
24032            'egress_filter': self.egress_filter,
24033            'healthcheck_username': self.healthcheck_username,
24034            'healthy': self.healthy,
24035            'id': self.id,
24036            'name': self.name,
24037            'port_override': self.port_override,
24038            'proxy_cluster_id': self.proxy_cluster_id,
24039            'samlmetadata': self.samlmetadata,
24040            'secret_store_id': self.secret_store_id,
24041            'subdomain': self.subdomain,
24042            'tags': self.tags,
24043        }
24044
24045    @classmethod
24046    def from_dict(cls, d):
24047        return cls(
24048            bind_interface=d.get('bind_interface'),
24049            egress_filter=d.get('egress_filter'),
24050            healthcheck_username=d.get('healthcheck_username'),
24051            healthy=d.get('healthy'),
24052            id=d.get('id'),
24053            name=d.get('name'),
24054            port_override=d.get('port_override'),
24055            proxy_cluster_id=d.get('proxy_cluster_id'),
24056            samlmetadata=d.get('samlmetadata'),
24057            secret_store_id=d.get('secret_store_id'),
24058            subdomain=d.get('subdomain'),
24059            tags=d.get('tags'),
24060        )
24061
24062
24063class Sybase:
24064    __slots__ = [
24065        'bind_interface',
24066        'egress_filter',
24067        'healthy',
24068        'hostname',
24069        'id',
24070        'name',
24071        'password',
24072        'port',
24073        'port_override',
24074        'proxy_cluster_id',
24075        'secret_store_id',
24076        'subdomain',
24077        'tags',
24078        'username',
24079    ]
24080
24081    def __init__(
24082        self,
24083        bind_interface=None,
24084        egress_filter=None,
24085        healthy=None,
24086        hostname=None,
24087        id=None,
24088        name=None,
24089        password=None,
24090        port=None,
24091        port_override=None,
24092        proxy_cluster_id=None,
24093        secret_store_id=None,
24094        subdomain=None,
24095        tags=None,
24096        username=None,
24097    ):
24098        self.bind_interface = bind_interface if bind_interface is not None else ''
24099        '''
24100         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24101        '''
24102        self.egress_filter = egress_filter if egress_filter is not None else ''
24103        '''
24104         A filter applied to the routing logic to pin datasource to nodes.
24105        '''
24106        self.healthy = healthy if healthy is not None else False
24107        '''
24108         True if the datasource is reachable and the credentials are valid.
24109        '''
24110        self.hostname = hostname if hostname is not None else ''
24111        '''
24112         The host to dial to initiate a connection from the egress node to this resource.
24113        '''
24114        self.id = id if id is not None else ''
24115        '''
24116         Unique identifier of the Resource.
24117        '''
24118        self.name = name if name is not None else ''
24119        '''
24120         Unique human-readable name of the Resource.
24121        '''
24122        self.password = password if password is not None else ''
24123        '''
24124         The password to authenticate with.
24125        '''
24126        self.port = port if port is not None else 0
24127        '''
24128         The port to dial to initiate a connection from the egress node to this resource.
24129        '''
24130        self.port_override = port_override if port_override is not None else 0
24131        '''
24132         The local port used by clients to connect to this resource.
24133        '''
24134        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24135        '''
24136         ID of the proxy cluster for this resource, if any.
24137        '''
24138        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24139        '''
24140         ID of the secret store containing credentials for this resource, if any.
24141        '''
24142        self.subdomain = subdomain if subdomain is not None else ''
24143        '''
24144         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24145        '''
24146        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24147        '''
24148         Tags is a map of key, value pairs.
24149        '''
24150        self.username = username if username is not None else ''
24151        '''
24152         The username to authenticate with.
24153        '''
24154
24155    def __repr__(self):
24156        return '<sdm.Sybase ' + \
24157            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24158            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24159            'healthy: ' + repr(self.healthy) + ' ' +\
24160            'hostname: ' + repr(self.hostname) + ' ' +\
24161            'id: ' + repr(self.id) + ' ' +\
24162            'name: ' + repr(self.name) + ' ' +\
24163            'password: ' + repr(self.password) + ' ' +\
24164            'port: ' + repr(self.port) + ' ' +\
24165            'port_override: ' + repr(self.port_override) + ' ' +\
24166            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24167            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24168            'subdomain: ' + repr(self.subdomain) + ' ' +\
24169            'tags: ' + repr(self.tags) + ' ' +\
24170            'username: ' + repr(self.username) + ' ' +\
24171            '>'
24172
24173    def to_dict(self):
24174        return {
24175            'bind_interface': self.bind_interface,
24176            'egress_filter': self.egress_filter,
24177            'healthy': self.healthy,
24178            'hostname': self.hostname,
24179            'id': self.id,
24180            'name': self.name,
24181            'password': self.password,
24182            'port': self.port,
24183            'port_override': self.port_override,
24184            'proxy_cluster_id': self.proxy_cluster_id,
24185            'secret_store_id': self.secret_store_id,
24186            'subdomain': self.subdomain,
24187            'tags': self.tags,
24188            'username': self.username,
24189        }
24190
24191    @classmethod
24192    def from_dict(cls, d):
24193        return cls(
24194            bind_interface=d.get('bind_interface'),
24195            egress_filter=d.get('egress_filter'),
24196            healthy=d.get('healthy'),
24197            hostname=d.get('hostname'),
24198            id=d.get('id'),
24199            name=d.get('name'),
24200            password=d.get('password'),
24201            port=d.get('port'),
24202            port_override=d.get('port_override'),
24203            proxy_cluster_id=d.get('proxy_cluster_id'),
24204            secret_store_id=d.get('secret_store_id'),
24205            subdomain=d.get('subdomain'),
24206            tags=d.get('tags'),
24207            username=d.get('username'),
24208        )
24209
24210
24211class SybaseIQ:
24212    __slots__ = [
24213        'bind_interface',
24214        'egress_filter',
24215        'healthy',
24216        'hostname',
24217        'id',
24218        'name',
24219        'password',
24220        'port',
24221        'port_override',
24222        'proxy_cluster_id',
24223        'secret_store_id',
24224        'subdomain',
24225        'tags',
24226        'username',
24227    ]
24228
24229    def __init__(
24230        self,
24231        bind_interface=None,
24232        egress_filter=None,
24233        healthy=None,
24234        hostname=None,
24235        id=None,
24236        name=None,
24237        password=None,
24238        port=None,
24239        port_override=None,
24240        proxy_cluster_id=None,
24241        secret_store_id=None,
24242        subdomain=None,
24243        tags=None,
24244        username=None,
24245    ):
24246        self.bind_interface = bind_interface if bind_interface is not None else ''
24247        '''
24248         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24249        '''
24250        self.egress_filter = egress_filter if egress_filter is not None else ''
24251        '''
24252         A filter applied to the routing logic to pin datasource to nodes.
24253        '''
24254        self.healthy = healthy if healthy is not None else False
24255        '''
24256         True if the datasource is reachable and the credentials are valid.
24257        '''
24258        self.hostname = hostname if hostname is not None else ''
24259        '''
24260         The host to dial to initiate a connection from the egress node to this resource.
24261        '''
24262        self.id = id if id is not None else ''
24263        '''
24264         Unique identifier of the Resource.
24265        '''
24266        self.name = name if name is not None else ''
24267        '''
24268         Unique human-readable name of the Resource.
24269        '''
24270        self.password = password if password is not None else ''
24271        '''
24272         The password to authenticate with.
24273        '''
24274        self.port = port if port is not None else 0
24275        '''
24276         The port to dial to initiate a connection from the egress node to this resource.
24277        '''
24278        self.port_override = port_override if port_override is not None else 0
24279        '''
24280         The local port used by clients to connect to this resource.
24281        '''
24282        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24283        '''
24284         ID of the proxy cluster for this resource, if any.
24285        '''
24286        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24287        '''
24288         ID of the secret store containing credentials for this resource, if any.
24289        '''
24290        self.subdomain = subdomain if subdomain is not None else ''
24291        '''
24292         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24293        '''
24294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24295        '''
24296         Tags is a map of key, value pairs.
24297        '''
24298        self.username = username if username is not None else ''
24299        '''
24300         The username to authenticate with.
24301        '''
24302
24303    def __repr__(self):
24304        return '<sdm.SybaseIQ ' + \
24305            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24306            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24307            'healthy: ' + repr(self.healthy) + ' ' +\
24308            'hostname: ' + repr(self.hostname) + ' ' +\
24309            'id: ' + repr(self.id) + ' ' +\
24310            'name: ' + repr(self.name) + ' ' +\
24311            'password: ' + repr(self.password) + ' ' +\
24312            'port: ' + repr(self.port) + ' ' +\
24313            'port_override: ' + repr(self.port_override) + ' ' +\
24314            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24315            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24316            'subdomain: ' + repr(self.subdomain) + ' ' +\
24317            'tags: ' + repr(self.tags) + ' ' +\
24318            'username: ' + repr(self.username) + ' ' +\
24319            '>'
24320
24321    def to_dict(self):
24322        return {
24323            'bind_interface': self.bind_interface,
24324            'egress_filter': self.egress_filter,
24325            'healthy': self.healthy,
24326            'hostname': self.hostname,
24327            'id': self.id,
24328            'name': self.name,
24329            'password': self.password,
24330            'port': self.port,
24331            'port_override': self.port_override,
24332            'proxy_cluster_id': self.proxy_cluster_id,
24333            'secret_store_id': self.secret_store_id,
24334            'subdomain': self.subdomain,
24335            'tags': self.tags,
24336            'username': self.username,
24337        }
24338
24339    @classmethod
24340    def from_dict(cls, d):
24341        return cls(
24342            bind_interface=d.get('bind_interface'),
24343            egress_filter=d.get('egress_filter'),
24344            healthy=d.get('healthy'),
24345            hostname=d.get('hostname'),
24346            id=d.get('id'),
24347            name=d.get('name'),
24348            password=d.get('password'),
24349            port=d.get('port'),
24350            port_override=d.get('port_override'),
24351            proxy_cluster_id=d.get('proxy_cluster_id'),
24352            secret_store_id=d.get('secret_store_id'),
24353            subdomain=d.get('subdomain'),
24354            tags=d.get('tags'),
24355            username=d.get('username'),
24356        )
24357
24358
24359class Tag:
24360    __slots__ = [
24361        'name',
24362        'value',
24363    ]
24364
24365    def __init__(
24366        self,
24367        name=None,
24368        value=None,
24369    ):
24370        self.name = name if name is not None else ''
24371        '''
24372         The name or key of this tag. Each name can only refer to one value on a tagged entity.
24373        '''
24374        self.value = value if value is not None else ''
24375        '''
24376         The value of this tag.
24377        '''
24378
24379    def __repr__(self):
24380        return '<sdm.Tag ' + \
24381            'name: ' + repr(self.name) + ' ' +\
24382            'value: ' + repr(self.value) + ' ' +\
24383            '>'
24384
24385    def to_dict(self):
24386        return {
24387            'name': self.name,
24388            'value': self.value,
24389        }
24390
24391    @classmethod
24392    def from_dict(cls, d):
24393        return cls(
24394            name=d.get('name'),
24395            value=d.get('value'),
24396        )
24397
24398
24399class Teradata:
24400    __slots__ = [
24401        'bind_interface',
24402        'egress_filter',
24403        'healthy',
24404        'hostname',
24405        'id',
24406        'name',
24407        'password',
24408        'port',
24409        'port_override',
24410        'proxy_cluster_id',
24411        'secret_store_id',
24412        'subdomain',
24413        'tags',
24414        'username',
24415    ]
24416
24417    def __init__(
24418        self,
24419        bind_interface=None,
24420        egress_filter=None,
24421        healthy=None,
24422        hostname=None,
24423        id=None,
24424        name=None,
24425        password=None,
24426        port=None,
24427        port_override=None,
24428        proxy_cluster_id=None,
24429        secret_store_id=None,
24430        subdomain=None,
24431        tags=None,
24432        username=None,
24433    ):
24434        self.bind_interface = bind_interface if bind_interface is not None else ''
24435        '''
24436         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24437        '''
24438        self.egress_filter = egress_filter if egress_filter is not None else ''
24439        '''
24440         A filter applied to the routing logic to pin datasource to nodes.
24441        '''
24442        self.healthy = healthy if healthy is not None else False
24443        '''
24444         True if the datasource is reachable and the credentials are valid.
24445        '''
24446        self.hostname = hostname if hostname is not None else ''
24447        '''
24448         The host to dial to initiate a connection from the egress node to this resource.
24449        '''
24450        self.id = id if id is not None else ''
24451        '''
24452         Unique identifier of the Resource.
24453        '''
24454        self.name = name if name is not None else ''
24455        '''
24456         Unique human-readable name of the Resource.
24457        '''
24458        self.password = password if password is not None else ''
24459        '''
24460         The password to authenticate with.
24461        '''
24462        self.port = port if port is not None else 0
24463        '''
24464         The port to dial to initiate a connection from the egress node to this resource.
24465        '''
24466        self.port_override = port_override if port_override is not None else 0
24467        '''
24468         The local port used by clients to connect to this resource.
24469        '''
24470        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24471        '''
24472         ID of the proxy cluster for this resource, if any.
24473        '''
24474        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24475        '''
24476         ID of the secret store containing credentials for this resource, if any.
24477        '''
24478        self.subdomain = subdomain if subdomain is not None else ''
24479        '''
24480         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24481        '''
24482        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24483        '''
24484         Tags is a map of key, value pairs.
24485        '''
24486        self.username = username if username is not None else ''
24487        '''
24488         The username to authenticate with.
24489        '''
24490
24491    def __repr__(self):
24492        return '<sdm.Teradata ' + \
24493            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24494            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24495            'healthy: ' + repr(self.healthy) + ' ' +\
24496            'hostname: ' + repr(self.hostname) + ' ' +\
24497            'id: ' + repr(self.id) + ' ' +\
24498            'name: ' + repr(self.name) + ' ' +\
24499            'password: ' + repr(self.password) + ' ' +\
24500            'port: ' + repr(self.port) + ' ' +\
24501            'port_override: ' + repr(self.port_override) + ' ' +\
24502            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24503            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24504            'subdomain: ' + repr(self.subdomain) + ' ' +\
24505            'tags: ' + repr(self.tags) + ' ' +\
24506            'username: ' + repr(self.username) + ' ' +\
24507            '>'
24508
24509    def to_dict(self):
24510        return {
24511            'bind_interface': self.bind_interface,
24512            'egress_filter': self.egress_filter,
24513            'healthy': self.healthy,
24514            'hostname': self.hostname,
24515            'id': self.id,
24516            'name': self.name,
24517            'password': self.password,
24518            'port': self.port,
24519            'port_override': self.port_override,
24520            'proxy_cluster_id': self.proxy_cluster_id,
24521            'secret_store_id': self.secret_store_id,
24522            'subdomain': self.subdomain,
24523            'tags': self.tags,
24524            'username': self.username,
24525        }
24526
24527    @classmethod
24528    def from_dict(cls, d):
24529        return cls(
24530            bind_interface=d.get('bind_interface'),
24531            egress_filter=d.get('egress_filter'),
24532            healthy=d.get('healthy'),
24533            hostname=d.get('hostname'),
24534            id=d.get('id'),
24535            name=d.get('name'),
24536            password=d.get('password'),
24537            port=d.get('port'),
24538            port_override=d.get('port_override'),
24539            proxy_cluster_id=d.get('proxy_cluster_id'),
24540            secret_store_id=d.get('secret_store_id'),
24541            subdomain=d.get('subdomain'),
24542            tags=d.get('tags'),
24543            username=d.get('username'),
24544        )
24545
24546
24547class Token:
24548    '''
24549         A Token is an account providing tokenized access for automation or integration use.
24550     Tokens include admin tokens, API keys, and SCIM tokens.
24551    '''
24552    __slots__ = [
24553        'account_type',
24554        'deadline',
24555        'duration',
24556        'id',
24557        'name',
24558        'permissions',
24559        'rekeyed',
24560        'suspended',
24561        'tags',
24562    ]
24563
24564    def __init__(
24565        self,
24566        account_type=None,
24567        deadline=None,
24568        duration=None,
24569        id=None,
24570        name=None,
24571        permissions=None,
24572        rekeyed=None,
24573        suspended=None,
24574        tags=None,
24575    ):
24576        self.account_type = account_type if account_type is not None else ''
24577        '''
24578         Corresponds to the type of token, e.g. api or admin-token.
24579        '''
24580        self.deadline = deadline if deadline is not None else None
24581        '''
24582         The timestamp when the Token will expire.
24583        '''
24584        self.duration = duration if duration is not None else None
24585        '''
24586         Duration from token creation to expiration.
24587        '''
24588        self.id = id if id is not None else ''
24589        '''
24590         Unique identifier of the Token.
24591        '''
24592        self.name = name if name is not None else ''
24593        '''
24594         Unique human-readable name of the Token.
24595        '''
24596        self.permissions = permissions if permissions is not None else []
24597        '''
24598         Permissions assigned to the token, e.g. role:create.
24599        '''
24600        self.rekeyed = rekeyed if rekeyed is not None else None
24601        '''
24602         The timestamp when the Token was last rekeyed.
24603        '''
24604        self.suspended = suspended if suspended is not None else False
24605        '''
24606         Reserved for future use.  Always false for tokens.
24607        '''
24608        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24609        '''
24610         Tags is a map of key, value pairs.
24611        '''
24612
24613    def __repr__(self):
24614        return '<sdm.Token ' + \
24615            'account_type: ' + repr(self.account_type) + ' ' +\
24616            'deadline: ' + repr(self.deadline) + ' ' +\
24617            'duration: ' + repr(self.duration) + ' ' +\
24618            'id: ' + repr(self.id) + ' ' +\
24619            'name: ' + repr(self.name) + ' ' +\
24620            'permissions: ' + repr(self.permissions) + ' ' +\
24621            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
24622            'suspended: ' + repr(self.suspended) + ' ' +\
24623            'tags: ' + repr(self.tags) + ' ' +\
24624            '>'
24625
24626    def to_dict(self):
24627        return {
24628            'account_type': self.account_type,
24629            'deadline': self.deadline,
24630            'duration': self.duration,
24631            'id': self.id,
24632            'name': self.name,
24633            'permissions': self.permissions,
24634            'rekeyed': self.rekeyed,
24635            'suspended': self.suspended,
24636            'tags': self.tags,
24637        }
24638
24639    @classmethod
24640    def from_dict(cls, d):
24641        return cls(
24642            account_type=d.get('account_type'),
24643            deadline=d.get('deadline'),
24644            duration=d.get('duration'),
24645            id=d.get('id'),
24646            name=d.get('name'),
24647            permissions=d.get('permissions'),
24648            rekeyed=d.get('rekeyed'),
24649            suspended=d.get('suspended'),
24650            tags=d.get('tags'),
24651        )
24652
24653
24654class Trino:
24655    '''
24656    Trino is currently unstable, and its API may change, or it may be removed,
24657    without a major version bump.
24658    '''
24659    __slots__ = [
24660        'bind_interface',
24661        'database',
24662        'egress_filter',
24663        'healthy',
24664        'hostname',
24665        'id',
24666        'name',
24667        'password',
24668        'port',
24669        'port_override',
24670        'proxy_cluster_id',
24671        'secret_store_id',
24672        'subdomain',
24673        'tags',
24674        'username',
24675    ]
24676
24677    def __init__(
24678        self,
24679        bind_interface=None,
24680        database=None,
24681        egress_filter=None,
24682        healthy=None,
24683        hostname=None,
24684        id=None,
24685        name=None,
24686        password=None,
24687        port=None,
24688        port_override=None,
24689        proxy_cluster_id=None,
24690        secret_store_id=None,
24691        subdomain=None,
24692        tags=None,
24693        username=None,
24694    ):
24695        self.bind_interface = bind_interface if bind_interface is not None else ''
24696        '''
24697         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24698        '''
24699        self.database = database if database is not None else ''
24700        '''
24701         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24702        '''
24703        self.egress_filter = egress_filter if egress_filter is not None else ''
24704        '''
24705         A filter applied to the routing logic to pin datasource to nodes.
24706        '''
24707        self.healthy = healthy if healthy is not None else False
24708        '''
24709         True if the datasource is reachable and the credentials are valid.
24710        '''
24711        self.hostname = hostname if hostname is not None else ''
24712        '''
24713         The host to dial to initiate a connection from the egress node to this resource.
24714        '''
24715        self.id = id if id is not None else ''
24716        '''
24717         Unique identifier of the Resource.
24718        '''
24719        self.name = name if name is not None else ''
24720        '''
24721         Unique human-readable name of the Resource.
24722        '''
24723        self.password = password if password is not None else ''
24724        '''
24725         The password to authenticate with.
24726        '''
24727        self.port = port if port is not None else 0
24728        '''
24729         The port to dial to initiate a connection from the egress node to this resource.
24730        '''
24731        self.port_override = port_override if port_override is not None else 0
24732        '''
24733         The local port used by clients to connect to this resource.
24734        '''
24735        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24736        '''
24737         ID of the proxy cluster for this resource, if any.
24738        '''
24739        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24740        '''
24741         ID of the secret store containing credentials for this resource, if any.
24742        '''
24743        self.subdomain = subdomain if subdomain is not None else ''
24744        '''
24745         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24746        '''
24747        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24748        '''
24749         Tags is a map of key, value pairs.
24750        '''
24751        self.username = username if username is not None else ''
24752        '''
24753         The username to authenticate with.
24754        '''
24755
24756    def __repr__(self):
24757        return '<sdm.Trino ' + \
24758            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24759            'database: ' + repr(self.database) + ' ' +\
24760            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24761            'healthy: ' + repr(self.healthy) + ' ' +\
24762            'hostname: ' + repr(self.hostname) + ' ' +\
24763            'id: ' + repr(self.id) + ' ' +\
24764            'name: ' + repr(self.name) + ' ' +\
24765            'password: ' + repr(self.password) + ' ' +\
24766            'port: ' + repr(self.port) + ' ' +\
24767            'port_override: ' + repr(self.port_override) + ' ' +\
24768            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24769            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24770            'subdomain: ' + repr(self.subdomain) + ' ' +\
24771            'tags: ' + repr(self.tags) + ' ' +\
24772            'username: ' + repr(self.username) + ' ' +\
24773            '>'
24774
24775    def to_dict(self):
24776        return {
24777            'bind_interface': self.bind_interface,
24778            'database': self.database,
24779            'egress_filter': self.egress_filter,
24780            'healthy': self.healthy,
24781            'hostname': self.hostname,
24782            'id': self.id,
24783            'name': self.name,
24784            'password': self.password,
24785            'port': self.port,
24786            'port_override': self.port_override,
24787            'proxy_cluster_id': self.proxy_cluster_id,
24788            'secret_store_id': self.secret_store_id,
24789            'subdomain': self.subdomain,
24790            'tags': self.tags,
24791            'username': self.username,
24792        }
24793
24794    @classmethod
24795    def from_dict(cls, d):
24796        return cls(
24797            bind_interface=d.get('bind_interface'),
24798            database=d.get('database'),
24799            egress_filter=d.get('egress_filter'),
24800            healthy=d.get('healthy'),
24801            hostname=d.get('hostname'),
24802            id=d.get('id'),
24803            name=d.get('name'),
24804            password=d.get('password'),
24805            port=d.get('port'),
24806            port_override=d.get('port_override'),
24807            proxy_cluster_id=d.get('proxy_cluster_id'),
24808            secret_store_id=d.get('secret_store_id'),
24809            subdomain=d.get('subdomain'),
24810            tags=d.get('tags'),
24811            username=d.get('username'),
24812        )
24813
24814
24815class UpdateResponseMetadata:
24816    '''
24817         UpdateResponseMetadata is reserved for future use.
24818    '''
24819    __slots__ = []
24820
24821    def __init__(self, ):
24822        pass
24823
24824    def __repr__(self):
24825        return '<sdm.UpdateResponseMetadata ' + \
24826            '>'
24827
24828    def to_dict(self):
24829        return {}
24830
24831    @classmethod
24832    def from_dict(cls, d):
24833        return cls()
24834
24835
24836class User:
24837    '''
24838         A User can connect to resources they are granted directly, or granted
24839     via roles.
24840    '''
24841    __slots__ = [
24842        'email',
24843        'external_id',
24844        'first_name',
24845        'id',
24846        'last_name',
24847        'managed_by',
24848        'password',
24849        'permission_level',
24850        'suspended',
24851        'tags',
24852    ]
24853
24854    def __init__(
24855        self,
24856        email=None,
24857        external_id=None,
24858        first_name=None,
24859        id=None,
24860        last_name=None,
24861        managed_by=None,
24862        password=None,
24863        permission_level=None,
24864        suspended=None,
24865        tags=None,
24866    ):
24867        self.email = email if email is not None else ''
24868        '''
24869         The User's email address. Must be unique.
24870        '''
24871        self.external_id = external_id if external_id is not None else ''
24872        '''
24873         External ID is an alternative unique ID this user is represented by within an external service.
24874        '''
24875        self.first_name = first_name if first_name is not None else ''
24876        '''
24877         The User's first name.
24878        '''
24879        self.id = id if id is not None else ''
24880        '''
24881         Unique identifier of the User.
24882        '''
24883        self.last_name = last_name if last_name is not None else ''
24884        '''
24885         The User's last name.
24886        '''
24887        self.managed_by = managed_by if managed_by is not None else ''
24888        '''
24889         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
24890        '''
24891        self.password = password if password is not None else ''
24892        '''
24893         Password is a write-only field that can be used to set the user's password.
24894         Currently only supported for update.
24895        '''
24896        self.permission_level = permission_level if permission_level is not None else ''
24897        '''
24898         PermissionLevel is the user's permission level e.g. admin, DBA, user.
24899        '''
24900        self.suspended = suspended if suspended is not None else False
24901        '''
24902         Suspended is a read only field for the User's suspended state.
24903        '''
24904        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24905        '''
24906         Tags is a map of key, value pairs.
24907        '''
24908
24909    def __repr__(self):
24910        return '<sdm.User ' + \
24911            'email: ' + repr(self.email) + ' ' +\
24912            'external_id: ' + repr(self.external_id) + ' ' +\
24913            'first_name: ' + repr(self.first_name) + ' ' +\
24914            'id: ' + repr(self.id) + ' ' +\
24915            'last_name: ' + repr(self.last_name) + ' ' +\
24916            'managed_by: ' + repr(self.managed_by) + ' ' +\
24917            'password: ' + repr(self.password) + ' ' +\
24918            'permission_level: ' + repr(self.permission_level) + ' ' +\
24919            'suspended: ' + repr(self.suspended) + ' ' +\
24920            'tags: ' + repr(self.tags) + ' ' +\
24921            '>'
24922
24923    def to_dict(self):
24924        return {
24925            'email': self.email,
24926            'external_id': self.external_id,
24927            'first_name': self.first_name,
24928            'id': self.id,
24929            'last_name': self.last_name,
24930            'managed_by': self.managed_by,
24931            'password': self.password,
24932            'permission_level': self.permission_level,
24933            'suspended': self.suspended,
24934            'tags': self.tags,
24935        }
24936
24937    @classmethod
24938    def from_dict(cls, d):
24939        return cls(
24940            email=d.get('email'),
24941            external_id=d.get('external_id'),
24942            first_name=d.get('first_name'),
24943            id=d.get('id'),
24944            last_name=d.get('last_name'),
24945            managed_by=d.get('managed_by'),
24946            password=d.get('password'),
24947            permission_level=d.get('permission_level'),
24948            suspended=d.get('suspended'),
24949            tags=d.get('tags'),
24950        )
24951
24952
24953class VaultAWSEC2Store:
24954    '''
24955    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
24956    without a major version bump.
24957    '''
24958    __slots__ = [
24959        'id',
24960        'name',
24961        'namespace',
24962        'server_address',
24963        'tags',
24964    ]
24965
24966    def __init__(
24967        self,
24968        id=None,
24969        name=None,
24970        namespace=None,
24971        server_address=None,
24972        tags=None,
24973    ):
24974        self.id = id if id is not None else ''
24975        '''
24976         Unique identifier of the SecretStore.
24977        '''
24978        self.name = name if name is not None else ''
24979        '''
24980         Unique human-readable name of the SecretStore.
24981        '''
24982        self.namespace = namespace if namespace is not None else ''
24983        '''
24984         The namespace to make requests within
24985        '''
24986        self.server_address = server_address if server_address is not None else ''
24987        '''
24988         The URL of the Vault to target
24989        '''
24990        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24991        '''
24992         Tags is a map of key, value pairs.
24993        '''
24994
24995    def __repr__(self):
24996        return '<sdm.VaultAWSEC2Store ' + \
24997            'id: ' + repr(self.id) + ' ' +\
24998            'name: ' + repr(self.name) + ' ' +\
24999            'namespace: ' + repr(self.namespace) + ' ' +\
25000            'server_address: ' + repr(self.server_address) + ' ' +\
25001            'tags: ' + repr(self.tags) + ' ' +\
25002            '>'
25003
25004    def to_dict(self):
25005        return {
25006            'id': self.id,
25007            'name': self.name,
25008            'namespace': self.namespace,
25009            'server_address': self.server_address,
25010            'tags': self.tags,
25011        }
25012
25013    @classmethod
25014    def from_dict(cls, d):
25015        return cls(
25016            id=d.get('id'),
25017            name=d.get('name'),
25018            namespace=d.get('namespace'),
25019            server_address=d.get('server_address'),
25020            tags=d.get('tags'),
25021        )
25022
25023
25024class VaultAWSIAMStore:
25025    '''
25026    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
25027    without a major version bump.
25028    '''
25029    __slots__ = [
25030        'id',
25031        'name',
25032        'namespace',
25033        'server_address',
25034        'tags',
25035    ]
25036
25037    def __init__(
25038        self,
25039        id=None,
25040        name=None,
25041        namespace=None,
25042        server_address=None,
25043        tags=None,
25044    ):
25045        self.id = id if id is not None else ''
25046        '''
25047         Unique identifier of the SecretStore.
25048        '''
25049        self.name = name if name is not None else ''
25050        '''
25051         Unique human-readable name of the SecretStore.
25052        '''
25053        self.namespace = namespace if namespace is not None else ''
25054        '''
25055         The namespace to make requests within
25056        '''
25057        self.server_address = server_address if server_address is not None else ''
25058        '''
25059         The URL of the Vault to target
25060        '''
25061        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25062        '''
25063         Tags is a map of key, value pairs.
25064        '''
25065
25066    def __repr__(self):
25067        return '<sdm.VaultAWSIAMStore ' + \
25068            'id: ' + repr(self.id) + ' ' +\
25069            'name: ' + repr(self.name) + ' ' +\
25070            'namespace: ' + repr(self.namespace) + ' ' +\
25071            'server_address: ' + repr(self.server_address) + ' ' +\
25072            'tags: ' + repr(self.tags) + ' ' +\
25073            '>'
25074
25075    def to_dict(self):
25076        return {
25077            'id': self.id,
25078            'name': self.name,
25079            'namespace': self.namespace,
25080            'server_address': self.server_address,
25081            'tags': self.tags,
25082        }
25083
25084    @classmethod
25085    def from_dict(cls, d):
25086        return cls(
25087            id=d.get('id'),
25088            name=d.get('name'),
25089            namespace=d.get('namespace'),
25090            server_address=d.get('server_address'),
25091            tags=d.get('tags'),
25092        )
25093
25094
25095class VaultAppRoleCertSSHStore:
25096    __slots__ = [
25097        'id',
25098        'issuedcertttlminutes',
25099        'name',
25100        'namespace',
25101        'server_address',
25102        'signing_role',
25103        'ssh_mount_point',
25104        'tags',
25105    ]
25106
25107    def __init__(
25108        self,
25109        id=None,
25110        issuedcertttlminutes=None,
25111        name=None,
25112        namespace=None,
25113        server_address=None,
25114        signing_role=None,
25115        ssh_mount_point=None,
25116        tags=None,
25117    ):
25118        self.id = id if id is not None else ''
25119        '''
25120         Unique identifier of the SecretStore.
25121        '''
25122        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25123        '''
25124         The lifetime of certificates issued by this CA represented in minutes.
25125        '''
25126        self.name = name if name is not None else ''
25127        '''
25128         Unique human-readable name of the SecretStore.
25129        '''
25130        self.namespace = namespace if namespace is not None else ''
25131        '''
25132         The namespace to make requests within
25133        '''
25134        self.server_address = server_address if server_address is not None else ''
25135        '''
25136         The URL of the Vault to target
25137        '''
25138        self.signing_role = signing_role if signing_role is not None else ''
25139        '''
25140         The signing role to be used for signing certificates
25141        '''
25142        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25143        '''
25144         The mount point of the SSH engine configured with the desired CA
25145        '''
25146        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25147        '''
25148         Tags is a map of key, value pairs.
25149        '''
25150
25151    def __repr__(self):
25152        return '<sdm.VaultAppRoleCertSSHStore ' + \
25153            'id: ' + repr(self.id) + ' ' +\
25154            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25155            'name: ' + repr(self.name) + ' ' +\
25156            'namespace: ' + repr(self.namespace) + ' ' +\
25157            'server_address: ' + repr(self.server_address) + ' ' +\
25158            'signing_role: ' + repr(self.signing_role) + ' ' +\
25159            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25160            'tags: ' + repr(self.tags) + ' ' +\
25161            '>'
25162
25163    def to_dict(self):
25164        return {
25165            'id': self.id,
25166            'issuedcertttlminutes': self.issuedcertttlminutes,
25167            'name': self.name,
25168            'namespace': self.namespace,
25169            'server_address': self.server_address,
25170            'signing_role': self.signing_role,
25171            'ssh_mount_point': self.ssh_mount_point,
25172            'tags': self.tags,
25173        }
25174
25175    @classmethod
25176    def from_dict(cls, d):
25177        return cls(
25178            id=d.get('id'),
25179            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25180            name=d.get('name'),
25181            namespace=d.get('namespace'),
25182            server_address=d.get('server_address'),
25183            signing_role=d.get('signing_role'),
25184            ssh_mount_point=d.get('ssh_mount_point'),
25185            tags=d.get('tags'),
25186        )
25187
25188
25189class VaultAppRoleCertX509Store:
25190    __slots__ = [
25191        'id',
25192        'issuedcertttlminutes',
25193        'name',
25194        'namespace',
25195        'pki_mount_point',
25196        'server_address',
25197        'signing_role',
25198        'tags',
25199    ]
25200
25201    def __init__(
25202        self,
25203        id=None,
25204        issuedcertttlminutes=None,
25205        name=None,
25206        namespace=None,
25207        pki_mount_point=None,
25208        server_address=None,
25209        signing_role=None,
25210        tags=None,
25211    ):
25212        self.id = id if id is not None else ''
25213        '''
25214         Unique identifier of the SecretStore.
25215        '''
25216        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25217        '''
25218         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25219        '''
25220        self.name = name if name is not None else ''
25221        '''
25222         Unique human-readable name of the SecretStore.
25223        '''
25224        self.namespace = namespace if namespace is not None else ''
25225        '''
25226         The namespace to make requests within
25227        '''
25228        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25229        '''
25230         The mount point of the PKI engine configured with the desired CA
25231        '''
25232        self.server_address = server_address if server_address is not None else ''
25233        '''
25234         The URL of the Vault to target
25235        '''
25236        self.signing_role = signing_role if signing_role is not None else ''
25237        '''
25238         The signing role to be used for signing certificates
25239        '''
25240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25241        '''
25242         Tags is a map of key, value pairs.
25243        '''
25244
25245    def __repr__(self):
25246        return '<sdm.VaultAppRoleCertX509Store ' + \
25247            'id: ' + repr(self.id) + ' ' +\
25248            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25249            'name: ' + repr(self.name) + ' ' +\
25250            'namespace: ' + repr(self.namespace) + ' ' +\
25251            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25252            'server_address: ' + repr(self.server_address) + ' ' +\
25253            'signing_role: ' + repr(self.signing_role) + ' ' +\
25254            'tags: ' + repr(self.tags) + ' ' +\
25255            '>'
25256
25257    def to_dict(self):
25258        return {
25259            'id': self.id,
25260            'issuedcertttlminutes': self.issuedcertttlminutes,
25261            'name': self.name,
25262            'namespace': self.namespace,
25263            'pki_mount_point': self.pki_mount_point,
25264            'server_address': self.server_address,
25265            'signing_role': self.signing_role,
25266            'tags': self.tags,
25267        }
25268
25269    @classmethod
25270    def from_dict(cls, d):
25271        return cls(
25272            id=d.get('id'),
25273            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25274            name=d.get('name'),
25275            namespace=d.get('namespace'),
25276            pki_mount_point=d.get('pki_mount_point'),
25277            server_address=d.get('server_address'),
25278            signing_role=d.get('signing_role'),
25279            tags=d.get('tags'),
25280        )
25281
25282
25283class VaultAppRoleStore:
25284    __slots__ = [
25285        'id',
25286        'name',
25287        'namespace',
25288        'server_address',
25289        'tags',
25290    ]
25291
25292    def __init__(
25293        self,
25294        id=None,
25295        name=None,
25296        namespace=None,
25297        server_address=None,
25298        tags=None,
25299    ):
25300        self.id = id if id is not None else ''
25301        '''
25302         Unique identifier of the SecretStore.
25303        '''
25304        self.name = name if name is not None else ''
25305        '''
25306         Unique human-readable name of the SecretStore.
25307        '''
25308        self.namespace = namespace if namespace is not None else ''
25309        '''
25310         The namespace to make requests within
25311        '''
25312        self.server_address = server_address if server_address is not None else ''
25313        '''
25314         The URL of the Vault to target
25315        '''
25316        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25317        '''
25318         Tags is a map of key, value pairs.
25319        '''
25320
25321    def __repr__(self):
25322        return '<sdm.VaultAppRoleStore ' + \
25323            'id: ' + repr(self.id) + ' ' +\
25324            'name: ' + repr(self.name) + ' ' +\
25325            'namespace: ' + repr(self.namespace) + ' ' +\
25326            'server_address: ' + repr(self.server_address) + ' ' +\
25327            'tags: ' + repr(self.tags) + ' ' +\
25328            '>'
25329
25330    def to_dict(self):
25331        return {
25332            'id': self.id,
25333            'name': self.name,
25334            'namespace': self.namespace,
25335            'server_address': self.server_address,
25336            'tags': self.tags,
25337        }
25338
25339    @classmethod
25340    def from_dict(cls, d):
25341        return cls(
25342            id=d.get('id'),
25343            name=d.get('name'),
25344            namespace=d.get('namespace'),
25345            server_address=d.get('server_address'),
25346            tags=d.get('tags'),
25347        )
25348
25349
25350class VaultTLSCertSSHStore:
25351    __slots__ = [
25352        'ca_cert_path',
25353        'client_cert_path',
25354        'client_key_path',
25355        'id',
25356        'issuedcertttlminutes',
25357        'name',
25358        'namespace',
25359        'server_address',
25360        'signing_role',
25361        'ssh_mount_point',
25362        'tags',
25363    ]
25364
25365    def __init__(
25366        self,
25367        ca_cert_path=None,
25368        client_cert_path=None,
25369        client_key_path=None,
25370        id=None,
25371        issuedcertttlminutes=None,
25372        name=None,
25373        namespace=None,
25374        server_address=None,
25375        signing_role=None,
25376        ssh_mount_point=None,
25377        tags=None,
25378    ):
25379        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25380        '''
25381         A path to a CA file accessible by a Node
25382        '''
25383        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25384        '''
25385         A path to a client certificate file accessible by a Node
25386        '''
25387        self.client_key_path = client_key_path if client_key_path is not None else ''
25388        '''
25389         A path to a client key file accessible by a Node
25390        '''
25391        self.id = id if id is not None else ''
25392        '''
25393         Unique identifier of the SecretStore.
25394        '''
25395        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25396        '''
25397         The lifetime of certificates issued by this CA represented in minutes.
25398        '''
25399        self.name = name if name is not None else ''
25400        '''
25401         Unique human-readable name of the SecretStore.
25402        '''
25403        self.namespace = namespace if namespace is not None else ''
25404        '''
25405         The namespace to make requests within
25406        '''
25407        self.server_address = server_address if server_address is not None else ''
25408        '''
25409         The URL of the Vault to target
25410        '''
25411        self.signing_role = signing_role if signing_role is not None else ''
25412        '''
25413         The signing role to be used for signing certificates
25414        '''
25415        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25416        '''
25417         The mount point of the SSH engine configured with the desired CA
25418        '''
25419        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25420        '''
25421         Tags is a map of key, value pairs.
25422        '''
25423
25424    def __repr__(self):
25425        return '<sdm.VaultTLSCertSSHStore ' + \
25426            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25427            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25428            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25429            'id: ' + repr(self.id) + ' ' +\
25430            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25431            'name: ' + repr(self.name) + ' ' +\
25432            'namespace: ' + repr(self.namespace) + ' ' +\
25433            'server_address: ' + repr(self.server_address) + ' ' +\
25434            'signing_role: ' + repr(self.signing_role) + ' ' +\
25435            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25436            'tags: ' + repr(self.tags) + ' ' +\
25437            '>'
25438
25439    def to_dict(self):
25440        return {
25441            'ca_cert_path': self.ca_cert_path,
25442            'client_cert_path': self.client_cert_path,
25443            'client_key_path': self.client_key_path,
25444            'id': self.id,
25445            'issuedcertttlminutes': self.issuedcertttlminutes,
25446            'name': self.name,
25447            'namespace': self.namespace,
25448            'server_address': self.server_address,
25449            'signing_role': self.signing_role,
25450            'ssh_mount_point': self.ssh_mount_point,
25451            'tags': self.tags,
25452        }
25453
25454    @classmethod
25455    def from_dict(cls, d):
25456        return cls(
25457            ca_cert_path=d.get('ca_cert_path'),
25458            client_cert_path=d.get('client_cert_path'),
25459            client_key_path=d.get('client_key_path'),
25460            id=d.get('id'),
25461            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25462            name=d.get('name'),
25463            namespace=d.get('namespace'),
25464            server_address=d.get('server_address'),
25465            signing_role=d.get('signing_role'),
25466            ssh_mount_point=d.get('ssh_mount_point'),
25467            tags=d.get('tags'),
25468        )
25469
25470
25471class VaultTLSCertX509Store:
25472    __slots__ = [
25473        'ca_cert_path',
25474        'client_cert_path',
25475        'client_key_path',
25476        'id',
25477        'issuedcertttlminutes',
25478        'name',
25479        'namespace',
25480        'pki_mount_point',
25481        'server_address',
25482        'signing_role',
25483        'tags',
25484    ]
25485
25486    def __init__(
25487        self,
25488        ca_cert_path=None,
25489        client_cert_path=None,
25490        client_key_path=None,
25491        id=None,
25492        issuedcertttlminutes=None,
25493        name=None,
25494        namespace=None,
25495        pki_mount_point=None,
25496        server_address=None,
25497        signing_role=None,
25498        tags=None,
25499    ):
25500        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25501        '''
25502         A path to a CA file accessible by a Node
25503        '''
25504        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25505        '''
25506         A path to a client certificate file accessible by a Node
25507        '''
25508        self.client_key_path = client_key_path if client_key_path is not None else ''
25509        '''
25510         A path to a client key file accessible by a Node
25511        '''
25512        self.id = id if id is not None else ''
25513        '''
25514         Unique identifier of the SecretStore.
25515        '''
25516        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25517        '''
25518         The lifetime of certificates issued by this CA represented in minutes.
25519        '''
25520        self.name = name if name is not None else ''
25521        '''
25522         Unique human-readable name of the SecretStore.
25523        '''
25524        self.namespace = namespace if namespace is not None else ''
25525        '''
25526         The namespace to make requests within
25527        '''
25528        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25529        '''
25530         The mount point of the PKI engine configured with the desired CA
25531        '''
25532        self.server_address = server_address if server_address is not None else ''
25533        '''
25534         The URL of the Vault to target
25535        '''
25536        self.signing_role = signing_role if signing_role is not None else ''
25537        '''
25538         The signing role to be used for signing certificates
25539        '''
25540        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25541        '''
25542         Tags is a map of key, value pairs.
25543        '''
25544
25545    def __repr__(self):
25546        return '<sdm.VaultTLSCertX509Store ' + \
25547            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25548            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25549            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25550            'id: ' + repr(self.id) + ' ' +\
25551            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25552            'name: ' + repr(self.name) + ' ' +\
25553            'namespace: ' + repr(self.namespace) + ' ' +\
25554            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25555            'server_address: ' + repr(self.server_address) + ' ' +\
25556            'signing_role: ' + repr(self.signing_role) + ' ' +\
25557            'tags: ' + repr(self.tags) + ' ' +\
25558            '>'
25559
25560    def to_dict(self):
25561        return {
25562            'ca_cert_path': self.ca_cert_path,
25563            'client_cert_path': self.client_cert_path,
25564            'client_key_path': self.client_key_path,
25565            'id': self.id,
25566            'issuedcertttlminutes': self.issuedcertttlminutes,
25567            'name': self.name,
25568            'namespace': self.namespace,
25569            'pki_mount_point': self.pki_mount_point,
25570            'server_address': self.server_address,
25571            'signing_role': self.signing_role,
25572            'tags': self.tags,
25573        }
25574
25575    @classmethod
25576    def from_dict(cls, d):
25577        return cls(
25578            ca_cert_path=d.get('ca_cert_path'),
25579            client_cert_path=d.get('client_cert_path'),
25580            client_key_path=d.get('client_key_path'),
25581            id=d.get('id'),
25582            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25583            name=d.get('name'),
25584            namespace=d.get('namespace'),
25585            pki_mount_point=d.get('pki_mount_point'),
25586            server_address=d.get('server_address'),
25587            signing_role=d.get('signing_role'),
25588            tags=d.get('tags'),
25589        )
25590
25591
25592class VaultTLSStore:
25593    __slots__ = [
25594        'ca_cert_path',
25595        'client_cert_path',
25596        'client_key_path',
25597        'id',
25598        'name',
25599        'namespace',
25600        'server_address',
25601        'tags',
25602    ]
25603
25604    def __init__(
25605        self,
25606        ca_cert_path=None,
25607        client_cert_path=None,
25608        client_key_path=None,
25609        id=None,
25610        name=None,
25611        namespace=None,
25612        server_address=None,
25613        tags=None,
25614    ):
25615        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25616        '''
25617         A path to a CA file accessible by a Node
25618        '''
25619        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25620        '''
25621         A path to a client certificate file accessible by a Node
25622        '''
25623        self.client_key_path = client_key_path if client_key_path is not None else ''
25624        '''
25625         A path to a client key file accessible by a Node
25626        '''
25627        self.id = id if id is not None else ''
25628        '''
25629         Unique identifier of the SecretStore.
25630        '''
25631        self.name = name if name is not None else ''
25632        '''
25633         Unique human-readable name of the SecretStore.
25634        '''
25635        self.namespace = namespace if namespace is not None else ''
25636        '''
25637         The namespace to make requests within
25638        '''
25639        self.server_address = server_address if server_address is not None else ''
25640        '''
25641         The URL of the Vault to target
25642        '''
25643        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25644        '''
25645         Tags is a map of key, value pairs.
25646        '''
25647
25648    def __repr__(self):
25649        return '<sdm.VaultTLSStore ' + \
25650            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25651            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25652            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25653            'id: ' + repr(self.id) + ' ' +\
25654            'name: ' + repr(self.name) + ' ' +\
25655            'namespace: ' + repr(self.namespace) + ' ' +\
25656            'server_address: ' + repr(self.server_address) + ' ' +\
25657            'tags: ' + repr(self.tags) + ' ' +\
25658            '>'
25659
25660    def to_dict(self):
25661        return {
25662            'ca_cert_path': self.ca_cert_path,
25663            'client_cert_path': self.client_cert_path,
25664            'client_key_path': self.client_key_path,
25665            'id': self.id,
25666            'name': self.name,
25667            'namespace': self.namespace,
25668            'server_address': self.server_address,
25669            'tags': self.tags,
25670        }
25671
25672    @classmethod
25673    def from_dict(cls, d):
25674        return cls(
25675            ca_cert_path=d.get('ca_cert_path'),
25676            client_cert_path=d.get('client_cert_path'),
25677            client_key_path=d.get('client_key_path'),
25678            id=d.get('id'),
25679            name=d.get('name'),
25680            namespace=d.get('namespace'),
25681            server_address=d.get('server_address'),
25682            tags=d.get('tags'),
25683        )
25684
25685
25686class VaultTokenCertSSHStore:
25687    __slots__ = [
25688        'id',
25689        'issuedcertttlminutes',
25690        'name',
25691        'namespace',
25692        'server_address',
25693        'signing_role',
25694        'ssh_mount_point',
25695        'tags',
25696    ]
25697
25698    def __init__(
25699        self,
25700        id=None,
25701        issuedcertttlminutes=None,
25702        name=None,
25703        namespace=None,
25704        server_address=None,
25705        signing_role=None,
25706        ssh_mount_point=None,
25707        tags=None,
25708    ):
25709        self.id = id if id is not None else ''
25710        '''
25711         Unique identifier of the SecretStore.
25712        '''
25713        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25714        '''
25715         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25716        '''
25717        self.name = name if name is not None else ''
25718        '''
25719         Unique human-readable name of the SecretStore.
25720        '''
25721        self.namespace = namespace if namespace is not None else ''
25722        '''
25723         The namespace to make requests within
25724        '''
25725        self.server_address = server_address if server_address is not None else ''
25726        '''
25727         The URL of the Vault to target
25728        '''
25729        self.signing_role = signing_role if signing_role is not None else ''
25730        '''
25731         The signing role to be used for signing certificates
25732        '''
25733        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25734        '''
25735         The mount point of the SSH engine configured with the desired CA
25736        '''
25737        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25738        '''
25739         Tags is a map of key, value pairs.
25740        '''
25741
25742    def __repr__(self):
25743        return '<sdm.VaultTokenCertSSHStore ' + \
25744            'id: ' + repr(self.id) + ' ' +\
25745            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25746            'name: ' + repr(self.name) + ' ' +\
25747            'namespace: ' + repr(self.namespace) + ' ' +\
25748            'server_address: ' + repr(self.server_address) + ' ' +\
25749            'signing_role: ' + repr(self.signing_role) + ' ' +\
25750            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25751            'tags: ' + repr(self.tags) + ' ' +\
25752            '>'
25753
25754    def to_dict(self):
25755        return {
25756            'id': self.id,
25757            'issuedcertttlminutes': self.issuedcertttlminutes,
25758            'name': self.name,
25759            'namespace': self.namespace,
25760            'server_address': self.server_address,
25761            'signing_role': self.signing_role,
25762            'ssh_mount_point': self.ssh_mount_point,
25763            'tags': self.tags,
25764        }
25765
25766    @classmethod
25767    def from_dict(cls, d):
25768        return cls(
25769            id=d.get('id'),
25770            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25771            name=d.get('name'),
25772            namespace=d.get('namespace'),
25773            server_address=d.get('server_address'),
25774            signing_role=d.get('signing_role'),
25775            ssh_mount_point=d.get('ssh_mount_point'),
25776            tags=d.get('tags'),
25777        )
25778
25779
25780class VaultTokenCertX509Store:
25781    __slots__ = [
25782        'id',
25783        'issuedcertttlminutes',
25784        'name',
25785        'namespace',
25786        'pki_mount_point',
25787        'server_address',
25788        'signing_role',
25789        'tags',
25790    ]
25791
25792    def __init__(
25793        self,
25794        id=None,
25795        issuedcertttlminutes=None,
25796        name=None,
25797        namespace=None,
25798        pki_mount_point=None,
25799        server_address=None,
25800        signing_role=None,
25801        tags=None,
25802    ):
25803        self.id = id if id is not None else ''
25804        '''
25805         Unique identifier of the SecretStore.
25806        '''
25807        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25808        '''
25809         The lifetime of certificates issued by this CA represented in minutes.
25810        '''
25811        self.name = name if name is not None else ''
25812        '''
25813         Unique human-readable name of the SecretStore.
25814        '''
25815        self.namespace = namespace if namespace is not None else ''
25816        '''
25817         The namespace to make requests within
25818        '''
25819        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25820        '''
25821         The mount point of the PKI engine configured with the desired CA
25822        '''
25823        self.server_address = server_address if server_address is not None else ''
25824        '''
25825         The URL of the Vault to target
25826        '''
25827        self.signing_role = signing_role if signing_role is not None else ''
25828        '''
25829         The signing role to be used for signing certificates
25830        '''
25831        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25832        '''
25833         Tags is a map of key, value pairs.
25834        '''
25835
25836    def __repr__(self):
25837        return '<sdm.VaultTokenCertX509Store ' + \
25838            'id: ' + repr(self.id) + ' ' +\
25839            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25840            'name: ' + repr(self.name) + ' ' +\
25841            'namespace: ' + repr(self.namespace) + ' ' +\
25842            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25843            'server_address: ' + repr(self.server_address) + ' ' +\
25844            'signing_role: ' + repr(self.signing_role) + ' ' +\
25845            'tags: ' + repr(self.tags) + ' ' +\
25846            '>'
25847
25848    def to_dict(self):
25849        return {
25850            'id': self.id,
25851            'issuedcertttlminutes': self.issuedcertttlminutes,
25852            'name': self.name,
25853            'namespace': self.namespace,
25854            'pki_mount_point': self.pki_mount_point,
25855            'server_address': self.server_address,
25856            'signing_role': self.signing_role,
25857            'tags': self.tags,
25858        }
25859
25860    @classmethod
25861    def from_dict(cls, d):
25862        return cls(
25863            id=d.get('id'),
25864            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25865            name=d.get('name'),
25866            namespace=d.get('namespace'),
25867            pki_mount_point=d.get('pki_mount_point'),
25868            server_address=d.get('server_address'),
25869            signing_role=d.get('signing_role'),
25870            tags=d.get('tags'),
25871        )
25872
25873
25874class VaultTokenStore:
25875    __slots__ = [
25876        'id',
25877        'name',
25878        'namespace',
25879        'server_address',
25880        'tags',
25881    ]
25882
25883    def __init__(
25884        self,
25885        id=None,
25886        name=None,
25887        namespace=None,
25888        server_address=None,
25889        tags=None,
25890    ):
25891        self.id = id if id is not None else ''
25892        '''
25893         Unique identifier of the SecretStore.
25894        '''
25895        self.name = name if name is not None else ''
25896        '''
25897         Unique human-readable name of the SecretStore.
25898        '''
25899        self.namespace = namespace if namespace is not None else ''
25900        '''
25901         The namespace to make requests within
25902        '''
25903        self.server_address = server_address if server_address is not None else ''
25904        '''
25905         The URL of the Vault to target
25906        '''
25907        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25908        '''
25909         Tags is a map of key, value pairs.
25910        '''
25911
25912    def __repr__(self):
25913        return '<sdm.VaultTokenStore ' + \
25914            'id: ' + repr(self.id) + ' ' +\
25915            'name: ' + repr(self.name) + ' ' +\
25916            'namespace: ' + repr(self.namespace) + ' ' +\
25917            'server_address: ' + repr(self.server_address) + ' ' +\
25918            'tags: ' + repr(self.tags) + ' ' +\
25919            '>'
25920
25921    def to_dict(self):
25922        return {
25923            'id': self.id,
25924            'name': self.name,
25925            'namespace': self.namespace,
25926            'server_address': self.server_address,
25927            'tags': self.tags,
25928        }
25929
25930    @classmethod
25931    def from_dict(cls, d):
25932        return cls(
25933            id=d.get('id'),
25934            name=d.get('name'),
25935            namespace=d.get('namespace'),
25936            server_address=d.get('server_address'),
25937            tags=d.get('tags'),
25938        )
25939
25940
25941class Workflow:
25942    '''
25943         Workflows are the collection of rules that define the resources to which access can be requested,
25944     the users that can request that access, and the mechanism for approving those requests which can either
25945     but automatic approval or a set of users authorized to approve the requests.
25946    '''
25947    __slots__ = [
25948        'access_rules',
25949        'approval_flow_id',
25950        'auto_grant',
25951        'description',
25952        'enabled',
25953        'id',
25954        'name',
25955        'weight',
25956    ]
25957
25958    def __init__(
25959        self,
25960        access_rules=None,
25961        approval_flow_id=None,
25962        auto_grant=None,
25963        description=None,
25964        enabled=None,
25965        id=None,
25966        name=None,
25967        weight=None,
25968    ):
25969        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25970        )
25971        '''
25972         AccessRules is a list of access rules defining the resources this Workflow provides access to.
25973        '''
25974        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
25975        '''
25976         Optional approval flow ID identifies an approval flow that linked to the workflow
25977        '''
25978        self.auto_grant = auto_grant if auto_grant is not None else False
25979        '''
25980         Optional auto grant setting to automatically approve requests or not, defaults to false.
25981        '''
25982        self.description = description if description is not None else ''
25983        '''
25984         Optional description of the Workflow.
25985        '''
25986        self.enabled = enabled if enabled is not None else False
25987        '''
25988         Optional enabled state for workflow. This setting may be overridden by the system if
25989         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
25990         enabling the workflow. The requirements to enable a workflow are that the workflow must be
25991         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
25992         the workflow.
25993        '''
25994        self.id = id if id is not None else ''
25995        '''
25996         Unique identifier of the Workflow.
25997        '''
25998        self.name = name if name is not None else ''
25999        '''
26000         Unique human-readable name of the Workflow.
26001        '''
26002        self.weight = weight if weight is not None else 0
26003        '''
26004         Optional weight for workflow to specify it's priority in matching a request.
26005        '''
26006
26007    def __repr__(self):
26008        return '<sdm.Workflow ' + \
26009            'access_rules: ' + repr(self.access_rules) + ' ' +\
26010            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
26011            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
26012            'description: ' + repr(self.description) + ' ' +\
26013            'enabled: ' + repr(self.enabled) + ' ' +\
26014            'id: ' + repr(self.id) + ' ' +\
26015            'name: ' + repr(self.name) + ' ' +\
26016            'weight: ' + repr(self.weight) + ' ' +\
26017            '>'
26018
26019    def to_dict(self):
26020        return {
26021            'access_rules': self.access_rules,
26022            'approval_flow_id': self.approval_flow_id,
26023            'auto_grant': self.auto_grant,
26024            'description': self.description,
26025            'enabled': self.enabled,
26026            'id': self.id,
26027            'name': self.name,
26028            'weight': self.weight,
26029        }
26030
26031    @classmethod
26032    def from_dict(cls, d):
26033        return cls(
26034            access_rules=d.get('access_rules'),
26035            approval_flow_id=d.get('approval_flow_id'),
26036            auto_grant=d.get('auto_grant'),
26037            description=d.get('description'),
26038            enabled=d.get('enabled'),
26039            id=d.get('id'),
26040            name=d.get('name'),
26041            weight=d.get('weight'),
26042        )
26043
26044
26045class WorkflowApprover:
26046    '''
26047         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
26048    '''
26049    __slots__ = [
26050        'account_id',
26051        'id',
26052        'role_id',
26053        'workflow_id',
26054    ]
26055
26056    def __init__(
26057        self,
26058        account_id=None,
26059        id=None,
26060        role_id=None,
26061        workflow_id=None,
26062    ):
26063        self.account_id = account_id if account_id is not None else ''
26064        '''
26065         The approver account id.
26066        '''
26067        self.id = id if id is not None else ''
26068        '''
26069         Unique identifier of the WorkflowApprover.
26070        '''
26071        self.role_id = role_id if role_id is not None else ''
26072        '''
26073         The approver role id
26074        '''
26075        self.workflow_id = workflow_id if workflow_id is not None else ''
26076        '''
26077         The workflow id.
26078        '''
26079
26080    def __repr__(self):
26081        return '<sdm.WorkflowApprover ' + \
26082            'account_id: ' + repr(self.account_id) + ' ' +\
26083            'id: ' + repr(self.id) + ' ' +\
26084            'role_id: ' + repr(self.role_id) + ' ' +\
26085            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26086            '>'
26087
26088    def to_dict(self):
26089        return {
26090            'account_id': self.account_id,
26091            'id': self.id,
26092            'role_id': self.role_id,
26093            'workflow_id': self.workflow_id,
26094        }
26095
26096    @classmethod
26097    def from_dict(cls, d):
26098        return cls(
26099            account_id=d.get('account_id'),
26100            id=d.get('id'),
26101            role_id=d.get('role_id'),
26102            workflow_id=d.get('workflow_id'),
26103        )
26104
26105
26106class WorkflowApproverGetResponse:
26107    '''
26108         WorkflowApproverGetResponse returns a requested WorkflowApprover.
26109    '''
26110    __slots__ = [
26111        'meta',
26112        'rate_limit',
26113        'workflow_approver',
26114    ]
26115
26116    def __init__(
26117        self,
26118        meta=None,
26119        rate_limit=None,
26120        workflow_approver=None,
26121    ):
26122        self.meta = meta if meta is not None else None
26123        '''
26124         Reserved for future use.
26125        '''
26126        self.rate_limit = rate_limit if rate_limit is not None else None
26127        '''
26128         Rate limit information.
26129        '''
26130        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26131        '''
26132         The requested WorkflowApprover.
26133        '''
26134
26135    def __repr__(self):
26136        return '<sdm.WorkflowApproverGetResponse ' + \
26137            'meta: ' + repr(self.meta) + ' ' +\
26138            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26139            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26140            '>'
26141
26142    def to_dict(self):
26143        return {
26144            'meta': self.meta,
26145            'rate_limit': self.rate_limit,
26146            'workflow_approver': self.workflow_approver,
26147        }
26148
26149    @classmethod
26150    def from_dict(cls, d):
26151        return cls(
26152            meta=d.get('meta'),
26153            rate_limit=d.get('rate_limit'),
26154            workflow_approver=d.get('workflow_approver'),
26155        )
26156
26157
26158class WorkflowApproverHistory:
26159    '''
26160         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
26161    '''
26162    __slots__ = [
26163        'activity_id',
26164        'deleted_at',
26165        'timestamp',
26166        'workflow_approver',
26167    ]
26168
26169    def __init__(
26170        self,
26171        activity_id=None,
26172        deleted_at=None,
26173        timestamp=None,
26174        workflow_approver=None,
26175    ):
26176        self.activity_id = activity_id if activity_id is not None else ''
26177        '''
26178         The unique identifier of the Activity that produced this change to the WorkflowApprover.
26179         May be empty for some system-initiated updates.
26180        '''
26181        self.deleted_at = deleted_at if deleted_at is not None else None
26182        '''
26183         If this WorkflowApprover was deleted, the time it was deleted.
26184        '''
26185        self.timestamp = timestamp if timestamp is not None else None
26186        '''
26187         The time at which the WorkflowApprover state was recorded.
26188        '''
26189        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26190        '''
26191         The complete WorkflowApprover state at this time.
26192        '''
26193
26194    def __repr__(self):
26195        return '<sdm.WorkflowApproverHistory ' + \
26196            'activity_id: ' + repr(self.activity_id) + ' ' +\
26197            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26198            'timestamp: ' + repr(self.timestamp) + ' ' +\
26199            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26200            '>'
26201
26202    def to_dict(self):
26203        return {
26204            'activity_id': self.activity_id,
26205            'deleted_at': self.deleted_at,
26206            'timestamp': self.timestamp,
26207            'workflow_approver': self.workflow_approver,
26208        }
26209
26210    @classmethod
26211    def from_dict(cls, d):
26212        return cls(
26213            activity_id=d.get('activity_id'),
26214            deleted_at=d.get('deleted_at'),
26215            timestamp=d.get('timestamp'),
26216            workflow_approver=d.get('workflow_approver'),
26217        )
26218
26219
26220class WorkflowApproversCreateRequest:
26221    '''
26222         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
26223     workflow approver to be created.
26224    '''
26225    __slots__ = [
26226        'workflow_approver',
26227    ]
26228
26229    def __init__(
26230        self,
26231        workflow_approver=None,
26232    ):
26233        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26234        '''
26235         Parameters to define the new WorkflowApprover.
26236        '''
26237
26238    def __repr__(self):
26239        return '<sdm.WorkflowApproversCreateRequest ' + \
26240            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26241            '>'
26242
26243    def to_dict(self):
26244        return {
26245            'workflow_approver': self.workflow_approver,
26246        }
26247
26248    @classmethod
26249    def from_dict(cls, d):
26250        return cls(workflow_approver=d.get('workflow_approver'), )
26251
26252
26253class WorkflowApproversCreateResponse:
26254    '''
26255         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
26256    '''
26257    __slots__ = [
26258        'rate_limit',
26259        'workflow_approver',
26260    ]
26261
26262    def __init__(
26263        self,
26264        rate_limit=None,
26265        workflow_approver=None,
26266    ):
26267        self.rate_limit = rate_limit if rate_limit is not None else None
26268        '''
26269         Rate limit information.
26270        '''
26271        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26272        '''
26273         The created workflow approver.
26274        '''
26275
26276    def __repr__(self):
26277        return '<sdm.WorkflowApproversCreateResponse ' + \
26278            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26279            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26280            '>'
26281
26282    def to_dict(self):
26283        return {
26284            'rate_limit': self.rate_limit,
26285            'workflow_approver': self.workflow_approver,
26286        }
26287
26288    @classmethod
26289    def from_dict(cls, d):
26290        return cls(
26291            rate_limit=d.get('rate_limit'),
26292            workflow_approver=d.get('workflow_approver'),
26293        )
26294
26295
26296class WorkflowApproversDeleteRequest:
26297    '''
26298         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
26299    '''
26300    __slots__ = [
26301        'id',
26302    ]
26303
26304    def __init__(
26305        self,
26306        id=None,
26307    ):
26308        self.id = id if id is not None else ''
26309        '''
26310         The unique identifier of the WorkflowApprover to delete.
26311        '''
26312
26313    def __repr__(self):
26314        return '<sdm.WorkflowApproversDeleteRequest ' + \
26315            'id: ' + repr(self.id) + ' ' +\
26316            '>'
26317
26318    def to_dict(self):
26319        return {
26320            'id': self.id,
26321        }
26322
26323    @classmethod
26324    def from_dict(cls, d):
26325        return cls(id=d.get('id'), )
26326
26327
26328class WorkflowApproversDeleteResponse:
26329    '''
26330         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
26331    '''
26332    __slots__ = [
26333        'rate_limit',
26334    ]
26335
26336    def __init__(
26337        self,
26338        rate_limit=None,
26339    ):
26340        self.rate_limit = rate_limit if rate_limit is not None else None
26341        '''
26342         Rate limit information.
26343        '''
26344
26345    def __repr__(self):
26346        return '<sdm.WorkflowApproversDeleteResponse ' + \
26347            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26348            '>'
26349
26350    def to_dict(self):
26351        return {
26352            'rate_limit': self.rate_limit,
26353        }
26354
26355    @classmethod
26356    def from_dict(cls, d):
26357        return cls(rate_limit=d.get('rate_limit'), )
26358
26359
26360class WorkflowApproversListRequest:
26361    '''
26362         WorkflowApproversListRequest specifies criteria for retrieving a list of
26363     WorkflowApprover records
26364    '''
26365    __slots__ = [
26366        'filter',
26367    ]
26368
26369    def __init__(
26370        self,
26371        filter=None,
26372    ):
26373        self.filter = filter if filter is not None else ''
26374        '''
26375         A human-readable filter query string.
26376        '''
26377
26378    def __repr__(self):
26379        return '<sdm.WorkflowApproversListRequest ' + \
26380            'filter: ' + repr(self.filter) + ' ' +\
26381            '>'
26382
26383    def to_dict(self):
26384        return {
26385            'filter': self.filter,
26386        }
26387
26388    @classmethod
26389    def from_dict(cls, d):
26390        return cls(filter=d.get('filter'), )
26391
26392
26393class WorkflowApproversListResponse:
26394    '''
26395         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
26396     the criteria of a WorkflowApproversListRequest.
26397    '''
26398    __slots__ = [
26399        'rate_limit',
26400    ]
26401
26402    def __init__(
26403        self,
26404        rate_limit=None,
26405    ):
26406        self.rate_limit = rate_limit if rate_limit is not None else None
26407        '''
26408         Rate limit information.
26409        '''
26410
26411    def __repr__(self):
26412        return '<sdm.WorkflowApproversListResponse ' + \
26413            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26414            '>'
26415
26416    def to_dict(self):
26417        return {
26418            'rate_limit': self.rate_limit,
26419        }
26420
26421    @classmethod
26422    def from_dict(cls, d):
26423        return cls(rate_limit=d.get('rate_limit'), )
26424
26425
26426class WorkflowAssignment:
26427    '''
26428         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
26429     access to via the workflow.
26430    '''
26431    __slots__ = [
26432        'resource_id',
26433        'workflow_id',
26434    ]
26435
26436    def __init__(
26437        self,
26438        resource_id=None,
26439        workflow_id=None,
26440    ):
26441        self.resource_id = resource_id if resource_id is not None else ''
26442        '''
26443         The resource id.
26444        '''
26445        self.workflow_id = workflow_id if workflow_id is not None else ''
26446        '''
26447         The workflow id.
26448        '''
26449
26450    def __repr__(self):
26451        return '<sdm.WorkflowAssignment ' + \
26452            'resource_id: ' + repr(self.resource_id) + ' ' +\
26453            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26454            '>'
26455
26456    def to_dict(self):
26457        return {
26458            'resource_id': self.resource_id,
26459            'workflow_id': self.workflow_id,
26460        }
26461
26462    @classmethod
26463    def from_dict(cls, d):
26464        return cls(
26465            resource_id=d.get('resource_id'),
26466            workflow_id=d.get('workflow_id'),
26467        )
26468
26469
26470class WorkflowAssignmentHistory:
26471    '''
26472         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
26473    '''
26474    __slots__ = [
26475        'activity_id',
26476        'deleted_at',
26477        'timestamp',
26478        'workflow_assignment',
26479    ]
26480
26481    def __init__(
26482        self,
26483        activity_id=None,
26484        deleted_at=None,
26485        timestamp=None,
26486        workflow_assignment=None,
26487    ):
26488        self.activity_id = activity_id if activity_id is not None else ''
26489        '''
26490         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
26491         May be empty for some system-initiated updates.
26492        '''
26493        self.deleted_at = deleted_at if deleted_at is not None else None
26494        '''
26495         If this WorkflowAssignment was deleted, the time it was deleted.
26496        '''
26497        self.timestamp = timestamp if timestamp is not None else None
26498        '''
26499         The time at which the WorkflowAssignment state was recorded.
26500        '''
26501        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
26502        '''
26503         The complete WorkflowAssignment state at this time.
26504        '''
26505
26506    def __repr__(self):
26507        return '<sdm.WorkflowAssignmentHistory ' + \
26508            'activity_id: ' + repr(self.activity_id) + ' ' +\
26509            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26510            'timestamp: ' + repr(self.timestamp) + ' ' +\
26511            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
26512            '>'
26513
26514    def to_dict(self):
26515        return {
26516            'activity_id': self.activity_id,
26517            'deleted_at': self.deleted_at,
26518            'timestamp': self.timestamp,
26519            'workflow_assignment': self.workflow_assignment,
26520        }
26521
26522    @classmethod
26523    def from_dict(cls, d):
26524        return cls(
26525            activity_id=d.get('activity_id'),
26526            deleted_at=d.get('deleted_at'),
26527            timestamp=d.get('timestamp'),
26528            workflow_assignment=d.get('workflow_assignment'),
26529        )
26530
26531
26532class WorkflowAssignmentsListRequest:
26533    '''
26534         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
26535     WorkflowAssignment records
26536    '''
26537    __slots__ = [
26538        'filter',
26539    ]
26540
26541    def __init__(
26542        self,
26543        filter=None,
26544    ):
26545        self.filter = filter if filter is not None else ''
26546        '''
26547         A human-readable filter query string.
26548        '''
26549
26550    def __repr__(self):
26551        return '<sdm.WorkflowAssignmentsListRequest ' + \
26552            'filter: ' + repr(self.filter) + ' ' +\
26553            '>'
26554
26555    def to_dict(self):
26556        return {
26557            'filter': self.filter,
26558        }
26559
26560    @classmethod
26561    def from_dict(cls, d):
26562        return cls(filter=d.get('filter'), )
26563
26564
26565class WorkflowAssignmentsListResponse:
26566    '''
26567         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
26568     the criteria of a WorkflowAssignmentsListRequest.
26569    '''
26570    __slots__ = [
26571        'rate_limit',
26572    ]
26573
26574    def __init__(
26575        self,
26576        rate_limit=None,
26577    ):
26578        self.rate_limit = rate_limit if rate_limit is not None else None
26579        '''
26580         Rate limit information.
26581        '''
26582
26583    def __repr__(self):
26584        return '<sdm.WorkflowAssignmentsListResponse ' + \
26585            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26586            '>'
26587
26588    def to_dict(self):
26589        return {
26590            'rate_limit': self.rate_limit,
26591        }
26592
26593    @classmethod
26594    def from_dict(cls, d):
26595        return cls(rate_limit=d.get('rate_limit'), )
26596
26597
26598class WorkflowCreateResponse:
26599    '''
26600         WorkflowCreateResponse reports how the Workflow was created in the system.
26601    '''
26602    __slots__ = [
26603        'rate_limit',
26604        'workflow',
26605    ]
26606
26607    def __init__(
26608        self,
26609        rate_limit=None,
26610        workflow=None,
26611    ):
26612        self.rate_limit = rate_limit if rate_limit is not None else None
26613        '''
26614         Rate limit information.
26615        '''
26616        self.workflow = workflow if workflow is not None else None
26617        '''
26618         The created workflow.
26619        '''
26620
26621    def __repr__(self):
26622        return '<sdm.WorkflowCreateResponse ' + \
26623            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26624            'workflow: ' + repr(self.workflow) + ' ' +\
26625            '>'
26626
26627    def to_dict(self):
26628        return {
26629            'rate_limit': self.rate_limit,
26630            'workflow': self.workflow,
26631        }
26632
26633    @classmethod
26634    def from_dict(cls, d):
26635        return cls(
26636            rate_limit=d.get('rate_limit'),
26637            workflow=d.get('workflow'),
26638        )
26639
26640
26641class WorkflowDeleteResponse:
26642    '''
26643         WorkflowDeleteResponse returns information about a Workflow that was deleted.
26644    '''
26645    __slots__ = [
26646        'id',
26647        'rate_limit',
26648    ]
26649
26650    def __init__(
26651        self,
26652        id=None,
26653        rate_limit=None,
26654    ):
26655        self.id = id if id is not None else ''
26656        '''
26657         The deleted workflow id.
26658        '''
26659        self.rate_limit = rate_limit if rate_limit is not None else None
26660        '''
26661         Rate limit information.
26662        '''
26663
26664    def __repr__(self):
26665        return '<sdm.WorkflowDeleteResponse ' + \
26666            'id: ' + repr(self.id) + ' ' +\
26667            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26668            '>'
26669
26670    def to_dict(self):
26671        return {
26672            'id': self.id,
26673            'rate_limit': self.rate_limit,
26674        }
26675
26676    @classmethod
26677    def from_dict(cls, d):
26678        return cls(
26679            id=d.get('id'),
26680            rate_limit=d.get('rate_limit'),
26681        )
26682
26683
26684class WorkflowGetResponse:
26685    '''
26686         WorkflowGetResponse returns a requested Workflow.
26687    '''
26688    __slots__ = [
26689        'meta',
26690        'rate_limit',
26691        'workflow',
26692    ]
26693
26694    def __init__(
26695        self,
26696        meta=None,
26697        rate_limit=None,
26698        workflow=None,
26699    ):
26700        self.meta = meta if meta is not None else None
26701        '''
26702         Reserved for future use.
26703        '''
26704        self.rate_limit = rate_limit if rate_limit is not None else None
26705        '''
26706         Rate limit information.
26707        '''
26708        self.workflow = workflow if workflow is not None else None
26709        '''
26710         The requested Workflow.
26711        '''
26712
26713    def __repr__(self):
26714        return '<sdm.WorkflowGetResponse ' + \
26715            'meta: ' + repr(self.meta) + ' ' +\
26716            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26717            'workflow: ' + repr(self.workflow) + ' ' +\
26718            '>'
26719
26720    def to_dict(self):
26721        return {
26722            'meta': self.meta,
26723            'rate_limit': self.rate_limit,
26724            'workflow': self.workflow,
26725        }
26726
26727    @classmethod
26728    def from_dict(cls, d):
26729        return cls(
26730            meta=d.get('meta'),
26731            rate_limit=d.get('rate_limit'),
26732            workflow=d.get('workflow'),
26733        )
26734
26735
26736class WorkflowHistory:
26737    '''
26738         WorkflowsHistory provides records of all changes to the state of a Workflow.
26739    '''
26740    __slots__ = [
26741        'activity_id',
26742        'deleted_at',
26743        'timestamp',
26744        'workflow',
26745    ]
26746
26747    def __init__(
26748        self,
26749        activity_id=None,
26750        deleted_at=None,
26751        timestamp=None,
26752        workflow=None,
26753    ):
26754        self.activity_id = activity_id if activity_id is not None else ''
26755        '''
26756         The unique identifier of the Activity that produced this change to the Workflow.
26757         May be empty for some system-initiated updates.
26758        '''
26759        self.deleted_at = deleted_at if deleted_at is not None else None
26760        '''
26761         If this Workflow was deleted, the time it was deleted.
26762        '''
26763        self.timestamp = timestamp if timestamp is not None else None
26764        '''
26765         The time at which the Workflow state was recorded.
26766        '''
26767        self.workflow = workflow if workflow is not None else None
26768        '''
26769         The complete Workflow state at this time.
26770        '''
26771
26772    def __repr__(self):
26773        return '<sdm.WorkflowHistory ' + \
26774            'activity_id: ' + repr(self.activity_id) + ' ' +\
26775            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26776            'timestamp: ' + repr(self.timestamp) + ' ' +\
26777            'workflow: ' + repr(self.workflow) + ' ' +\
26778            '>'
26779
26780    def to_dict(self):
26781        return {
26782            'activity_id': self.activity_id,
26783            'deleted_at': self.deleted_at,
26784            'timestamp': self.timestamp,
26785            'workflow': self.workflow,
26786        }
26787
26788    @classmethod
26789    def from_dict(cls, d):
26790        return cls(
26791            activity_id=d.get('activity_id'),
26792            deleted_at=d.get('deleted_at'),
26793            timestamp=d.get('timestamp'),
26794            workflow=d.get('workflow'),
26795        )
26796
26797
26798class WorkflowListResponse:
26799    '''
26800         WorkflowListResponse returns a list of Workflow records that meet
26801     the criteria of a WorkflowListRequest.
26802    '''
26803    __slots__ = [
26804        'rate_limit',
26805    ]
26806
26807    def __init__(
26808        self,
26809        rate_limit=None,
26810    ):
26811        self.rate_limit = rate_limit if rate_limit is not None else None
26812        '''
26813         Rate limit information.
26814        '''
26815
26816    def __repr__(self):
26817        return '<sdm.WorkflowListResponse ' + \
26818            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26819            '>'
26820
26821    def to_dict(self):
26822        return {
26823            'rate_limit': self.rate_limit,
26824        }
26825
26826    @classmethod
26827    def from_dict(cls, d):
26828        return cls(rate_limit=d.get('rate_limit'), )
26829
26830
26831class WorkflowRole:
26832    '''
26833         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
26834     to request access to a resource via the workflow.
26835    '''
26836    __slots__ = [
26837        'id',
26838        'role_id',
26839        'workflow_id',
26840    ]
26841
26842    def __init__(
26843        self,
26844        id=None,
26845        role_id=None,
26846        workflow_id=None,
26847    ):
26848        self.id = id if id is not None else ''
26849        '''
26850         Unique identifier of the WorkflowRole.
26851        '''
26852        self.role_id = role_id if role_id is not None else ''
26853        '''
26854         The role id.
26855        '''
26856        self.workflow_id = workflow_id if workflow_id is not None else ''
26857        '''
26858         The workflow id.
26859        '''
26860
26861    def __repr__(self):
26862        return '<sdm.WorkflowRole ' + \
26863            'id: ' + repr(self.id) + ' ' +\
26864            'role_id: ' + repr(self.role_id) + ' ' +\
26865            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26866            '>'
26867
26868    def to_dict(self):
26869        return {
26870            'id': self.id,
26871            'role_id': self.role_id,
26872            'workflow_id': self.workflow_id,
26873        }
26874
26875    @classmethod
26876    def from_dict(cls, d):
26877        return cls(
26878            id=d.get('id'),
26879            role_id=d.get('role_id'),
26880            workflow_id=d.get('workflow_id'),
26881        )
26882
26883
26884class WorkflowRoleGetResponse:
26885    '''
26886         WorkflowRoleGetResponse returns a requested WorkflowRole.
26887    '''
26888    __slots__ = [
26889        'meta',
26890        'rate_limit',
26891        'workflow_role',
26892    ]
26893
26894    def __init__(
26895        self,
26896        meta=None,
26897        rate_limit=None,
26898        workflow_role=None,
26899    ):
26900        self.meta = meta if meta is not None else None
26901        '''
26902         Reserved for future use.
26903        '''
26904        self.rate_limit = rate_limit if rate_limit is not None else None
26905        '''
26906         Rate limit information.
26907        '''
26908        self.workflow_role = workflow_role if workflow_role is not None else None
26909        '''
26910         The requested WorkflowRole.
26911        '''
26912
26913    def __repr__(self):
26914        return '<sdm.WorkflowRoleGetResponse ' + \
26915            'meta: ' + repr(self.meta) + ' ' +\
26916            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26917            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
26918            '>'
26919
26920    def to_dict(self):
26921        return {
26922            'meta': self.meta,
26923            'rate_limit': self.rate_limit,
26924            'workflow_role': self.workflow_role,
26925        }
26926
26927    @classmethod
26928    def from_dict(cls, d):
26929        return cls(
26930            meta=d.get('meta'),
26931            rate_limit=d.get('rate_limit'),
26932            workflow_role=d.get('workflow_role'),
26933        )
26934
26935
26936class WorkflowRoleHistory:
26937    '''
26938         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
26939    '''
26940    __slots__ = [
26941        'activity_id',
26942        'deleted_at',
26943        'timestamp',
26944        'workflow_role',
26945    ]
26946
26947    def __init__(
26948        self,
26949        activity_id=None,
26950        deleted_at=None,
26951        timestamp=None,
26952        workflow_role=None,
26953    ):
26954        self.activity_id = activity_id if activity_id is not None else ''
26955        '''
26956         The unique identifier of the Activity that produced this change to the WorkflowRole.
26957         May be empty for some system-initiated updates.
26958        '''
26959        self.deleted_at = deleted_at if deleted_at is not None else None
26960        '''
26961         If this WorkflowRole was deleted, the time it was deleted.
26962        '''
26963        self.timestamp = timestamp if timestamp is not None else None
26964        '''
26965         The time at which the WorkflowRole state was recorded.
26966        '''
26967        self.workflow_role = workflow_role if workflow_role is not None else None
26968        '''
26969         The complete WorkflowRole state at this time.
26970        '''
26971
26972    def __repr__(self):
26973        return '<sdm.WorkflowRoleHistory ' + \
26974            'activity_id: ' + repr(self.activity_id) + ' ' +\
26975            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26976            'timestamp: ' + repr(self.timestamp) + ' ' +\
26977            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
26978            '>'
26979
26980    def to_dict(self):
26981        return {
26982            'activity_id': self.activity_id,
26983            'deleted_at': self.deleted_at,
26984            'timestamp': self.timestamp,
26985            'workflow_role': self.workflow_role,
26986        }
26987
26988    @classmethod
26989    def from_dict(cls, d):
26990        return cls(
26991            activity_id=d.get('activity_id'),
26992            deleted_at=d.get('deleted_at'),
26993            timestamp=d.get('timestamp'),
26994            workflow_role=d.get('workflow_role'),
26995        )
26996
26997
26998class WorkflowRolesCreateRequest:
26999    '''
27000         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
27001     workflow role to be created.
27002    '''
27003    __slots__ = [
27004        'workflow_role',
27005    ]
27006
27007    def __init__(
27008        self,
27009        workflow_role=None,
27010    ):
27011        self.workflow_role = workflow_role if workflow_role is not None else None
27012        '''
27013         Parameters to define the new WorkflowRole.
27014        '''
27015
27016    def __repr__(self):
27017        return '<sdm.WorkflowRolesCreateRequest ' + \
27018            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
27019            '>'
27020
27021    def to_dict(self):
27022        return {
27023            'workflow_role': self.workflow_role,
27024        }
27025
27026    @classmethod
27027    def from_dict(cls, d):
27028        return cls(workflow_role=d.get('workflow_role'), )
27029
27030
27031class WorkflowRolesCreateResponse:
27032    '''
27033         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
27034    '''
27035    __slots__ = [
27036        'rate_limit',
27037        'workflow_role',
27038    ]
27039
27040    def __init__(
27041        self,
27042        rate_limit=None,
27043        workflow_role=None,
27044    ):
27045        self.rate_limit = rate_limit if rate_limit is not None else None
27046        '''
27047         Rate limit information.
27048        '''
27049        self.workflow_role = workflow_role if workflow_role is not None else None
27050        '''
27051         The created workflow role.
27052        '''
27053
27054    def __repr__(self):
27055        return '<sdm.WorkflowRolesCreateResponse ' + \
27056            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27057            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
27058            '>'
27059
27060    def to_dict(self):
27061        return {
27062            'rate_limit': self.rate_limit,
27063            'workflow_role': self.workflow_role,
27064        }
27065
27066    @classmethod
27067    def from_dict(cls, d):
27068        return cls(
27069            rate_limit=d.get('rate_limit'),
27070            workflow_role=d.get('workflow_role'),
27071        )
27072
27073
27074class WorkflowRolesDeleteRequest:
27075    '''
27076         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
27077    '''
27078    __slots__ = [
27079        'id',
27080    ]
27081
27082    def __init__(
27083        self,
27084        id=None,
27085    ):
27086        self.id = id if id is not None else ''
27087        '''
27088         The unique identifier of the WorkflowRole to delete.
27089        '''
27090
27091    def __repr__(self):
27092        return '<sdm.WorkflowRolesDeleteRequest ' + \
27093            'id: ' + repr(self.id) + ' ' +\
27094            '>'
27095
27096    def to_dict(self):
27097        return {
27098            'id': self.id,
27099        }
27100
27101    @classmethod
27102    def from_dict(cls, d):
27103        return cls(id=d.get('id'), )
27104
27105
27106class WorkflowRolesDeleteResponse:
27107    '''
27108         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
27109    '''
27110    __slots__ = [
27111        'rate_limit',
27112    ]
27113
27114    def __init__(
27115        self,
27116        rate_limit=None,
27117    ):
27118        self.rate_limit = rate_limit if rate_limit is not None else None
27119        '''
27120         Rate limit information.
27121        '''
27122
27123    def __repr__(self):
27124        return '<sdm.WorkflowRolesDeleteResponse ' + \
27125            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27126            '>'
27127
27128    def to_dict(self):
27129        return {
27130            'rate_limit': self.rate_limit,
27131        }
27132
27133    @classmethod
27134    def from_dict(cls, d):
27135        return cls(rate_limit=d.get('rate_limit'), )
27136
27137
27138class WorkflowRolesListRequest:
27139    '''
27140         WorkflowRolesListRequest specifies criteria for retrieving a list of
27141     WorkflowRole records
27142    '''
27143    __slots__ = [
27144        'filter',
27145    ]
27146
27147    def __init__(
27148        self,
27149        filter=None,
27150    ):
27151        self.filter = filter if filter is not None else ''
27152        '''
27153         A human-readable filter query string.
27154        '''
27155
27156    def __repr__(self):
27157        return '<sdm.WorkflowRolesListRequest ' + \
27158            'filter: ' + repr(self.filter) + ' ' +\
27159            '>'
27160
27161    def to_dict(self):
27162        return {
27163            'filter': self.filter,
27164        }
27165
27166    @classmethod
27167    def from_dict(cls, d):
27168        return cls(filter=d.get('filter'), )
27169
27170
27171class WorkflowRolesListResponse:
27172    '''
27173         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
27174     the criteria of a WorkflowRolesListRequest.
27175    '''
27176    __slots__ = [
27177        'rate_limit',
27178    ]
27179
27180    def __init__(
27181        self,
27182        rate_limit=None,
27183    ):
27184        self.rate_limit = rate_limit if rate_limit is not None else None
27185        '''
27186         Rate limit information.
27187        '''
27188
27189    def __repr__(self):
27190        return '<sdm.WorkflowRolesListResponse ' + \
27191            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27192            '>'
27193
27194    def to_dict(self):
27195        return {
27196            'rate_limit': self.rate_limit,
27197        }
27198
27199    @classmethod
27200    def from_dict(cls, d):
27201        return cls(rate_limit=d.get('rate_limit'), )
27202
27203
27204class WorkflowUpdateResponse:
27205    '''
27206         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
27207     a WorkflowUpdateRequest.
27208    '''
27209    __slots__ = [
27210        'rate_limit',
27211        'workflow',
27212    ]
27213
27214    def __init__(
27215        self,
27216        rate_limit=None,
27217        workflow=None,
27218    ):
27219        self.rate_limit = rate_limit if rate_limit is not None else None
27220        '''
27221         Rate limit information.
27222        '''
27223        self.workflow = workflow if workflow is not None else None
27224        '''
27225         The updated workflow.
27226        '''
27227
27228    def __repr__(self):
27229        return '<sdm.WorkflowUpdateResponse ' + \
27230            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27231            'workflow: ' + repr(self.workflow) + ' ' +\
27232            '>'
27233
27234    def to_dict(self):
27235        return {
27236            'rate_limit': self.rate_limit,
27237            'workflow': self.workflow,
27238        }
27239
27240    @classmethod
27241    def from_dict(cls, d):
27242        return cls(
27243            rate_limit=d.get('rate_limit'),
27244            workflow=d.get('workflow'),
27245        )
27246
27247
27248def _porcelain_zero_value_tags():
27249    return {}
27250
27251
27252def _porcelain_zero_value_access_rules():
27253    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        'account_id',
2643        'id',
2644        'resource_id',
2645        'start_from',
2646        'valid_until',
2647    ]
2648
2649    def __init__(
2650        self,
2651        account_id=None,
2652        id=None,
2653        resource_id=None,
2654        start_from=None,
2655        valid_until=None,
2656    ):
2657        self.account_id = account_id if account_id is not None else ''
2658        '''
2659         The account ID of this AccountGrant.
2660        '''
2661        self.id = id if id is not None else ''
2662        '''
2663         Unique identifier of the AccountGrant.
2664        '''
2665        self.resource_id = resource_id if resource_id is not None else ''
2666        '''
2667         The resource ID of this AccountGrant.
2668        '''
2669        self.start_from = start_from if start_from is not None else None
2670        '''
2671         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.
2672        '''
2673        self.valid_until = valid_until if valid_until is not None else None
2674        '''
2675         The timestamp when the resource grant will expire.
2676        '''
2677
2678    def __repr__(self):
2679        return '<sdm.AccountGrant ' + \
2680            'account_id: ' + repr(self.account_id) + ' ' +\
2681            'id: ' + repr(self.id) + ' ' +\
2682            'resource_id: ' + repr(self.resource_id) + ' ' +\
2683            'start_from: ' + repr(self.start_from) + ' ' +\
2684            'valid_until: ' + repr(self.valid_until) + ' ' +\
2685            '>'
2686
2687    def to_dict(self):
2688        return {
2689            'account_id': self.account_id,
2690            'id': self.id,
2691            'resource_id': self.resource_id,
2692            'start_from': self.start_from,
2693            'valid_until': self.valid_until,
2694        }
2695
2696    @classmethod
2697    def from_dict(cls, d):
2698        return cls(
2699            account_id=d.get('account_id'),
2700            id=d.get('id'),
2701            resource_id=d.get('resource_id'),
2702            start_from=d.get('start_from'),
2703            valid_until=d.get('valid_until'),
2704        )

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

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

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

AccountGrantCreateResponse(account_grant=None, meta=None, rate_limit=None)
2717    def __init__(
2718        self,
2719        account_grant=None,
2720        meta=None,
2721        rate_limit=None,
2722    ):
2723        self.account_grant = account_grant if account_grant is not None else None
2724        '''
2725         The created AccountGrant.
2726        '''
2727        self.meta = meta if meta is not None else None
2728        '''
2729         Reserved for future use.
2730        '''
2731        self.rate_limit = rate_limit if rate_limit is not None else None
2732        '''
2733         Rate limit information.
2734        '''
account_grant

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

AccountGrantDeleteResponse(meta=None, rate_limit=None)
2768    def __init__(
2769        self,
2770        meta=None,
2771        rate_limit=None,
2772    ):
2773        self.meta = meta if meta is not None else None
2774        '''
2775         Reserved for future use.
2776        '''
2777        self.rate_limit = rate_limit if rate_limit is not None else None
2778        '''
2779         Rate limit information.
2780        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantGetResponse returns a requested AccountGrant.

AccountGrantGetResponse(account_grant=None, meta=None, rate_limit=None)
2812    def __init__(
2813        self,
2814        account_grant=None,
2815        meta=None,
2816        rate_limit=None,
2817    ):
2818        self.account_grant = account_grant if account_grant is not None else None
2819        '''
2820         The requested AccountGrant.
2821        '''
2822        self.meta = meta if meta is not None else None
2823        '''
2824         Reserved for future use.
2825        '''
2826        self.rate_limit = rate_limit if rate_limit is not None else None
2827        '''
2828         Rate limit information.
2829        '''
account_grant

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

AccountPermission represents an individual API action available to an account.

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

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

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

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

AccountUpdateResponse(account=None, meta=None, rate_limit=None)
3225    def __init__(
3226        self,
3227        account=None,
3228        meta=None,
3229        rate_limit=None,
3230    ):
3231        self.account = account if account is not None else None
3232        '''
3233         The updated Account.
3234        '''
3235        self.meta = meta if meta is not None else None
3236        '''
3237         Reserved for future use.
3238        '''
3239        self.rate_limit = rate_limit if rate_limit is not None else None
3240        '''
3241         Rate limit information.
3242        '''
account

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3251    def to_dict(self):
3252        return {
3253            'account': self.account,
3254            'meta': self.meta,
3255            'rate_limit': self.rate_limit,
3256        }
@classmethod
def from_dict(cls, d)
3258    @classmethod
3259    def from_dict(cls, d):
3260        return cls(
3261            account=d.get('account'),
3262            meta=d.get('meta'),
3263            rate_limit=d.get('rate_limit'),
3264        )
class ActiveDirectoryStore:
3267class ActiveDirectoryStore:
3268    __slots__ = [
3269        'id',
3270        'name',
3271        'server_address',
3272        'tags',
3273    ]
3274
3275    def __init__(
3276        self,
3277        id=None,
3278        name=None,
3279        server_address=None,
3280        tags=None,
3281    ):
3282        self.id = id if id is not None else ''
3283        '''
3284         Unique identifier of the SecretStore.
3285        '''
3286        self.name = name if name is not None else ''
3287        '''
3288         Unique human-readable name of the SecretStore.
3289        '''
3290        self.server_address = server_address if server_address is not None else ''
3291        '''
3292         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3293         Often this is the same host as Active Directory Certificate Services
3294        '''
3295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3296        '''
3297         Tags is a map of key, value pairs.
3298        '''
3299
3300    def __repr__(self):
3301        return '<sdm.ActiveDirectoryStore ' + \
3302            'id: ' + repr(self.id) + ' ' +\
3303            'name: ' + repr(self.name) + ' ' +\
3304            'server_address: ' + repr(self.server_address) + ' ' +\
3305            'tags: ' + repr(self.tags) + ' ' +\
3306            '>'
3307
3308    def to_dict(self):
3309        return {
3310            'id': self.id,
3311            'name': self.name,
3312            'server_address': self.server_address,
3313            'tags': self.tags,
3314        }
3315
3316    @classmethod
3317    def from_dict(cls, d):
3318        return cls(
3319            id=d.get('id'),
3320            name=d.get('name'),
3321            server_address=d.get('server_address'),
3322            tags=d.get('tags'),
3323        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
3275    def __init__(
3276        self,
3277        id=None,
3278        name=None,
3279        server_address=None,
3280        tags=None,
3281    ):
3282        self.id = id if id is not None else ''
3283        '''
3284         Unique identifier of the SecretStore.
3285        '''
3286        self.name = name if name is not None else ''
3287        '''
3288         Unique human-readable name of the SecretStore.
3289        '''
3290        self.server_address = server_address if server_address is not None else ''
3291        '''
3292         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3293         Often this is the same host as Active Directory Certificate Services
3294        '''
3295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3296        '''
3297         Tags is a map of key, value pairs.
3298        '''
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)
3308    def to_dict(self):
3309        return {
3310            'id': self.id,
3311            'name': self.name,
3312            'server_address': self.server_address,
3313            'tags': self.tags,
3314        }
@classmethod
def from_dict(cls, d)
3316    @classmethod
3317    def from_dict(cls, d):
3318        return cls(
3319            id=d.get('id'),
3320            name=d.get('name'),
3321            server_address=d.get('server_address'),
3322            tags=d.get('tags'),
3323        )
class Activity:
3326class Activity:
3327    '''
3328         An Activity is a record of an action taken against a strongDM deployment, e.g.
3329     a user creation, resource deletion, sso configuration change, etc.
3330    '''
3331    __slots__ = [
3332        'actor',
3333        'completed_at',
3334        'description',
3335        'entities',
3336        'id',
3337        'ip_address',
3338        'user_agent',
3339        'verb',
3340    ]
3341
3342    def __init__(
3343        self,
3344        actor=None,
3345        completed_at=None,
3346        description=None,
3347        entities=None,
3348        id=None,
3349        ip_address=None,
3350        user_agent=None,
3351        verb=None,
3352    ):
3353        self.actor = actor if actor is not None else None
3354        '''
3355         The account who executed this activity. If the actor later has a name or email change,
3356         that change is not reflected here. Actor is a snapshot of the executing account at
3357         the time an activity took place.
3358        '''
3359        self.completed_at = completed_at if completed_at is not None else None
3360        '''
3361         The time this activity took effect.
3362        '''
3363        self.description = description if description is not None else ''
3364        '''
3365         A humanized description of the activity.
3366        '''
3367        self.entities = entities if entities is not None else []
3368        '''
3369         The entities involved in this activity. These entities can be any first class
3370         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3371         every activity affects explicit entities.
3372        '''
3373        self.id = id if id is not None else ''
3374        '''
3375         Unique identifier of the Activity.
3376        '''
3377        self.ip_address = ip_address if ip_address is not None else ''
3378        '''
3379         The IP from which this action was taken.
3380        '''
3381        self.user_agent = user_agent if user_agent is not None else ''
3382        '''
3383         The User Agent present when this request was executed. Generally a client type and version
3384         like strongdm-cli/55.66.77
3385        '''
3386        self.verb = verb if verb is not None else ''
3387        '''
3388         The kind of activity which has taken place, one of the ActivityVerb constants.
3389        '''
3390
3391    def __repr__(self):
3392        return '<sdm.Activity ' + \
3393            'actor: ' + repr(self.actor) + ' ' +\
3394            'completed_at: ' + repr(self.completed_at) + ' ' +\
3395            'description: ' + repr(self.description) + ' ' +\
3396            'entities: ' + repr(self.entities) + ' ' +\
3397            'id: ' + repr(self.id) + ' ' +\
3398            'ip_address: ' + repr(self.ip_address) + ' ' +\
3399            'user_agent: ' + repr(self.user_agent) + ' ' +\
3400            'verb: ' + repr(self.verb) + ' ' +\
3401            '>'
3402
3403    def to_dict(self):
3404        return {
3405            'actor': self.actor,
3406            'completed_at': self.completed_at,
3407            'description': self.description,
3408            'entities': self.entities,
3409            'id': self.id,
3410            'ip_address': self.ip_address,
3411            'user_agent': self.user_agent,
3412            'verb': self.verb,
3413        }
3414
3415    @classmethod
3416    def from_dict(cls, d):
3417        return cls(
3418            actor=d.get('actor'),
3419            completed_at=d.get('completed_at'),
3420            description=d.get('description'),
3421            entities=d.get('entities'),
3422            id=d.get('id'),
3423            ip_address=d.get('ip_address'),
3424            user_agent=d.get('user_agent'),
3425            verb=d.get('verb'),
3426        )

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

ActivityGetResponse returns a requested Activity.

ActivityGetResponse(activity=None, meta=None, rate_limit=None)
3573    def __init__(
3574        self,
3575        activity=None,
3576        meta=None,
3577        rate_limit=None,
3578    ):
3579        self.activity = activity if activity is not None else None
3580        '''
3581         The requested Activity.
3582        '''
3583        self.meta = meta if meta is not None else None
3584        '''
3585         Reserved for future use.
3586        '''
3587        self.rate_limit = rate_limit if rate_limit is not None else None
3588        '''
3589         Rate limit information.
3590        '''
activity

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3599    def to_dict(self):
3600        return {
3601            'activity': self.activity,
3602            'meta': self.meta,
3603            'rate_limit': self.rate_limit,
3604        }
@classmethod
def from_dict(cls, d)
3606    @classmethod
3607    def from_dict(cls, d):
3608        return cls(
3609            activity=d.get('activity'),
3610            meta=d.get('meta'),
3611            rate_limit=d.get('rate_limit'),
3612        )
class AmazonEKS:
3615class AmazonEKS:
3616    __slots__ = [
3617        'access_key',
3618        'allow_resource_role_bypass',
3619        'bind_interface',
3620        'certificate_authority',
3621        'cluster_name',
3622        'discovery_enabled',
3623        'discovery_username',
3624        'egress_filter',
3625        'endpoint',
3626        'healthcheck_namespace',
3627        'healthy',
3628        'id',
3629        'identity_alias_healthcheck_username',
3630        'identity_set_id',
3631        'name',
3632        'port_override',
3633        'proxy_cluster_id',
3634        'region',
3635        'role_arn',
3636        'role_external_id',
3637        'secret_access_key',
3638        'secret_store_id',
3639        'subdomain',
3640        'tags',
3641    ]
3642
3643    def __init__(
3644        self,
3645        access_key=None,
3646        allow_resource_role_bypass=None,
3647        bind_interface=None,
3648        certificate_authority=None,
3649        cluster_name=None,
3650        discovery_enabled=None,
3651        discovery_username=None,
3652        egress_filter=None,
3653        endpoint=None,
3654        healthcheck_namespace=None,
3655        healthy=None,
3656        id=None,
3657        identity_alias_healthcheck_username=None,
3658        identity_set_id=None,
3659        name=None,
3660        port_override=None,
3661        proxy_cluster_id=None,
3662        region=None,
3663        role_arn=None,
3664        role_external_id=None,
3665        secret_access_key=None,
3666        secret_store_id=None,
3667        subdomain=None,
3668        tags=None,
3669    ):
3670        self.access_key = access_key if access_key is not None else ''
3671        '''
3672         The Access Key ID to use to authenticate.
3673        '''
3674        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3675        '''
3676         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3677         when a resource role is not provided.
3678        '''
3679        self.bind_interface = bind_interface if bind_interface is not None else ''
3680        '''
3681         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3682        '''
3683        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3684        '''
3685         The CA to authenticate TLS connections with.
3686        '''
3687        self.cluster_name = cluster_name if cluster_name is not None else ''
3688        '''
3689         The name of the cluster to connect to.
3690        '''
3691        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3692        '''
3693         If true, configures discovery of a cluster to be run from a node.
3694        '''
3695        self.discovery_username = discovery_username if discovery_username is not None else ''
3696        '''
3697         If a cluster is configured for user impersonation, this is the user to impersonate when
3698         running discovery.
3699        '''
3700        self.egress_filter = egress_filter if egress_filter is not None else ''
3701        '''
3702         A filter applied to the routing logic to pin datasource to nodes.
3703        '''
3704        self.endpoint = endpoint if endpoint is not None else ''
3705        '''
3706         The endpoint to dial.
3707        '''
3708        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3709        '''
3710         The path used to check the health of your connection.  Defaults to `default`.
3711        '''
3712        self.healthy = healthy if healthy is not None else False
3713        '''
3714         True if the datasource is reachable and the credentials are valid.
3715        '''
3716        self.id = id if id is not None else ''
3717        '''
3718         Unique identifier of the Resource.
3719        '''
3720        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3721        '''
3722         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3723        '''
3724        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3725        '''
3726         The ID of the identity set to use for identity connections.
3727        '''
3728        self.name = name if name is not None else ''
3729        '''
3730         Unique human-readable name of the Resource.
3731        '''
3732        self.port_override = port_override if port_override is not None else 0
3733        '''
3734         The local port used by clients to connect to this resource.
3735        '''
3736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3737        '''
3738         ID of the proxy cluster for this resource, if any.
3739        '''
3740        self.region = region if region is not None else ''
3741        '''
3742         The AWS region to connect to e.g. us-east-1.
3743        '''
3744        self.role_arn = role_arn if role_arn is not None else ''
3745        '''
3746         The role to assume after logging in.
3747        '''
3748        self.role_external_id = role_external_id if role_external_id is not None else ''
3749        '''
3750         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3751        '''
3752        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
3753        '''
3754         The Secret Access Key to use to authenticate.
3755        '''
3756        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3757        '''
3758         ID of the secret store containing credentials for this resource, if any.
3759        '''
3760        self.subdomain = subdomain if subdomain is not None else ''
3761        '''
3762         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3763        '''
3764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3765        '''
3766         Tags is a map of key, value pairs.
3767        '''
3768
3769    def __repr__(self):
3770        return '<sdm.AmazonEKS ' + \
3771            'access_key: ' + repr(self.access_key) + ' ' +\
3772            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
3773            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
3774            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
3775            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
3776            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
3777            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
3778            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
3779            'endpoint: ' + repr(self.endpoint) + ' ' +\
3780            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
3781            'healthy: ' + repr(self.healthy) + ' ' +\
3782            'id: ' + repr(self.id) + ' ' +\
3783            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
3784            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
3785            'name: ' + repr(self.name) + ' ' +\
3786            'port_override: ' + repr(self.port_override) + ' ' +\
3787            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
3788            'region: ' + repr(self.region) + ' ' +\
3789            'role_arn: ' + repr(self.role_arn) + ' ' +\
3790            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
3791            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
3792            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
3793            'subdomain: ' + repr(self.subdomain) + ' ' +\
3794            'tags: ' + repr(self.tags) + ' ' +\
3795            '>'
3796
3797    def to_dict(self):
3798        return {
3799            'access_key': self.access_key,
3800            'allow_resource_role_bypass': self.allow_resource_role_bypass,
3801            'bind_interface': self.bind_interface,
3802            'certificate_authority': self.certificate_authority,
3803            'cluster_name': self.cluster_name,
3804            'discovery_enabled': self.discovery_enabled,
3805            'discovery_username': self.discovery_username,
3806            'egress_filter': self.egress_filter,
3807            'endpoint': self.endpoint,
3808            'healthcheck_namespace': self.healthcheck_namespace,
3809            'healthy': self.healthy,
3810            'id': self.id,
3811            'identity_alias_healthcheck_username':
3812            self.identity_alias_healthcheck_username,
3813            'identity_set_id': self.identity_set_id,
3814            'name': self.name,
3815            'port_override': self.port_override,
3816            'proxy_cluster_id': self.proxy_cluster_id,
3817            'region': self.region,
3818            'role_arn': self.role_arn,
3819            'role_external_id': self.role_external_id,
3820            'secret_access_key': self.secret_access_key,
3821            'secret_store_id': self.secret_store_id,
3822            'subdomain': self.subdomain,
3823            'tags': self.tags,
3824        }
3825
3826    @classmethod
3827    def from_dict(cls, d):
3828        return cls(
3829            access_key=d.get('access_key'),
3830            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
3831            bind_interface=d.get('bind_interface'),
3832            certificate_authority=d.get('certificate_authority'),
3833            cluster_name=d.get('cluster_name'),
3834            discovery_enabled=d.get('discovery_enabled'),
3835            discovery_username=d.get('discovery_username'),
3836            egress_filter=d.get('egress_filter'),
3837            endpoint=d.get('endpoint'),
3838            healthcheck_namespace=d.get('healthcheck_namespace'),
3839            healthy=d.get('healthy'),
3840            id=d.get('id'),
3841            identity_alias_healthcheck_username=d.get(
3842                'identity_alias_healthcheck_username'),
3843            identity_set_id=d.get('identity_set_id'),
3844            name=d.get('name'),
3845            port_override=d.get('port_override'),
3846            proxy_cluster_id=d.get('proxy_cluster_id'),
3847            region=d.get('region'),
3848            role_arn=d.get('role_arn'),
3849            role_external_id=d.get('role_external_id'),
3850            secret_access_key=d.get('secret_access_key'),
3851            secret_store_id=d.get('secret_store_id'),
3852            subdomain=d.get('subdomain'),
3853            tags=d.get('tags'),
3854        )
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)
3643    def __init__(
3644        self,
3645        access_key=None,
3646        allow_resource_role_bypass=None,
3647        bind_interface=None,
3648        certificate_authority=None,
3649        cluster_name=None,
3650        discovery_enabled=None,
3651        discovery_username=None,
3652        egress_filter=None,
3653        endpoint=None,
3654        healthcheck_namespace=None,
3655        healthy=None,
3656        id=None,
3657        identity_alias_healthcheck_username=None,
3658        identity_set_id=None,
3659        name=None,
3660        port_override=None,
3661        proxy_cluster_id=None,
3662        region=None,
3663        role_arn=None,
3664        role_external_id=None,
3665        secret_access_key=None,
3666        secret_store_id=None,
3667        subdomain=None,
3668        tags=None,
3669    ):
3670        self.access_key = access_key if access_key is not None else ''
3671        '''
3672         The Access Key ID to use to authenticate.
3673        '''
3674        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3675        '''
3676         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3677         when a resource role is not provided.
3678        '''
3679        self.bind_interface = bind_interface if bind_interface is not None else ''
3680        '''
3681         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3682        '''
3683        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3684        '''
3685         The CA to authenticate TLS connections with.
3686        '''
3687        self.cluster_name = cluster_name if cluster_name is not None else ''
3688        '''
3689         The name of the cluster to connect to.
3690        '''
3691        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3692        '''
3693         If true, configures discovery of a cluster to be run from a node.
3694        '''
3695        self.discovery_username = discovery_username if discovery_username is not None else ''
3696        '''
3697         If a cluster is configured for user impersonation, this is the user to impersonate when
3698         running discovery.
3699        '''
3700        self.egress_filter = egress_filter if egress_filter is not None else ''
3701        '''
3702         A filter applied to the routing logic to pin datasource to nodes.
3703        '''
3704        self.endpoint = endpoint if endpoint is not None else ''
3705        '''
3706         The endpoint to dial.
3707        '''
3708        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3709        '''
3710         The path used to check the health of your connection.  Defaults to `default`.
3711        '''
3712        self.healthy = healthy if healthy is not None else False
3713        '''
3714         True if the datasource is reachable and the credentials are valid.
3715        '''
3716        self.id = id if id is not None else ''
3717        '''
3718         Unique identifier of the Resource.
3719        '''
3720        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3721        '''
3722         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3723        '''
3724        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3725        '''
3726         The ID of the identity set to use for identity connections.
3727        '''
3728        self.name = name if name is not None else ''
3729        '''
3730         Unique human-readable name of the Resource.
3731        '''
3732        self.port_override = port_override if port_override is not None else 0
3733        '''
3734         The local port used by clients to connect to this resource.
3735        '''
3736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3737        '''
3738         ID of the proxy cluster for this resource, if any.
3739        '''
3740        self.region = region if region is not None else ''
3741        '''
3742         The AWS region to connect to e.g. us-east-1.
3743        '''
3744        self.role_arn = role_arn if role_arn is not None else ''
3745        '''
3746         The role to assume after logging in.
3747        '''
3748        self.role_external_id = role_external_id if role_external_id is not None else ''
3749        '''
3750         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3751        '''
3752        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
3753        '''
3754         The Secret Access Key to use to authenticate.
3755        '''
3756        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3757        '''
3758         ID of the secret store containing credentials for this resource, if any.
3759        '''
3760        self.subdomain = subdomain if subdomain is not None else ''
3761        '''
3762         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3763        '''
3764        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3765        '''
3766         Tags is a map of key, value pairs.
3767        '''
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)
3797    def to_dict(self):
3798        return {
3799            'access_key': self.access_key,
3800            'allow_resource_role_bypass': self.allow_resource_role_bypass,
3801            'bind_interface': self.bind_interface,
3802            'certificate_authority': self.certificate_authority,
3803            'cluster_name': self.cluster_name,
3804            'discovery_enabled': self.discovery_enabled,
3805            'discovery_username': self.discovery_username,
3806            'egress_filter': self.egress_filter,
3807            'endpoint': self.endpoint,
3808            'healthcheck_namespace': self.healthcheck_namespace,
3809            'healthy': self.healthy,
3810            'id': self.id,
3811            'identity_alias_healthcheck_username':
3812            self.identity_alias_healthcheck_username,
3813            'identity_set_id': self.identity_set_id,
3814            'name': self.name,
3815            'port_override': self.port_override,
3816            'proxy_cluster_id': self.proxy_cluster_id,
3817            'region': self.region,
3818            'role_arn': self.role_arn,
3819            'role_external_id': self.role_external_id,
3820            'secret_access_key': self.secret_access_key,
3821            'secret_store_id': self.secret_store_id,
3822            'subdomain': self.subdomain,
3823            'tags': self.tags,
3824        }
@classmethod
def from_dict(cls, d)
3826    @classmethod
3827    def from_dict(cls, d):
3828        return cls(
3829            access_key=d.get('access_key'),
3830            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
3831            bind_interface=d.get('bind_interface'),
3832            certificate_authority=d.get('certificate_authority'),
3833            cluster_name=d.get('cluster_name'),
3834            discovery_enabled=d.get('discovery_enabled'),
3835            discovery_username=d.get('discovery_username'),
3836            egress_filter=d.get('egress_filter'),
3837            endpoint=d.get('endpoint'),
3838            healthcheck_namespace=d.get('healthcheck_namespace'),
3839            healthy=d.get('healthy'),
3840            id=d.get('id'),
3841            identity_alias_healthcheck_username=d.get(
3842                'identity_alias_healthcheck_username'),
3843            identity_set_id=d.get('identity_set_id'),
3844            name=d.get('name'),
3845            port_override=d.get('port_override'),
3846            proxy_cluster_id=d.get('proxy_cluster_id'),
3847            region=d.get('region'),
3848            role_arn=d.get('role_arn'),
3849            role_external_id=d.get('role_external_id'),
3850            secret_access_key=d.get('secret_access_key'),
3851            secret_store_id=d.get('secret_store_id'),
3852            subdomain=d.get('subdomain'),
3853            tags=d.get('tags'),
3854        )
class AmazonEKSInstanceProfile:
3857class AmazonEKSInstanceProfile:
3858    __slots__ = [
3859        'allow_resource_role_bypass',
3860        'bind_interface',
3861        'certificate_authority',
3862        'cluster_name',
3863        'discovery_enabled',
3864        'discovery_username',
3865        'egress_filter',
3866        'endpoint',
3867        'healthcheck_namespace',
3868        'healthy',
3869        'id',
3870        'identity_alias_healthcheck_username',
3871        'identity_set_id',
3872        'name',
3873        'port_override',
3874        'proxy_cluster_id',
3875        'region',
3876        'role_arn',
3877        'role_external_id',
3878        'secret_store_id',
3879        'subdomain',
3880        'tags',
3881    ]
3882
3883    def __init__(
3884        self,
3885        allow_resource_role_bypass=None,
3886        bind_interface=None,
3887        certificate_authority=None,
3888        cluster_name=None,
3889        discovery_enabled=None,
3890        discovery_username=None,
3891        egress_filter=None,
3892        endpoint=None,
3893        healthcheck_namespace=None,
3894        healthy=None,
3895        id=None,
3896        identity_alias_healthcheck_username=None,
3897        identity_set_id=None,
3898        name=None,
3899        port_override=None,
3900        proxy_cluster_id=None,
3901        region=None,
3902        role_arn=None,
3903        role_external_id=None,
3904        secret_store_id=None,
3905        subdomain=None,
3906        tags=None,
3907    ):
3908        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3909        '''
3910         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3911         when a resource role is not provided.
3912        '''
3913        self.bind_interface = bind_interface if bind_interface is not None else ''
3914        '''
3915         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3916        '''
3917        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3918        '''
3919         The CA to authenticate TLS connections with.
3920        '''
3921        self.cluster_name = cluster_name if cluster_name is not None else ''
3922        '''
3923         The name of the cluster to connect to.
3924        '''
3925        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3926        '''
3927         If true, configures discovery of a cluster to be run from a node.
3928        '''
3929        self.discovery_username = discovery_username if discovery_username is not None else ''
3930        '''
3931         If a cluster is configured for user impersonation, this is the user to impersonate when
3932         running discovery.
3933        '''
3934        self.egress_filter = egress_filter if egress_filter is not None else ''
3935        '''
3936         A filter applied to the routing logic to pin datasource to nodes.
3937        '''
3938        self.endpoint = endpoint if endpoint is not None else ''
3939        '''
3940         The endpoint to dial.
3941        '''
3942        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3943        '''
3944         The path used to check the health of your connection.  Defaults to `default`.
3945        '''
3946        self.healthy = healthy if healthy is not None else False
3947        '''
3948         True if the datasource is reachable and the credentials are valid.
3949        '''
3950        self.id = id if id is not None else ''
3951        '''
3952         Unique identifier of the Resource.
3953        '''
3954        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3955        '''
3956         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3957        '''
3958        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3959        '''
3960         The ID of the identity set to use for identity connections.
3961        '''
3962        self.name = name if name is not None else ''
3963        '''
3964         Unique human-readable name of the Resource.
3965        '''
3966        self.port_override = port_override if port_override is not None else 0
3967        '''
3968         The local port used by clients to connect to this resource.
3969        '''
3970        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3971        '''
3972         ID of the proxy cluster for this resource, if any.
3973        '''
3974        self.region = region if region is not None else ''
3975        '''
3976         The AWS region to connect to e.g. us-east-1.
3977        '''
3978        self.role_arn = role_arn if role_arn is not None else ''
3979        '''
3980         The role to assume after logging in.
3981        '''
3982        self.role_external_id = role_external_id if role_external_id is not None else ''
3983        '''
3984         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3985        '''
3986        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3987        '''
3988         ID of the secret store containing credentials for this resource, if any.
3989        '''
3990        self.subdomain = subdomain if subdomain is not None else ''
3991        '''
3992         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3993        '''
3994        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3995        '''
3996         Tags is a map of key, value pairs.
3997        '''
3998
3999    def __repr__(self):
4000        return '<sdm.AmazonEKSInstanceProfile ' + \
4001            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4002            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4003            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4004            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4005            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4006            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4007            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4008            'endpoint: ' + repr(self.endpoint) + ' ' +\
4009            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4010            'healthy: ' + repr(self.healthy) + ' ' +\
4011            'id: ' + repr(self.id) + ' ' +\
4012            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4013            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4014            'name: ' + repr(self.name) + ' ' +\
4015            'port_override: ' + repr(self.port_override) + ' ' +\
4016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4017            'region: ' + repr(self.region) + ' ' +\
4018            'role_arn: ' + repr(self.role_arn) + ' ' +\
4019            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4021            'subdomain: ' + repr(self.subdomain) + ' ' +\
4022            'tags: ' + repr(self.tags) + ' ' +\
4023            '>'
4024
4025    def to_dict(self):
4026        return {
4027            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4028            'bind_interface': self.bind_interface,
4029            'certificate_authority': self.certificate_authority,
4030            'cluster_name': self.cluster_name,
4031            'discovery_enabled': self.discovery_enabled,
4032            'discovery_username': self.discovery_username,
4033            'egress_filter': self.egress_filter,
4034            'endpoint': self.endpoint,
4035            'healthcheck_namespace': self.healthcheck_namespace,
4036            'healthy': self.healthy,
4037            'id': self.id,
4038            'identity_alias_healthcheck_username':
4039            self.identity_alias_healthcheck_username,
4040            'identity_set_id': self.identity_set_id,
4041            'name': self.name,
4042            'port_override': self.port_override,
4043            'proxy_cluster_id': self.proxy_cluster_id,
4044            'region': self.region,
4045            'role_arn': self.role_arn,
4046            'role_external_id': self.role_external_id,
4047            'secret_store_id': self.secret_store_id,
4048            'subdomain': self.subdomain,
4049            'tags': self.tags,
4050        }
4051
4052    @classmethod
4053    def from_dict(cls, d):
4054        return cls(
4055            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4056            bind_interface=d.get('bind_interface'),
4057            certificate_authority=d.get('certificate_authority'),
4058            cluster_name=d.get('cluster_name'),
4059            discovery_enabled=d.get('discovery_enabled'),
4060            discovery_username=d.get('discovery_username'),
4061            egress_filter=d.get('egress_filter'),
4062            endpoint=d.get('endpoint'),
4063            healthcheck_namespace=d.get('healthcheck_namespace'),
4064            healthy=d.get('healthy'),
4065            id=d.get('id'),
4066            identity_alias_healthcheck_username=d.get(
4067                'identity_alias_healthcheck_username'),
4068            identity_set_id=d.get('identity_set_id'),
4069            name=d.get('name'),
4070            port_override=d.get('port_override'),
4071            proxy_cluster_id=d.get('proxy_cluster_id'),
4072            region=d.get('region'),
4073            role_arn=d.get('role_arn'),
4074            role_external_id=d.get('role_external_id'),
4075            secret_store_id=d.get('secret_store_id'),
4076            subdomain=d.get('subdomain'),
4077            tags=d.get('tags'),
4078        )
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)
3883    def __init__(
3884        self,
3885        allow_resource_role_bypass=None,
3886        bind_interface=None,
3887        certificate_authority=None,
3888        cluster_name=None,
3889        discovery_enabled=None,
3890        discovery_username=None,
3891        egress_filter=None,
3892        endpoint=None,
3893        healthcheck_namespace=None,
3894        healthy=None,
3895        id=None,
3896        identity_alias_healthcheck_username=None,
3897        identity_set_id=None,
3898        name=None,
3899        port_override=None,
3900        proxy_cluster_id=None,
3901        region=None,
3902        role_arn=None,
3903        role_external_id=None,
3904        secret_store_id=None,
3905        subdomain=None,
3906        tags=None,
3907    ):
3908        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
3909        '''
3910         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
3911         when a resource role is not provided.
3912        '''
3913        self.bind_interface = bind_interface if bind_interface is not None else ''
3914        '''
3915         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3916        '''
3917        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
3918        '''
3919         The CA to authenticate TLS connections with.
3920        '''
3921        self.cluster_name = cluster_name if cluster_name is not None else ''
3922        '''
3923         The name of the cluster to connect to.
3924        '''
3925        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
3926        '''
3927         If true, configures discovery of a cluster to be run from a node.
3928        '''
3929        self.discovery_username = discovery_username if discovery_username is not None else ''
3930        '''
3931         If a cluster is configured for user impersonation, this is the user to impersonate when
3932         running discovery.
3933        '''
3934        self.egress_filter = egress_filter if egress_filter is not None else ''
3935        '''
3936         A filter applied to the routing logic to pin datasource to nodes.
3937        '''
3938        self.endpoint = endpoint if endpoint is not None else ''
3939        '''
3940         The endpoint to dial.
3941        '''
3942        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
3943        '''
3944         The path used to check the health of your connection.  Defaults to `default`.
3945        '''
3946        self.healthy = healthy if healthy is not None else False
3947        '''
3948         True if the datasource is reachable and the credentials are valid.
3949        '''
3950        self.id = id if id is not None else ''
3951        '''
3952         Unique identifier of the Resource.
3953        '''
3954        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
3955        '''
3956         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
3957        '''
3958        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
3959        '''
3960         The ID of the identity set to use for identity connections.
3961        '''
3962        self.name = name if name is not None else ''
3963        '''
3964         Unique human-readable name of the Resource.
3965        '''
3966        self.port_override = port_override if port_override is not None else 0
3967        '''
3968         The local port used by clients to connect to this resource.
3969        '''
3970        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3971        '''
3972         ID of the proxy cluster for this resource, if any.
3973        '''
3974        self.region = region if region is not None else ''
3975        '''
3976         The AWS region to connect to e.g. us-east-1.
3977        '''
3978        self.role_arn = role_arn if role_arn is not None else ''
3979        '''
3980         The role to assume after logging in.
3981        '''
3982        self.role_external_id = role_external_id if role_external_id is not None else ''
3983        '''
3984         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
3985        '''
3986        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3987        '''
3988         ID of the secret store containing credentials for this resource, if any.
3989        '''
3990        self.subdomain = subdomain if subdomain is not None else ''
3991        '''
3992         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3993        '''
3994        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3995        '''
3996         Tags is a map of key, value pairs.
3997        '''
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)
4025    def to_dict(self):
4026        return {
4027            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4028            'bind_interface': self.bind_interface,
4029            'certificate_authority': self.certificate_authority,
4030            'cluster_name': self.cluster_name,
4031            'discovery_enabled': self.discovery_enabled,
4032            'discovery_username': self.discovery_username,
4033            'egress_filter': self.egress_filter,
4034            'endpoint': self.endpoint,
4035            'healthcheck_namespace': self.healthcheck_namespace,
4036            'healthy': self.healthy,
4037            'id': self.id,
4038            'identity_alias_healthcheck_username':
4039            self.identity_alias_healthcheck_username,
4040            'identity_set_id': self.identity_set_id,
4041            'name': self.name,
4042            'port_override': self.port_override,
4043            'proxy_cluster_id': self.proxy_cluster_id,
4044            'region': self.region,
4045            'role_arn': self.role_arn,
4046            'role_external_id': self.role_external_id,
4047            'secret_store_id': self.secret_store_id,
4048            'subdomain': self.subdomain,
4049            'tags': self.tags,
4050        }
@classmethod
def from_dict(cls, d)
4052    @classmethod
4053    def from_dict(cls, d):
4054        return cls(
4055            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4056            bind_interface=d.get('bind_interface'),
4057            certificate_authority=d.get('certificate_authority'),
4058            cluster_name=d.get('cluster_name'),
4059            discovery_enabled=d.get('discovery_enabled'),
4060            discovery_username=d.get('discovery_username'),
4061            egress_filter=d.get('egress_filter'),
4062            endpoint=d.get('endpoint'),
4063            healthcheck_namespace=d.get('healthcheck_namespace'),
4064            healthy=d.get('healthy'),
4065            id=d.get('id'),
4066            identity_alias_healthcheck_username=d.get(
4067                'identity_alias_healthcheck_username'),
4068            identity_set_id=d.get('identity_set_id'),
4069            name=d.get('name'),
4070            port_override=d.get('port_override'),
4071            proxy_cluster_id=d.get('proxy_cluster_id'),
4072            region=d.get('region'),
4073            role_arn=d.get('role_arn'),
4074            role_external_id=d.get('role_external_id'),
4075            secret_store_id=d.get('secret_store_id'),
4076            subdomain=d.get('subdomain'),
4077            tags=d.get('tags'),
4078        )
class AmazonEKSInstanceProfileUserImpersonation:
4081class AmazonEKSInstanceProfileUserImpersonation:
4082    __slots__ = [
4083        'bind_interface',
4084        'certificate_authority',
4085        'cluster_name',
4086        'egress_filter',
4087        'endpoint',
4088        'healthcheck_namespace',
4089        'healthy',
4090        'id',
4091        'name',
4092        'port_override',
4093        'proxy_cluster_id',
4094        'region',
4095        'role_arn',
4096        'role_external_id',
4097        'secret_store_id',
4098        'subdomain',
4099        'tags',
4100    ]
4101
4102    def __init__(
4103        self,
4104        bind_interface=None,
4105        certificate_authority=None,
4106        cluster_name=None,
4107        egress_filter=None,
4108        endpoint=None,
4109        healthcheck_namespace=None,
4110        healthy=None,
4111        id=None,
4112        name=None,
4113        port_override=None,
4114        proxy_cluster_id=None,
4115        region=None,
4116        role_arn=None,
4117        role_external_id=None,
4118        secret_store_id=None,
4119        subdomain=None,
4120        tags=None,
4121    ):
4122        self.bind_interface = bind_interface if bind_interface is not None else ''
4123        '''
4124         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4125        '''
4126        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4127        '''
4128         The CA to authenticate TLS connections with.
4129        '''
4130        self.cluster_name = cluster_name if cluster_name is not None else ''
4131        '''
4132         The name of the cluster to connect to.
4133        '''
4134        self.egress_filter = egress_filter if egress_filter is not None else ''
4135        '''
4136         A filter applied to the routing logic to pin datasource to nodes.
4137        '''
4138        self.endpoint = endpoint if endpoint is not None else ''
4139        '''
4140         The endpoint to dial.
4141        '''
4142        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4143        '''
4144         The path used to check the health of your connection.  Defaults to `default`.
4145        '''
4146        self.healthy = healthy if healthy is not None else False
4147        '''
4148         True if the datasource is reachable and the credentials are valid.
4149        '''
4150        self.id = id if id is not None else ''
4151        '''
4152         Unique identifier of the Resource.
4153        '''
4154        self.name = name if name is not None else ''
4155        '''
4156         Unique human-readable name of the Resource.
4157        '''
4158        self.port_override = port_override if port_override is not None else 0
4159        '''
4160         The local port used by clients to connect to this resource.
4161        '''
4162        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4163        '''
4164         ID of the proxy cluster for this resource, if any.
4165        '''
4166        self.region = region if region is not None else ''
4167        '''
4168         The AWS region to connect to e.g. us-east-1.
4169        '''
4170        self.role_arn = role_arn if role_arn is not None else ''
4171        '''
4172         The role to assume after logging in.
4173        '''
4174        self.role_external_id = role_external_id if role_external_id is not None else ''
4175        '''
4176         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4177        '''
4178        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4179        '''
4180         ID of the secret store containing credentials for this resource, if any.
4181        '''
4182        self.subdomain = subdomain if subdomain is not None else ''
4183        '''
4184         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4185        '''
4186        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4187        '''
4188         Tags is a map of key, value pairs.
4189        '''
4190
4191    def __repr__(self):
4192        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
4193            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4194            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4195            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4196            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4197            'endpoint: ' + repr(self.endpoint) + ' ' +\
4198            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4199            'healthy: ' + repr(self.healthy) + ' ' +\
4200            'id: ' + repr(self.id) + ' ' +\
4201            'name: ' + repr(self.name) + ' ' +\
4202            'port_override: ' + repr(self.port_override) + ' ' +\
4203            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4204            'region: ' + repr(self.region) + ' ' +\
4205            'role_arn: ' + repr(self.role_arn) + ' ' +\
4206            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4207            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4208            'subdomain: ' + repr(self.subdomain) + ' ' +\
4209            'tags: ' + repr(self.tags) + ' ' +\
4210            '>'
4211
4212    def to_dict(self):
4213        return {
4214            'bind_interface': self.bind_interface,
4215            'certificate_authority': self.certificate_authority,
4216            'cluster_name': self.cluster_name,
4217            'egress_filter': self.egress_filter,
4218            'endpoint': self.endpoint,
4219            'healthcheck_namespace': self.healthcheck_namespace,
4220            'healthy': self.healthy,
4221            'id': self.id,
4222            'name': self.name,
4223            'port_override': self.port_override,
4224            'proxy_cluster_id': self.proxy_cluster_id,
4225            'region': self.region,
4226            'role_arn': self.role_arn,
4227            'role_external_id': self.role_external_id,
4228            'secret_store_id': self.secret_store_id,
4229            'subdomain': self.subdomain,
4230            'tags': self.tags,
4231        }
4232
4233    @classmethod
4234    def from_dict(cls, d):
4235        return cls(
4236            bind_interface=d.get('bind_interface'),
4237            certificate_authority=d.get('certificate_authority'),
4238            cluster_name=d.get('cluster_name'),
4239            egress_filter=d.get('egress_filter'),
4240            endpoint=d.get('endpoint'),
4241            healthcheck_namespace=d.get('healthcheck_namespace'),
4242            healthy=d.get('healthy'),
4243            id=d.get('id'),
4244            name=d.get('name'),
4245            port_override=d.get('port_override'),
4246            proxy_cluster_id=d.get('proxy_cluster_id'),
4247            region=d.get('region'),
4248            role_arn=d.get('role_arn'),
4249            role_external_id=d.get('role_external_id'),
4250            secret_store_id=d.get('secret_store_id'),
4251            subdomain=d.get('subdomain'),
4252            tags=d.get('tags'),
4253        )
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)
4102    def __init__(
4103        self,
4104        bind_interface=None,
4105        certificate_authority=None,
4106        cluster_name=None,
4107        egress_filter=None,
4108        endpoint=None,
4109        healthcheck_namespace=None,
4110        healthy=None,
4111        id=None,
4112        name=None,
4113        port_override=None,
4114        proxy_cluster_id=None,
4115        region=None,
4116        role_arn=None,
4117        role_external_id=None,
4118        secret_store_id=None,
4119        subdomain=None,
4120        tags=None,
4121    ):
4122        self.bind_interface = bind_interface if bind_interface is not None else ''
4123        '''
4124         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4125        '''
4126        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4127        '''
4128         The CA to authenticate TLS connections with.
4129        '''
4130        self.cluster_name = cluster_name if cluster_name is not None else ''
4131        '''
4132         The name of the cluster to connect to.
4133        '''
4134        self.egress_filter = egress_filter if egress_filter is not None else ''
4135        '''
4136         A filter applied to the routing logic to pin datasource to nodes.
4137        '''
4138        self.endpoint = endpoint if endpoint is not None else ''
4139        '''
4140         The endpoint to dial.
4141        '''
4142        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4143        '''
4144         The path used to check the health of your connection.  Defaults to `default`.
4145        '''
4146        self.healthy = healthy if healthy is not None else False
4147        '''
4148         True if the datasource is reachable and the credentials are valid.
4149        '''
4150        self.id = id if id is not None else ''
4151        '''
4152         Unique identifier of the Resource.
4153        '''
4154        self.name = name if name is not None else ''
4155        '''
4156         Unique human-readable name of the Resource.
4157        '''
4158        self.port_override = port_override if port_override is not None else 0
4159        '''
4160         The local port used by clients to connect to this resource.
4161        '''
4162        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4163        '''
4164         ID of the proxy cluster for this resource, if any.
4165        '''
4166        self.region = region if region is not None else ''
4167        '''
4168         The AWS region to connect to e.g. us-east-1.
4169        '''
4170        self.role_arn = role_arn if role_arn is not None else ''
4171        '''
4172         The role to assume after logging in.
4173        '''
4174        self.role_external_id = role_external_id if role_external_id is not None else ''
4175        '''
4176         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4177        '''
4178        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4179        '''
4180         ID of the secret store containing credentials for this resource, if any.
4181        '''
4182        self.subdomain = subdomain if subdomain is not None else ''
4183        '''
4184         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4185        '''
4186        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4187        '''
4188         Tags is a map of key, value pairs.
4189        '''
bind_interface

The bind interface is the IP 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)
4212    def to_dict(self):
4213        return {
4214            'bind_interface': self.bind_interface,
4215            'certificate_authority': self.certificate_authority,
4216            'cluster_name': self.cluster_name,
4217            'egress_filter': self.egress_filter,
4218            'endpoint': self.endpoint,
4219            'healthcheck_namespace': self.healthcheck_namespace,
4220            'healthy': self.healthy,
4221            'id': self.id,
4222            'name': self.name,
4223            'port_override': self.port_override,
4224            'proxy_cluster_id': self.proxy_cluster_id,
4225            'region': self.region,
4226            'role_arn': self.role_arn,
4227            'role_external_id': self.role_external_id,
4228            'secret_store_id': self.secret_store_id,
4229            'subdomain': self.subdomain,
4230            'tags': self.tags,
4231        }
@classmethod
def from_dict(cls, d)
4233    @classmethod
4234    def from_dict(cls, d):
4235        return cls(
4236            bind_interface=d.get('bind_interface'),
4237            certificate_authority=d.get('certificate_authority'),
4238            cluster_name=d.get('cluster_name'),
4239            egress_filter=d.get('egress_filter'),
4240            endpoint=d.get('endpoint'),
4241            healthcheck_namespace=d.get('healthcheck_namespace'),
4242            healthy=d.get('healthy'),
4243            id=d.get('id'),
4244            name=d.get('name'),
4245            port_override=d.get('port_override'),
4246            proxy_cluster_id=d.get('proxy_cluster_id'),
4247            region=d.get('region'),
4248            role_arn=d.get('role_arn'),
4249            role_external_id=d.get('role_external_id'),
4250            secret_store_id=d.get('secret_store_id'),
4251            subdomain=d.get('subdomain'),
4252            tags=d.get('tags'),
4253        )
class AmazonEKSUserImpersonation:
4256class AmazonEKSUserImpersonation:
4257    __slots__ = [
4258        'access_key',
4259        'bind_interface',
4260        'certificate_authority',
4261        'cluster_name',
4262        'egress_filter',
4263        'endpoint',
4264        'healthcheck_namespace',
4265        'healthy',
4266        'id',
4267        'name',
4268        'port_override',
4269        'proxy_cluster_id',
4270        'region',
4271        'role_arn',
4272        'role_external_id',
4273        'secret_access_key',
4274        'secret_store_id',
4275        'subdomain',
4276        'tags',
4277    ]
4278
4279    def __init__(
4280        self,
4281        access_key=None,
4282        bind_interface=None,
4283        certificate_authority=None,
4284        cluster_name=None,
4285        egress_filter=None,
4286        endpoint=None,
4287        healthcheck_namespace=None,
4288        healthy=None,
4289        id=None,
4290        name=None,
4291        port_override=None,
4292        proxy_cluster_id=None,
4293        region=None,
4294        role_arn=None,
4295        role_external_id=None,
4296        secret_access_key=None,
4297        secret_store_id=None,
4298        subdomain=None,
4299        tags=None,
4300    ):
4301        self.access_key = access_key if access_key is not None else ''
4302        '''
4303         The Access Key ID to use to authenticate.
4304        '''
4305        self.bind_interface = bind_interface if bind_interface is not None else ''
4306        '''
4307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4308        '''
4309        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4310        '''
4311         The CA to authenticate TLS connections with.
4312        '''
4313        self.cluster_name = cluster_name if cluster_name is not None else ''
4314        '''
4315         The name of the cluster to connect to.
4316        '''
4317        self.egress_filter = egress_filter if egress_filter is not None else ''
4318        '''
4319         A filter applied to the routing logic to pin datasource to nodes.
4320        '''
4321        self.endpoint = endpoint if endpoint is not None else ''
4322        '''
4323         The endpoint to dial.
4324        '''
4325        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4326        '''
4327         The path used to check the health of your connection.  Defaults to `default`.
4328        '''
4329        self.healthy = healthy if healthy is not None else False
4330        '''
4331         True if the datasource is reachable and the credentials are valid.
4332        '''
4333        self.id = id if id is not None else ''
4334        '''
4335         Unique identifier of the Resource.
4336        '''
4337        self.name = name if name is not None else ''
4338        '''
4339         Unique human-readable name of the Resource.
4340        '''
4341        self.port_override = port_override if port_override is not None else 0
4342        '''
4343         The local port used by clients to connect to this resource.
4344        '''
4345        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4346        '''
4347         ID of the proxy cluster for this resource, if any.
4348        '''
4349        self.region = region if region is not None else ''
4350        '''
4351         The AWS region to connect to e.g. us-east-1.
4352        '''
4353        self.role_arn = role_arn if role_arn is not None else ''
4354        '''
4355         The role to assume after logging in.
4356        '''
4357        self.role_external_id = role_external_id if role_external_id is not None else ''
4358        '''
4359         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4360        '''
4361        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4362        '''
4363         The Secret Access Key to use to authenticate.
4364        '''
4365        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4366        '''
4367         ID of the secret store containing credentials for this resource, if any.
4368        '''
4369        self.subdomain = subdomain if subdomain is not None else ''
4370        '''
4371         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4372        '''
4373        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4374        '''
4375         Tags is a map of key, value pairs.
4376        '''
4377
4378    def __repr__(self):
4379        return '<sdm.AmazonEKSUserImpersonation ' + \
4380            'access_key: ' + repr(self.access_key) + ' ' +\
4381            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4382            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4383            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4384            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4385            'endpoint: ' + repr(self.endpoint) + ' ' +\
4386            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4387            'healthy: ' + repr(self.healthy) + ' ' +\
4388            'id: ' + repr(self.id) + ' ' +\
4389            'name: ' + repr(self.name) + ' ' +\
4390            'port_override: ' + repr(self.port_override) + ' ' +\
4391            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4392            'region: ' + repr(self.region) + ' ' +\
4393            'role_arn: ' + repr(self.role_arn) + ' ' +\
4394            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4395            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4396            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4397            'subdomain: ' + repr(self.subdomain) + ' ' +\
4398            'tags: ' + repr(self.tags) + ' ' +\
4399            '>'
4400
4401    def to_dict(self):
4402        return {
4403            'access_key': self.access_key,
4404            'bind_interface': self.bind_interface,
4405            'certificate_authority': self.certificate_authority,
4406            'cluster_name': self.cluster_name,
4407            'egress_filter': self.egress_filter,
4408            'endpoint': self.endpoint,
4409            'healthcheck_namespace': self.healthcheck_namespace,
4410            'healthy': self.healthy,
4411            'id': self.id,
4412            'name': self.name,
4413            'port_override': self.port_override,
4414            'proxy_cluster_id': self.proxy_cluster_id,
4415            'region': self.region,
4416            'role_arn': self.role_arn,
4417            'role_external_id': self.role_external_id,
4418            'secret_access_key': self.secret_access_key,
4419            'secret_store_id': self.secret_store_id,
4420            'subdomain': self.subdomain,
4421            'tags': self.tags,
4422        }
4423
4424    @classmethod
4425    def from_dict(cls, d):
4426        return cls(
4427            access_key=d.get('access_key'),
4428            bind_interface=d.get('bind_interface'),
4429            certificate_authority=d.get('certificate_authority'),
4430            cluster_name=d.get('cluster_name'),
4431            egress_filter=d.get('egress_filter'),
4432            endpoint=d.get('endpoint'),
4433            healthcheck_namespace=d.get('healthcheck_namespace'),
4434            healthy=d.get('healthy'),
4435            id=d.get('id'),
4436            name=d.get('name'),
4437            port_override=d.get('port_override'),
4438            proxy_cluster_id=d.get('proxy_cluster_id'),
4439            region=d.get('region'),
4440            role_arn=d.get('role_arn'),
4441            role_external_id=d.get('role_external_id'),
4442            secret_access_key=d.get('secret_access_key'),
4443            secret_store_id=d.get('secret_store_id'),
4444            subdomain=d.get('subdomain'),
4445            tags=d.get('tags'),
4446        )
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)
4279    def __init__(
4280        self,
4281        access_key=None,
4282        bind_interface=None,
4283        certificate_authority=None,
4284        cluster_name=None,
4285        egress_filter=None,
4286        endpoint=None,
4287        healthcheck_namespace=None,
4288        healthy=None,
4289        id=None,
4290        name=None,
4291        port_override=None,
4292        proxy_cluster_id=None,
4293        region=None,
4294        role_arn=None,
4295        role_external_id=None,
4296        secret_access_key=None,
4297        secret_store_id=None,
4298        subdomain=None,
4299        tags=None,
4300    ):
4301        self.access_key = access_key if access_key is not None else ''
4302        '''
4303         The Access Key ID to use to authenticate.
4304        '''
4305        self.bind_interface = bind_interface if bind_interface is not None else ''
4306        '''
4307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4308        '''
4309        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4310        '''
4311         The CA to authenticate TLS connections with.
4312        '''
4313        self.cluster_name = cluster_name if cluster_name is not None else ''
4314        '''
4315         The name of the cluster to connect to.
4316        '''
4317        self.egress_filter = egress_filter if egress_filter is not None else ''
4318        '''
4319         A filter applied to the routing logic to pin datasource to nodes.
4320        '''
4321        self.endpoint = endpoint if endpoint is not None else ''
4322        '''
4323         The endpoint to dial.
4324        '''
4325        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4326        '''
4327         The path used to check the health of your connection.  Defaults to `default`.
4328        '''
4329        self.healthy = healthy if healthy is not None else False
4330        '''
4331         True if the datasource is reachable and the credentials are valid.
4332        '''
4333        self.id = id if id is not None else ''
4334        '''
4335         Unique identifier of the Resource.
4336        '''
4337        self.name = name if name is not None else ''
4338        '''
4339         Unique human-readable name of the Resource.
4340        '''
4341        self.port_override = port_override if port_override is not None else 0
4342        '''
4343         The local port used by clients to connect to this resource.
4344        '''
4345        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4346        '''
4347         ID of the proxy cluster for this resource, if any.
4348        '''
4349        self.region = region if region is not None else ''
4350        '''
4351         The AWS region to connect to e.g. us-east-1.
4352        '''
4353        self.role_arn = role_arn if role_arn is not None else ''
4354        '''
4355         The role to assume after logging in.
4356        '''
4357        self.role_external_id = role_external_id if role_external_id is not None else ''
4358        '''
4359         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4360        '''
4361        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4362        '''
4363         The Secret Access Key to use to authenticate.
4364        '''
4365        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4366        '''
4367         ID of the secret store containing credentials for this resource, if any.
4368        '''
4369        self.subdomain = subdomain if subdomain is not None else ''
4370        '''
4371         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4372        '''
4373        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4374        '''
4375         Tags is a map of key, value pairs.
4376        '''
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)
4401    def to_dict(self):
4402        return {
4403            'access_key': self.access_key,
4404            'bind_interface': self.bind_interface,
4405            'certificate_authority': self.certificate_authority,
4406            'cluster_name': self.cluster_name,
4407            'egress_filter': self.egress_filter,
4408            'endpoint': self.endpoint,
4409            'healthcheck_namespace': self.healthcheck_namespace,
4410            'healthy': self.healthy,
4411            'id': self.id,
4412            'name': self.name,
4413            'port_override': self.port_override,
4414            'proxy_cluster_id': self.proxy_cluster_id,
4415            'region': self.region,
4416            'role_arn': self.role_arn,
4417            'role_external_id': self.role_external_id,
4418            'secret_access_key': self.secret_access_key,
4419            'secret_store_id': self.secret_store_id,
4420            'subdomain': self.subdomain,
4421            'tags': self.tags,
4422        }
@classmethod
def from_dict(cls, d)
4424    @classmethod
4425    def from_dict(cls, d):
4426        return cls(
4427            access_key=d.get('access_key'),
4428            bind_interface=d.get('bind_interface'),
4429            certificate_authority=d.get('certificate_authority'),
4430            cluster_name=d.get('cluster_name'),
4431            egress_filter=d.get('egress_filter'),
4432            endpoint=d.get('endpoint'),
4433            healthcheck_namespace=d.get('healthcheck_namespace'),
4434            healthy=d.get('healthy'),
4435            id=d.get('id'),
4436            name=d.get('name'),
4437            port_override=d.get('port_override'),
4438            proxy_cluster_id=d.get('proxy_cluster_id'),
4439            region=d.get('region'),
4440            role_arn=d.get('role_arn'),
4441            role_external_id=d.get('role_external_id'),
4442            secret_access_key=d.get('secret_access_key'),
4443            secret_store_id=d.get('secret_store_id'),
4444            subdomain=d.get('subdomain'),
4445            tags=d.get('tags'),
4446        )
class AmazonES:
4449class AmazonES:
4450    __slots__ = [
4451        'access_key',
4452        'bind_interface',
4453        'egress_filter',
4454        'endpoint',
4455        'healthy',
4456        'id',
4457        'name',
4458        'port_override',
4459        'proxy_cluster_id',
4460        'region',
4461        'role_arn',
4462        'role_external_id',
4463        'secret_access_key',
4464        'secret_store_id',
4465        'subdomain',
4466        'tags',
4467    ]
4468
4469    def __init__(
4470        self,
4471        access_key=None,
4472        bind_interface=None,
4473        egress_filter=None,
4474        endpoint=None,
4475        healthy=None,
4476        id=None,
4477        name=None,
4478        port_override=None,
4479        proxy_cluster_id=None,
4480        region=None,
4481        role_arn=None,
4482        role_external_id=None,
4483        secret_access_key=None,
4484        secret_store_id=None,
4485        subdomain=None,
4486        tags=None,
4487    ):
4488        self.access_key = access_key if access_key is not None else ''
4489        '''
4490         The Access Key ID to use to authenticate.
4491        '''
4492        self.bind_interface = bind_interface if bind_interface is not None else ''
4493        '''
4494         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4495        '''
4496        self.egress_filter = egress_filter if egress_filter is not None else ''
4497        '''
4498         A filter applied to the routing logic to pin datasource to nodes.
4499        '''
4500        self.endpoint = endpoint if endpoint is not None else ''
4501        '''
4502         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4503        '''
4504        self.healthy = healthy if healthy is not None else False
4505        '''
4506         True if the datasource is reachable and the credentials are valid.
4507        '''
4508        self.id = id if id is not None else ''
4509        '''
4510         Unique identifier of the Resource.
4511        '''
4512        self.name = name if name is not None else ''
4513        '''
4514         Unique human-readable name of the Resource.
4515        '''
4516        self.port_override = port_override if port_override is not None else 0
4517        '''
4518         The local port used by clients to connect to this resource.
4519        '''
4520        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4521        '''
4522         ID of the proxy cluster for this resource, if any.
4523        '''
4524        self.region = region if region is not None else ''
4525        '''
4526         The AWS region to connect to e.g. us-east-1.
4527        '''
4528        self.role_arn = role_arn if role_arn is not None else ''
4529        '''
4530         The role to assume after logging in.
4531        '''
4532        self.role_external_id = role_external_id if role_external_id is not None else ''
4533        '''
4534         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4535        '''
4536        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4537        '''
4538         The Secret Access Key to use to authenticate.
4539        '''
4540        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4541        '''
4542         ID of the secret store containing credentials for this resource, if any.
4543        '''
4544        self.subdomain = subdomain if subdomain is not None else ''
4545        '''
4546         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4547        '''
4548        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4549        '''
4550         Tags is a map of key, value pairs.
4551        '''
4552
4553    def __repr__(self):
4554        return '<sdm.AmazonES ' + \
4555            'access_key: ' + repr(self.access_key) + ' ' +\
4556            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4557            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4558            'endpoint: ' + repr(self.endpoint) + ' ' +\
4559            'healthy: ' + repr(self.healthy) + ' ' +\
4560            'id: ' + repr(self.id) + ' ' +\
4561            'name: ' + repr(self.name) + ' ' +\
4562            'port_override: ' + repr(self.port_override) + ' ' +\
4563            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4564            'region: ' + repr(self.region) + ' ' +\
4565            'role_arn: ' + repr(self.role_arn) + ' ' +\
4566            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4567            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4568            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4569            'subdomain: ' + repr(self.subdomain) + ' ' +\
4570            'tags: ' + repr(self.tags) + ' ' +\
4571            '>'
4572
4573    def to_dict(self):
4574        return {
4575            'access_key': self.access_key,
4576            'bind_interface': self.bind_interface,
4577            'egress_filter': self.egress_filter,
4578            'endpoint': self.endpoint,
4579            'healthy': self.healthy,
4580            'id': self.id,
4581            'name': self.name,
4582            'port_override': self.port_override,
4583            'proxy_cluster_id': self.proxy_cluster_id,
4584            'region': self.region,
4585            'role_arn': self.role_arn,
4586            'role_external_id': self.role_external_id,
4587            'secret_access_key': self.secret_access_key,
4588            'secret_store_id': self.secret_store_id,
4589            'subdomain': self.subdomain,
4590            'tags': self.tags,
4591        }
4592
4593    @classmethod
4594    def from_dict(cls, d):
4595        return cls(
4596            access_key=d.get('access_key'),
4597            bind_interface=d.get('bind_interface'),
4598            egress_filter=d.get('egress_filter'),
4599            endpoint=d.get('endpoint'),
4600            healthy=d.get('healthy'),
4601            id=d.get('id'),
4602            name=d.get('name'),
4603            port_override=d.get('port_override'),
4604            proxy_cluster_id=d.get('proxy_cluster_id'),
4605            region=d.get('region'),
4606            role_arn=d.get('role_arn'),
4607            role_external_id=d.get('role_external_id'),
4608            secret_access_key=d.get('secret_access_key'),
4609            secret_store_id=d.get('secret_store_id'),
4610            subdomain=d.get('subdomain'),
4611            tags=d.get('tags'),
4612        )
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)
4469    def __init__(
4470        self,
4471        access_key=None,
4472        bind_interface=None,
4473        egress_filter=None,
4474        endpoint=None,
4475        healthy=None,
4476        id=None,
4477        name=None,
4478        port_override=None,
4479        proxy_cluster_id=None,
4480        region=None,
4481        role_arn=None,
4482        role_external_id=None,
4483        secret_access_key=None,
4484        secret_store_id=None,
4485        subdomain=None,
4486        tags=None,
4487    ):
4488        self.access_key = access_key if access_key is not None else ''
4489        '''
4490         The Access Key ID to use to authenticate.
4491        '''
4492        self.bind_interface = bind_interface if bind_interface is not None else ''
4493        '''
4494         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4495        '''
4496        self.egress_filter = egress_filter if egress_filter is not None else ''
4497        '''
4498         A filter applied to the routing logic to pin datasource to nodes.
4499        '''
4500        self.endpoint = endpoint if endpoint is not None else ''
4501        '''
4502         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4503        '''
4504        self.healthy = healthy if healthy is not None else False
4505        '''
4506         True if the datasource is reachable and the credentials are valid.
4507        '''
4508        self.id = id if id is not None else ''
4509        '''
4510         Unique identifier of the Resource.
4511        '''
4512        self.name = name if name is not None else ''
4513        '''
4514         Unique human-readable name of the Resource.
4515        '''
4516        self.port_override = port_override if port_override is not None else 0
4517        '''
4518         The local port used by clients to connect to this resource.
4519        '''
4520        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4521        '''
4522         ID of the proxy cluster for this resource, if any.
4523        '''
4524        self.region = region if region is not None else ''
4525        '''
4526         The AWS region to connect to e.g. us-east-1.
4527        '''
4528        self.role_arn = role_arn if role_arn is not None else ''
4529        '''
4530         The role to assume after logging in.
4531        '''
4532        self.role_external_id = role_external_id if role_external_id is not None else ''
4533        '''
4534         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4535        '''
4536        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4537        '''
4538         The Secret Access Key to use to authenticate.
4539        '''
4540        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4541        '''
4542         ID of the secret store containing credentials for this resource, if any.
4543        '''
4544        self.subdomain = subdomain if subdomain is not None else ''
4545        '''
4546         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4547        '''
4548        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4549        '''
4550         Tags is a map of key, value pairs.
4551        '''
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)
4573    def to_dict(self):
4574        return {
4575            'access_key': self.access_key,
4576            'bind_interface': self.bind_interface,
4577            'egress_filter': self.egress_filter,
4578            'endpoint': self.endpoint,
4579            'healthy': self.healthy,
4580            'id': self.id,
4581            'name': self.name,
4582            'port_override': self.port_override,
4583            'proxy_cluster_id': self.proxy_cluster_id,
4584            'region': self.region,
4585            'role_arn': self.role_arn,
4586            'role_external_id': self.role_external_id,
4587            'secret_access_key': self.secret_access_key,
4588            'secret_store_id': self.secret_store_id,
4589            'subdomain': self.subdomain,
4590            'tags': self.tags,
4591        }
@classmethod
def from_dict(cls, d)
4593    @classmethod
4594    def from_dict(cls, d):
4595        return cls(
4596            access_key=d.get('access_key'),
4597            bind_interface=d.get('bind_interface'),
4598            egress_filter=d.get('egress_filter'),
4599            endpoint=d.get('endpoint'),
4600            healthy=d.get('healthy'),
4601            id=d.get('id'),
4602            name=d.get('name'),
4603            port_override=d.get('port_override'),
4604            proxy_cluster_id=d.get('proxy_cluster_id'),
4605            region=d.get('region'),
4606            role_arn=d.get('role_arn'),
4607            role_external_id=d.get('role_external_id'),
4608            secret_access_key=d.get('secret_access_key'),
4609            secret_store_id=d.get('secret_store_id'),
4610            subdomain=d.get('subdomain'),
4611            tags=d.get('tags'),
4612        )
class AmazonMQAMQP091:
4615class AmazonMQAMQP091:
4616    __slots__ = [
4617        'bind_interface',
4618        'egress_filter',
4619        'healthy',
4620        'hostname',
4621        'id',
4622        'name',
4623        'password',
4624        'port',
4625        'port_override',
4626        'proxy_cluster_id',
4627        'secret_store_id',
4628        'subdomain',
4629        'tags',
4630        'tls_required',
4631        'username',
4632    ]
4633
4634    def __init__(
4635        self,
4636        bind_interface=None,
4637        egress_filter=None,
4638        healthy=None,
4639        hostname=None,
4640        id=None,
4641        name=None,
4642        password=None,
4643        port=None,
4644        port_override=None,
4645        proxy_cluster_id=None,
4646        secret_store_id=None,
4647        subdomain=None,
4648        tags=None,
4649        tls_required=None,
4650        username=None,
4651    ):
4652        self.bind_interface = bind_interface if bind_interface is not None else ''
4653        '''
4654         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4655        '''
4656        self.egress_filter = egress_filter if egress_filter is not None else ''
4657        '''
4658         A filter applied to the routing logic to pin datasource to nodes.
4659        '''
4660        self.healthy = healthy if healthy is not None else False
4661        '''
4662         True if the datasource is reachable and the credentials are valid.
4663        '''
4664        self.hostname = hostname if hostname is not None else ''
4665        '''
4666         The host to dial to initiate a connection from the egress node to this resource.
4667        '''
4668        self.id = id if id is not None else ''
4669        '''
4670         Unique identifier of the Resource.
4671        '''
4672        self.name = name if name is not None else ''
4673        '''
4674         Unique human-readable name of the Resource.
4675        '''
4676        self.password = password if password is not None else ''
4677        '''
4678         The password to authenticate with.
4679        '''
4680        self.port = port if port is not None else 0
4681        '''
4682         The port to dial to initiate a connection from the egress node to this resource.
4683        '''
4684        self.port_override = port_override if port_override is not None else 0
4685        '''
4686         The local port used by clients to connect to this resource.
4687        '''
4688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4689        '''
4690         ID of the proxy cluster for this resource, if any.
4691        '''
4692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4693        '''
4694         ID of the secret store containing credentials for this resource, if any.
4695        '''
4696        self.subdomain = subdomain if subdomain is not None else ''
4697        '''
4698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4699        '''
4700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4701        '''
4702         Tags is a map of key, value pairs.
4703        '''
4704        self.tls_required = tls_required if tls_required is not None else False
4705        '''
4706         If set, TLS must be used to connect to this resource.
4707        '''
4708        self.username = username if username is not None else ''
4709        '''
4710         The username to authenticate with.
4711        '''
4712
4713    def __repr__(self):
4714        return '<sdm.AmazonMQAMQP091 ' + \
4715            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4716            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4717            'healthy: ' + repr(self.healthy) + ' ' +\
4718            'hostname: ' + repr(self.hostname) + ' ' +\
4719            'id: ' + repr(self.id) + ' ' +\
4720            'name: ' + repr(self.name) + ' ' +\
4721            'password: ' + repr(self.password) + ' ' +\
4722            'port: ' + repr(self.port) + ' ' +\
4723            'port_override: ' + repr(self.port_override) + ' ' +\
4724            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4725            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4726            'subdomain: ' + repr(self.subdomain) + ' ' +\
4727            'tags: ' + repr(self.tags) + ' ' +\
4728            'tls_required: ' + repr(self.tls_required) + ' ' +\
4729            'username: ' + repr(self.username) + ' ' +\
4730            '>'
4731
4732    def to_dict(self):
4733        return {
4734            'bind_interface': self.bind_interface,
4735            'egress_filter': self.egress_filter,
4736            'healthy': self.healthy,
4737            'hostname': self.hostname,
4738            'id': self.id,
4739            'name': self.name,
4740            'password': self.password,
4741            'port': self.port,
4742            'port_override': self.port_override,
4743            'proxy_cluster_id': self.proxy_cluster_id,
4744            'secret_store_id': self.secret_store_id,
4745            'subdomain': self.subdomain,
4746            'tags': self.tags,
4747            'tls_required': self.tls_required,
4748            'username': self.username,
4749        }
4750
4751    @classmethod
4752    def from_dict(cls, d):
4753        return cls(
4754            bind_interface=d.get('bind_interface'),
4755            egress_filter=d.get('egress_filter'),
4756            healthy=d.get('healthy'),
4757            hostname=d.get('hostname'),
4758            id=d.get('id'),
4759            name=d.get('name'),
4760            password=d.get('password'),
4761            port=d.get('port'),
4762            port_override=d.get('port_override'),
4763            proxy_cluster_id=d.get('proxy_cluster_id'),
4764            secret_store_id=d.get('secret_store_id'),
4765            subdomain=d.get('subdomain'),
4766            tags=d.get('tags'),
4767            tls_required=d.get('tls_required'),
4768            username=d.get('username'),
4769        )
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)
4634    def __init__(
4635        self,
4636        bind_interface=None,
4637        egress_filter=None,
4638        healthy=None,
4639        hostname=None,
4640        id=None,
4641        name=None,
4642        password=None,
4643        port=None,
4644        port_override=None,
4645        proxy_cluster_id=None,
4646        secret_store_id=None,
4647        subdomain=None,
4648        tags=None,
4649        tls_required=None,
4650        username=None,
4651    ):
4652        self.bind_interface = bind_interface if bind_interface is not None else ''
4653        '''
4654         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4655        '''
4656        self.egress_filter = egress_filter if egress_filter is not None else ''
4657        '''
4658         A filter applied to the routing logic to pin datasource to nodes.
4659        '''
4660        self.healthy = healthy if healthy is not None else False
4661        '''
4662         True if the datasource is reachable and the credentials are valid.
4663        '''
4664        self.hostname = hostname if hostname is not None else ''
4665        '''
4666         The host to dial to initiate a connection from the egress node to this resource.
4667        '''
4668        self.id = id if id is not None else ''
4669        '''
4670         Unique identifier of the Resource.
4671        '''
4672        self.name = name if name is not None else ''
4673        '''
4674         Unique human-readable name of the Resource.
4675        '''
4676        self.password = password if password is not None else ''
4677        '''
4678         The password to authenticate with.
4679        '''
4680        self.port = port if port is not None else 0
4681        '''
4682         The port to dial to initiate a connection from the egress node to this resource.
4683        '''
4684        self.port_override = port_override if port_override is not None else 0
4685        '''
4686         The local port used by clients to connect to this resource.
4687        '''
4688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4689        '''
4690         ID of the proxy cluster for this resource, if any.
4691        '''
4692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4693        '''
4694         ID of the secret store containing credentials for this resource, if any.
4695        '''
4696        self.subdomain = subdomain if subdomain is not None else ''
4697        '''
4698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4699        '''
4700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4701        '''
4702         Tags is a map of key, value pairs.
4703        '''
4704        self.tls_required = tls_required if tls_required is not None else False
4705        '''
4706         If set, TLS must be used to connect to this resource.
4707        '''
4708        self.username = username if username is not None else ''
4709        '''
4710         The username to authenticate with.
4711        '''
bind_interface

The bind interface is the IP 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)
4732    def to_dict(self):
4733        return {
4734            'bind_interface': self.bind_interface,
4735            'egress_filter': self.egress_filter,
4736            'healthy': self.healthy,
4737            'hostname': self.hostname,
4738            'id': self.id,
4739            'name': self.name,
4740            'password': self.password,
4741            'port': self.port,
4742            'port_override': self.port_override,
4743            'proxy_cluster_id': self.proxy_cluster_id,
4744            'secret_store_id': self.secret_store_id,
4745            'subdomain': self.subdomain,
4746            'tags': self.tags,
4747            'tls_required': self.tls_required,
4748            'username': self.username,
4749        }
@classmethod
def from_dict(cls, d)
4751    @classmethod
4752    def from_dict(cls, d):
4753        return cls(
4754            bind_interface=d.get('bind_interface'),
4755            egress_filter=d.get('egress_filter'),
4756            healthy=d.get('healthy'),
4757            hostname=d.get('hostname'),
4758            id=d.get('id'),
4759            name=d.get('name'),
4760            password=d.get('password'),
4761            port=d.get('port'),
4762            port_override=d.get('port_override'),
4763            proxy_cluster_id=d.get('proxy_cluster_id'),
4764            secret_store_id=d.get('secret_store_id'),
4765            subdomain=d.get('subdomain'),
4766            tags=d.get('tags'),
4767            tls_required=d.get('tls_required'),
4768            username=d.get('username'),
4769        )
class ApprovalWorkflow:
4772class ApprovalWorkflow:
4773    '''
4774         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
4775     approvers and be approved or denied.
4776    '''
4777    __slots__ = [
4778        'approval_mode',
4779        'description',
4780        'id',
4781        'name',
4782    ]
4783
4784    def __init__(
4785        self,
4786        approval_mode=None,
4787        description=None,
4788        id=None,
4789        name=None,
4790    ):
4791        self.approval_mode = approval_mode if approval_mode is not None else ''
4792        '''
4793         Approval mode of the ApprovalWorkflow
4794        '''
4795        self.description = description if description is not None else ''
4796        '''
4797         Optional description of the ApprovalWorkflow.
4798        '''
4799        self.id = id if id is not None else ''
4800        '''
4801         Unique identifier of the ApprovalWorkflow.
4802        '''
4803        self.name = name if name is not None else ''
4804        '''
4805         Unique human-readable name of the ApprovalWorkflow.
4806        '''
4807
4808    def __repr__(self):
4809        return '<sdm.ApprovalWorkflow ' + \
4810            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
4811            'description: ' + repr(self.description) + ' ' +\
4812            'id: ' + repr(self.id) + ' ' +\
4813            'name: ' + repr(self.name) + ' ' +\
4814            '>'
4815
4816    def to_dict(self):
4817        return {
4818            'approval_mode': self.approval_mode,
4819            'description': self.description,
4820            'id': self.id,
4821            'name': self.name,
4822        }
4823
4824    @classmethod
4825    def from_dict(cls, d):
4826        return cls(
4827            approval_mode=d.get('approval_mode'),
4828            description=d.get('description'),
4829            id=d.get('id'),
4830            name=d.get('name'),
4831        )

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)
4784    def __init__(
4785        self,
4786        approval_mode=None,
4787        description=None,
4788        id=None,
4789        name=None,
4790    ):
4791        self.approval_mode = approval_mode if approval_mode is not None else ''
4792        '''
4793         Approval mode of the ApprovalWorkflow
4794        '''
4795        self.description = description if description is not None else ''
4796        '''
4797         Optional description of the ApprovalWorkflow.
4798        '''
4799        self.id = id if id is not None else ''
4800        '''
4801         Unique identifier of the ApprovalWorkflow.
4802        '''
4803        self.name = name if name is not None else ''
4804        '''
4805         Unique human-readable name of the ApprovalWorkflow.
4806        '''
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)
4816    def to_dict(self):
4817        return {
4818            'approval_mode': self.approval_mode,
4819            'description': self.description,
4820            'id': self.id,
4821            'name': self.name,
4822        }
@classmethod
def from_dict(cls, d)
4824    @classmethod
4825    def from_dict(cls, d):
4826        return cls(
4827            approval_mode=d.get('approval_mode'),
4828            description=d.get('description'),
4829            id=d.get('id'),
4830            name=d.get('name'),
4831        )
class ApprovalWorkflowApprover:
4834class ApprovalWorkflowApprover:
4835    '''
4836         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
4837    '''
4838    __slots__ = [
4839        'account_id',
4840        'approval_flow_id',
4841        'approval_step_id',
4842        'id',
4843        'role_id',
4844    ]
4845
4846    def __init__(
4847        self,
4848        account_id=None,
4849        approval_flow_id=None,
4850        approval_step_id=None,
4851        id=None,
4852        role_id=None,
4853    ):
4854        self.account_id = account_id if account_id is not None else ''
4855        '''
4856         The approver account id.
4857        '''
4858        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
4859        '''
4860         The approval flow id specified the approval workflow that this approver belongs to
4861        '''
4862        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
4863        '''
4864         The approval step id specified the approval flow step that this approver belongs to
4865        '''
4866        self.id = id if id is not None else ''
4867        '''
4868         Unique identifier of the ApprovalWorkflowApprover.
4869        '''
4870        self.role_id = role_id if role_id is not None else ''
4871        '''
4872         The approver role id
4873        '''
4874
4875    def __repr__(self):
4876        return '<sdm.ApprovalWorkflowApprover ' + \
4877            'account_id: ' + repr(self.account_id) + ' ' +\
4878            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
4879            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
4880            'id: ' + repr(self.id) + ' ' +\
4881            'role_id: ' + repr(self.role_id) + ' ' +\
4882            '>'
4883
4884    def to_dict(self):
4885        return {
4886            'account_id': self.account_id,
4887            'approval_flow_id': self.approval_flow_id,
4888            'approval_step_id': self.approval_step_id,
4889            'id': self.id,
4890            'role_id': self.role_id,
4891        }
4892
4893    @classmethod
4894    def from_dict(cls, d):
4895        return cls(
4896            account_id=d.get('account_id'),
4897            approval_flow_id=d.get('approval_flow_id'),
4898            approval_step_id=d.get('approval_step_id'),
4899            id=d.get('id'),
4900            role_id=d.get('role_id'),
4901        )

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)
4846    def __init__(
4847        self,
4848        account_id=None,
4849        approval_flow_id=None,
4850        approval_step_id=None,
4851        id=None,
4852        role_id=None,
4853    ):
4854        self.account_id = account_id if account_id is not None else ''
4855        '''
4856         The approver account id.
4857        '''
4858        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
4859        '''
4860         The approval flow id specified the approval workflow that this approver belongs to
4861        '''
4862        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
4863        '''
4864         The approval step id specified the approval flow step that this approver belongs to
4865        '''
4866        self.id = id if id is not None else ''
4867        '''
4868         Unique identifier of the ApprovalWorkflowApprover.
4869        '''
4870        self.role_id = role_id if role_id is not None else ''
4871        '''
4872         The approver role id
4873        '''
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)
4884    def to_dict(self):
4885        return {
4886            'account_id': self.account_id,
4887            'approval_flow_id': self.approval_flow_id,
4888            'approval_step_id': self.approval_step_id,
4889            'id': self.id,
4890            'role_id': self.role_id,
4891        }
@classmethod
def from_dict(cls, d)
4893    @classmethod
4894    def from_dict(cls, d):
4895        return cls(
4896            account_id=d.get('account_id'),
4897            approval_flow_id=d.get('approval_flow_id'),
4898            approval_step_id=d.get('approval_step_id'),
4899            id=d.get('id'),
4900            role_id=d.get('role_id'),
4901        )
class ApprovalWorkflowApproverCreateResponse:
4904class ApprovalWorkflowApproverCreateResponse:
4905    '''
4906         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
4907    '''
4908    __slots__ = [
4909        'approval_workflow_approver',
4910        'rate_limit',
4911    ]
4912
4913    def __init__(
4914        self,
4915        approval_workflow_approver=None,
4916        rate_limit=None,
4917    ):
4918        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
4919        '''
4920         The created approval workflow approver.
4921        '''
4922        self.rate_limit = rate_limit if rate_limit is not None else None
4923        '''
4924         Rate limit information.
4925        '''
4926
4927    def __repr__(self):
4928        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
4929            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
4930            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4931            '>'
4932
4933    def to_dict(self):
4934        return {
4935            'approval_workflow_approver': self.approval_workflow_approver,
4936            'rate_limit': self.rate_limit,
4937        }
4938
4939    @classmethod
4940    def from_dict(cls, d):
4941        return cls(
4942            approval_workflow_approver=d.get('approval_workflow_approver'),
4943            rate_limit=d.get('rate_limit'),
4944        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
4913    def __init__(
4914        self,
4915        approval_workflow_approver=None,
4916        rate_limit=None,
4917    ):
4918        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
4919        '''
4920         The created approval workflow approver.
4921        '''
4922        self.rate_limit = rate_limit if rate_limit is not None else None
4923        '''
4924         Rate limit information.
4925        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

def to_dict(self)
4933    def to_dict(self):
4934        return {
4935            'approval_workflow_approver': self.approval_workflow_approver,
4936            'rate_limit': self.rate_limit,
4937        }
@classmethod
def from_dict(cls, d)
4939    @classmethod
4940    def from_dict(cls, d):
4941        return cls(
4942            approval_workflow_approver=d.get('approval_workflow_approver'),
4943            rate_limit=d.get('rate_limit'),
4944        )
class ApprovalWorkflowApproverDeleteResponse:
4947class ApprovalWorkflowApproverDeleteResponse:
4948    '''
4949         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
4950    '''
4951    __slots__ = [
4952        'id',
4953        'rate_limit',
4954    ]
4955
4956    def __init__(
4957        self,
4958        id=None,
4959        rate_limit=None,
4960    ):
4961        self.id = id if id is not None else ''
4962        '''
4963         The deleted approval workflow approver id.
4964        '''
4965        self.rate_limit = rate_limit if rate_limit is not None else None
4966        '''
4967         Rate limit information.
4968        '''
4969
4970    def __repr__(self):
4971        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
4972            'id: ' + repr(self.id) + ' ' +\
4973            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4974            '>'
4975
4976    def to_dict(self):
4977        return {
4978            'id': self.id,
4979            'rate_limit': self.rate_limit,
4980        }
4981
4982    @classmethod
4983    def from_dict(cls, d):
4984        return cls(
4985            id=d.get('id'),
4986            rate_limit=d.get('rate_limit'),
4987        )

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
4956    def __init__(
4957        self,
4958        id=None,
4959        rate_limit=None,
4960    ):
4961        self.id = id if id is not None else ''
4962        '''
4963         The deleted approval workflow approver id.
4964        '''
4965        self.rate_limit = rate_limit if rate_limit is not None else None
4966        '''
4967         Rate limit information.
4968        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

def to_dict(self)
4976    def to_dict(self):
4977        return {
4978            'id': self.id,
4979            'rate_limit': self.rate_limit,
4980        }
@classmethod
def from_dict(cls, d)
4982    @classmethod
4983    def from_dict(cls, d):
4984        return cls(
4985            id=d.get('id'),
4986            rate_limit=d.get('rate_limit'),
4987        )
class ApprovalWorkflowApproverGetResponse:
4990class ApprovalWorkflowApproverGetResponse:
4991    '''
4992         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
4993    '''
4994    __slots__ = [
4995        'approval_workflow_approver',
4996        'meta',
4997        'rate_limit',
4998    ]
4999
5000    def __init__(
5001        self,
5002        approval_workflow_approver=None,
5003        meta=None,
5004        rate_limit=None,
5005    ):
5006        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5007        '''
5008         The requested ApprovalWorkflowApprover.
5009        '''
5010        self.meta = meta if meta is not None else None
5011        '''
5012         Reserved for future use.
5013        '''
5014        self.rate_limit = rate_limit if rate_limit is not None else None
5015        '''
5016         Rate limit information.
5017        '''
5018
5019    def __repr__(self):
5020        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
5021            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5022            'meta: ' + repr(self.meta) + ' ' +\
5023            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5024            '>'
5025
5026    def to_dict(self):
5027        return {
5028            'approval_workflow_approver': self.approval_workflow_approver,
5029            'meta': self.meta,
5030            'rate_limit': self.rate_limit,
5031        }
5032
5033    @classmethod
5034    def from_dict(cls, d):
5035        return cls(
5036            approval_workflow_approver=d.get('approval_workflow_approver'),
5037            meta=d.get('meta'),
5038            rate_limit=d.get('rate_limit'),
5039        )

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

ApprovalWorkflowApproverGetResponse(approval_workflow_approver=None, meta=None, rate_limit=None)
5000    def __init__(
5001        self,
5002        approval_workflow_approver=None,
5003        meta=None,
5004        rate_limit=None,
5005    ):
5006        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5007        '''
5008         The requested ApprovalWorkflowApprover.
5009        '''
5010        self.meta = meta if meta is not None else None
5011        '''
5012         Reserved for future use.
5013        '''
5014        self.rate_limit = rate_limit if rate_limit is not None else None
5015        '''
5016         Rate limit information.
5017        '''
approval_workflow_approver

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5026    def to_dict(self):
5027        return {
5028            'approval_workflow_approver': self.approval_workflow_approver,
5029            'meta': self.meta,
5030            'rate_limit': self.rate_limit,
5031        }
@classmethod
def from_dict(cls, d)
5033    @classmethod
5034    def from_dict(cls, d):
5035        return cls(
5036            approval_workflow_approver=d.get('approval_workflow_approver'),
5037            meta=d.get('meta'),
5038            rate_limit=d.get('rate_limit'),
5039        )
class ApprovalWorkflowApproverHistory:
5042class ApprovalWorkflowApproverHistory:
5043    '''
5044         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
5045     where every change (create or delete) to an ApprovalWorkflowApprover produces an
5046     ApprovalWorkflowApproverHistory record.
5047    '''
5048    __slots__ = [
5049        'activity_id',
5050        'approval_workflow_approver',
5051        'deleted_at',
5052        'timestamp',
5053    ]
5054
5055    def __init__(
5056        self,
5057        activity_id=None,
5058        approval_workflow_approver=None,
5059        deleted_at=None,
5060        timestamp=None,
5061    ):
5062        self.activity_id = activity_id if activity_id is not None else ''
5063        '''
5064         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5065         May be empty for some system-initiated updates.
5066        '''
5067        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5068        '''
5069         The complete ApprovalWorkflowApprover state at this time.
5070        '''
5071        self.deleted_at = deleted_at if deleted_at is not None else None
5072        '''
5073         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5074        '''
5075        self.timestamp = timestamp if timestamp is not None else None
5076        '''
5077         The time at which the ApprovalWorkflowApprover state was recorded.
5078        '''
5079
5080    def __repr__(self):
5081        return '<sdm.ApprovalWorkflowApproverHistory ' + \
5082            'activity_id: ' + repr(self.activity_id) + ' ' +\
5083            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5084            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5085            'timestamp: ' + repr(self.timestamp) + ' ' +\
5086            '>'
5087
5088    def to_dict(self):
5089        return {
5090            'activity_id': self.activity_id,
5091            'approval_workflow_approver': self.approval_workflow_approver,
5092            'deleted_at': self.deleted_at,
5093            'timestamp': self.timestamp,
5094        }
5095
5096    @classmethod
5097    def from_dict(cls, d):
5098        return cls(
5099            activity_id=d.get('activity_id'),
5100            approval_workflow_approver=d.get('approval_workflow_approver'),
5101            deleted_at=d.get('deleted_at'),
5102            timestamp=d.get('timestamp'),
5103        )

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)
5055    def __init__(
5056        self,
5057        activity_id=None,
5058        approval_workflow_approver=None,
5059        deleted_at=None,
5060        timestamp=None,
5061    ):
5062        self.activity_id = activity_id if activity_id is not None else ''
5063        '''
5064         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
5065         May be empty for some system-initiated updates.
5066        '''
5067        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5068        '''
5069         The complete ApprovalWorkflowApprover state at this time.
5070        '''
5071        self.deleted_at = deleted_at if deleted_at is not None else None
5072        '''
5073         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
5074        '''
5075        self.timestamp = timestamp if timestamp is not None else None
5076        '''
5077         The time at which the ApprovalWorkflowApprover state was recorded.
5078        '''
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)
5088    def to_dict(self):
5089        return {
5090            'activity_id': self.activity_id,
5091            'approval_workflow_approver': self.approval_workflow_approver,
5092            'deleted_at': self.deleted_at,
5093            'timestamp': self.timestamp,
5094        }
@classmethod
def from_dict(cls, d)
5096    @classmethod
5097    def from_dict(cls, d):
5098        return cls(
5099            activity_id=d.get('activity_id'),
5100            approval_workflow_approver=d.get('approval_workflow_approver'),
5101            deleted_at=d.get('deleted_at'),
5102            timestamp=d.get('timestamp'),
5103        )
class ApprovalWorkflowApproverListResponse:
5106class ApprovalWorkflowApproverListResponse:
5107    '''
5108         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
5109     the criteria of an ApprovalWorkflowApproverListRequest.
5110    '''
5111    __slots__ = [
5112        'rate_limit',
5113    ]
5114
5115    def __init__(
5116        self,
5117        rate_limit=None,
5118    ):
5119        self.rate_limit = rate_limit if rate_limit is not None else None
5120        '''
5121         Rate limit information.
5122        '''
5123
5124    def __repr__(self):
5125        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
5126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5127            '>'
5128
5129    def to_dict(self):
5130        return {
5131            'rate_limit': self.rate_limit,
5132        }
5133
5134    @classmethod
5135    def from_dict(cls, d):
5136        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)
5115    def __init__(
5116        self,
5117        rate_limit=None,
5118    ):
5119        self.rate_limit = rate_limit if rate_limit is not None else None
5120        '''
5121         Rate limit information.
5122        '''
rate_limit

Rate limit information.

def to_dict(self)
5129    def to_dict(self):
5130        return {
5131            'rate_limit': self.rate_limit,
5132        }
@classmethod
def from_dict(cls, d)
5134    @classmethod
5135    def from_dict(cls, d):
5136        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowCreateResponse:
5139class ApprovalWorkflowCreateResponse:
5140    '''
5141         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
5142    '''
5143    __slots__ = [
5144        'approval_workflow',
5145        'rate_limit',
5146    ]
5147
5148    def __init__(
5149        self,
5150        approval_workflow=None,
5151        rate_limit=None,
5152    ):
5153        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5154        '''
5155         The created approval workflow.
5156        '''
5157        self.rate_limit = rate_limit if rate_limit is not None else None
5158        '''
5159         Rate limit information.
5160        '''
5161
5162    def __repr__(self):
5163        return '<sdm.ApprovalWorkflowCreateResponse ' + \
5164            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5165            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5166            '>'
5167
5168    def to_dict(self):
5169        return {
5170            'approval_workflow': self.approval_workflow,
5171            'rate_limit': self.rate_limit,
5172        }
5173
5174    @classmethod
5175    def from_dict(cls, d):
5176        return cls(
5177            approval_workflow=d.get('approval_workflow'),
5178            rate_limit=d.get('rate_limit'),
5179        )

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
5148    def __init__(
5149        self,
5150        approval_workflow=None,
5151        rate_limit=None,
5152    ):
5153        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5154        '''
5155         The created approval workflow.
5156        '''
5157        self.rate_limit = rate_limit if rate_limit is not None else None
5158        '''
5159         Rate limit information.
5160        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
5168    def to_dict(self):
5169        return {
5170            'approval_workflow': self.approval_workflow,
5171            'rate_limit': self.rate_limit,
5172        }
@classmethod
def from_dict(cls, d)
5174    @classmethod
5175    def from_dict(cls, d):
5176        return cls(
5177            approval_workflow=d.get('approval_workflow'),
5178            rate_limit=d.get('rate_limit'),
5179        )
class ApprovalWorkflowDeleteResponse:
5182class ApprovalWorkflowDeleteResponse:
5183    '''
5184         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
5185    '''
5186    __slots__ = [
5187        'id',
5188        'rate_limit',
5189    ]
5190
5191    def __init__(
5192        self,
5193        id=None,
5194        rate_limit=None,
5195    ):
5196        self.id = id if id is not None else ''
5197        '''
5198         The deleted approval workflow id.
5199        '''
5200        self.rate_limit = rate_limit if rate_limit is not None else None
5201        '''
5202         Rate limit information.
5203        '''
5204
5205    def __repr__(self):
5206        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
5207            'id: ' + repr(self.id) + ' ' +\
5208            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5209            '>'
5210
5211    def to_dict(self):
5212        return {
5213            'id': self.id,
5214            'rate_limit': self.rate_limit,
5215        }
5216
5217    @classmethod
5218    def from_dict(cls, d):
5219        return cls(
5220            id=d.get('id'),
5221            rate_limit=d.get('rate_limit'),
5222        )

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
5191    def __init__(
5192        self,
5193        id=None,
5194        rate_limit=None,
5195    ):
5196        self.id = id if id is not None else ''
5197        '''
5198         The deleted approval workflow id.
5199        '''
5200        self.rate_limit = rate_limit if rate_limit is not None else None
5201        '''
5202         Rate limit information.
5203        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

def to_dict(self)
5211    def to_dict(self):
5212        return {
5213            'id': self.id,
5214            'rate_limit': self.rate_limit,
5215        }
@classmethod
def from_dict(cls, d)
5217    @classmethod
5218    def from_dict(cls, d):
5219        return cls(
5220            id=d.get('id'),
5221            rate_limit=d.get('rate_limit'),
5222        )
class ApprovalWorkflowGetResponse:
5225class ApprovalWorkflowGetResponse:
5226    '''
5227         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
5228    '''
5229    __slots__ = [
5230        'approval_workflow',
5231        'meta',
5232        'rate_limit',
5233    ]
5234
5235    def __init__(
5236        self,
5237        approval_workflow=None,
5238        meta=None,
5239        rate_limit=None,
5240    ):
5241        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5242        '''
5243         The requested ApprovalWorkflow.
5244        '''
5245        self.meta = meta if meta is not None else None
5246        '''
5247         Reserved for future use.
5248        '''
5249        self.rate_limit = rate_limit if rate_limit is not None else None
5250        '''
5251         Rate limit information.
5252        '''
5253
5254    def __repr__(self):
5255        return '<sdm.ApprovalWorkflowGetResponse ' + \
5256            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5257            'meta: ' + repr(self.meta) + ' ' +\
5258            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5259            '>'
5260
5261    def to_dict(self):
5262        return {
5263            'approval_workflow': self.approval_workflow,
5264            'meta': self.meta,
5265            'rate_limit': self.rate_limit,
5266        }
5267
5268    @classmethod
5269    def from_dict(cls, d):
5270        return cls(
5271            approval_workflow=d.get('approval_workflow'),
5272            meta=d.get('meta'),
5273            rate_limit=d.get('rate_limit'),
5274        )

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

ApprovalWorkflowGetResponse(approval_workflow=None, meta=None, rate_limit=None)
5235    def __init__(
5236        self,
5237        approval_workflow=None,
5238        meta=None,
5239        rate_limit=None,
5240    ):
5241        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5242        '''
5243         The requested ApprovalWorkflow.
5244        '''
5245        self.meta = meta if meta is not None else None
5246        '''
5247         Reserved for future use.
5248        '''
5249        self.rate_limit = rate_limit if rate_limit is not None else None
5250        '''
5251         Rate limit information.
5252        '''
approval_workflow

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5261    def to_dict(self):
5262        return {
5263            'approval_workflow': self.approval_workflow,
5264            'meta': self.meta,
5265            'rate_limit': self.rate_limit,
5266        }
@classmethod
def from_dict(cls, d)
5268    @classmethod
5269    def from_dict(cls, d):
5270        return cls(
5271            approval_workflow=d.get('approval_workflow'),
5272            meta=d.get('meta'),
5273            rate_limit=d.get('rate_limit'),
5274        )
class ApprovalWorkflowHistory:
5277class ApprovalWorkflowHistory:
5278    '''
5279         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
5280     where every change (create, update and delete) to an ApprovalWorkflow produces an
5281     ApprovalWorkflowHistory record.
5282    '''
5283    __slots__ = [
5284        'activity_id',
5285        'approval_workflow',
5286        'deleted_at',
5287        'timestamp',
5288    ]
5289
5290    def __init__(
5291        self,
5292        activity_id=None,
5293        approval_workflow=None,
5294        deleted_at=None,
5295        timestamp=None,
5296    ):
5297        self.activity_id = activity_id if activity_id is not None else ''
5298        '''
5299         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5300         May be empty for some system-initiated updates.
5301        '''
5302        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5303        '''
5304         The complete ApprovalWorkflow state at this time.
5305        '''
5306        self.deleted_at = deleted_at if deleted_at is not None else None
5307        '''
5308         If this ApprovalWorkflow was deleted, the time it was deleted.
5309        '''
5310        self.timestamp = timestamp if timestamp is not None else None
5311        '''
5312         The time at which the ApprovalWorkflow state was recorded.
5313        '''
5314
5315    def __repr__(self):
5316        return '<sdm.ApprovalWorkflowHistory ' + \
5317            'activity_id: ' + repr(self.activity_id) + ' ' +\
5318            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5319            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5320            'timestamp: ' + repr(self.timestamp) + ' ' +\
5321            '>'
5322
5323    def to_dict(self):
5324        return {
5325            'activity_id': self.activity_id,
5326            'approval_workflow': self.approval_workflow,
5327            'deleted_at': self.deleted_at,
5328            'timestamp': self.timestamp,
5329        }
5330
5331    @classmethod
5332    def from_dict(cls, d):
5333        return cls(
5334            activity_id=d.get('activity_id'),
5335            approval_workflow=d.get('approval_workflow'),
5336            deleted_at=d.get('deleted_at'),
5337            timestamp=d.get('timestamp'),
5338        )

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)
5290    def __init__(
5291        self,
5292        activity_id=None,
5293        approval_workflow=None,
5294        deleted_at=None,
5295        timestamp=None,
5296    ):
5297        self.activity_id = activity_id if activity_id is not None else ''
5298        '''
5299         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
5300         May be empty for some system-initiated updates.
5301        '''
5302        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5303        '''
5304         The complete ApprovalWorkflow state at this time.
5305        '''
5306        self.deleted_at = deleted_at if deleted_at is not None else None
5307        '''
5308         If this ApprovalWorkflow was deleted, the time it was deleted.
5309        '''
5310        self.timestamp = timestamp if timestamp is not None else None
5311        '''
5312         The time at which the ApprovalWorkflow state was recorded.
5313        '''
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)
5323    def to_dict(self):
5324        return {
5325            'activity_id': self.activity_id,
5326            'approval_workflow': self.approval_workflow,
5327            'deleted_at': self.deleted_at,
5328            'timestamp': self.timestamp,
5329        }
@classmethod
def from_dict(cls, d)
5331    @classmethod
5332    def from_dict(cls, d):
5333        return cls(
5334            activity_id=d.get('activity_id'),
5335            approval_workflow=d.get('approval_workflow'),
5336            deleted_at=d.get('deleted_at'),
5337            timestamp=d.get('timestamp'),
5338        )
class ApprovalWorkflowListResponse:
5341class ApprovalWorkflowListResponse:
5342    '''
5343         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
5344     the criteria of an ApprovalWorkflowListRequest.
5345    '''
5346    __slots__ = [
5347        'rate_limit',
5348    ]
5349
5350    def __init__(
5351        self,
5352        rate_limit=None,
5353    ):
5354        self.rate_limit = rate_limit if rate_limit is not None else None
5355        '''
5356         Rate limit information.
5357        '''
5358
5359    def __repr__(self):
5360        return '<sdm.ApprovalWorkflowListResponse ' + \
5361            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5362            '>'
5363
5364    def to_dict(self):
5365        return {
5366            'rate_limit': self.rate_limit,
5367        }
5368
5369    @classmethod
5370    def from_dict(cls, d):
5371        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)
5350    def __init__(
5351        self,
5352        rate_limit=None,
5353    ):
5354        self.rate_limit = rate_limit if rate_limit is not None else None
5355        '''
5356         Rate limit information.
5357        '''
rate_limit

Rate limit information.

def to_dict(self)
5364    def to_dict(self):
5365        return {
5366            'rate_limit': self.rate_limit,
5367        }
@classmethod
def from_dict(cls, d)
5369    @classmethod
5370    def from_dict(cls, d):
5371        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowStep:
5374class ApprovalWorkflowStep:
5375    '''
5376         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
5377    '''
5378    __slots__ = [
5379        'approval_flow_id',
5380        'id',
5381    ]
5382
5383    def __init__(
5384        self,
5385        approval_flow_id=None,
5386        id=None,
5387    ):
5388        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5389        '''
5390         The approval flow id specified the approval workfflow that this step belongs to
5391        '''
5392        self.id = id if id is not None else ''
5393        '''
5394         Unique identifier of the ApprovalWorkflowStep.
5395        '''
5396
5397    def __repr__(self):
5398        return '<sdm.ApprovalWorkflowStep ' + \
5399            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
5400            'id: ' + repr(self.id) + ' ' +\
5401            '>'
5402
5403    def to_dict(self):
5404        return {
5405            'approval_flow_id': self.approval_flow_id,
5406            'id': self.id,
5407        }
5408
5409    @classmethod
5410    def from_dict(cls, d):
5411        return cls(
5412            approval_flow_id=d.get('approval_flow_id'),
5413            id=d.get('id'),
5414        )

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

ApprovalWorkflowStep(approval_flow_id=None, id=None)
5383    def __init__(
5384        self,
5385        approval_flow_id=None,
5386        id=None,
5387    ):
5388        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5389        '''
5390         The approval flow id specified the approval workfflow that this step belongs to
5391        '''
5392        self.id = id if id is not None else ''
5393        '''
5394         Unique identifier of the ApprovalWorkflowStep.
5395        '''
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)
5403    def to_dict(self):
5404        return {
5405            'approval_flow_id': self.approval_flow_id,
5406            'id': self.id,
5407        }
@classmethod
def from_dict(cls, d)
5409    @classmethod
5410    def from_dict(cls, d):
5411        return cls(
5412            approval_flow_id=d.get('approval_flow_id'),
5413            id=d.get('id'),
5414        )
class ApprovalWorkflowStepCreateResponse:
5417class ApprovalWorkflowStepCreateResponse:
5418    '''
5419         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
5420    '''
5421    __slots__ = [
5422        'approval_workflow_step',
5423        'rate_limit',
5424    ]
5425
5426    def __init__(
5427        self,
5428        approval_workflow_step=None,
5429        rate_limit=None,
5430    ):
5431        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5432        '''
5433         The created approval workflow step.
5434        '''
5435        self.rate_limit = rate_limit if rate_limit is not None else None
5436        '''
5437         Rate limit information.
5438        '''
5439
5440    def __repr__(self):
5441        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
5442            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5443            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5444            '>'
5445
5446    def to_dict(self):
5447        return {
5448            'approval_workflow_step': self.approval_workflow_step,
5449            'rate_limit': self.rate_limit,
5450        }
5451
5452    @classmethod
5453    def from_dict(cls, d):
5454        return cls(
5455            approval_workflow_step=d.get('approval_workflow_step'),
5456            rate_limit=d.get('rate_limit'),
5457        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
5426    def __init__(
5427        self,
5428        approval_workflow_step=None,
5429        rate_limit=None,
5430    ):
5431        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5432        '''
5433         The created approval workflow step.
5434        '''
5435        self.rate_limit = rate_limit if rate_limit is not None else None
5436        '''
5437         Rate limit information.
5438        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

def to_dict(self)
5446    def to_dict(self):
5447        return {
5448            'approval_workflow_step': self.approval_workflow_step,
5449            'rate_limit': self.rate_limit,
5450        }
@classmethod
def from_dict(cls, d)
5452    @classmethod
5453    def from_dict(cls, d):
5454        return cls(
5455            approval_workflow_step=d.get('approval_workflow_step'),
5456            rate_limit=d.get('rate_limit'),
5457        )
class ApprovalWorkflowStepDeleteResponse:
5460class ApprovalWorkflowStepDeleteResponse:
5461    '''
5462         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
5463    '''
5464    __slots__ = [
5465        'id',
5466        'rate_limit',
5467    ]
5468
5469    def __init__(
5470        self,
5471        id=None,
5472        rate_limit=None,
5473    ):
5474        self.id = id if id is not None else ''
5475        '''
5476         The deleted approval workflow step id.
5477        '''
5478        self.rate_limit = rate_limit if rate_limit is not None else None
5479        '''
5480         Rate limit information.
5481        '''
5482
5483    def __repr__(self):
5484        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
5485            'id: ' + repr(self.id) + ' ' +\
5486            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5487            '>'
5488
5489    def to_dict(self):
5490        return {
5491            'id': self.id,
5492            'rate_limit': self.rate_limit,
5493        }
5494
5495    @classmethod
5496    def from_dict(cls, d):
5497        return cls(
5498            id=d.get('id'),
5499            rate_limit=d.get('rate_limit'),
5500        )

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
5469    def __init__(
5470        self,
5471        id=None,
5472        rate_limit=None,
5473    ):
5474        self.id = id if id is not None else ''
5475        '''
5476         The deleted approval workflow step id.
5477        '''
5478        self.rate_limit = rate_limit if rate_limit is not None else None
5479        '''
5480         Rate limit information.
5481        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

def to_dict(self)
5489    def to_dict(self):
5490        return {
5491            'id': self.id,
5492            'rate_limit': self.rate_limit,
5493        }
@classmethod
def from_dict(cls, d)
5495    @classmethod
5496    def from_dict(cls, d):
5497        return cls(
5498            id=d.get('id'),
5499            rate_limit=d.get('rate_limit'),
5500        )
class ApprovalWorkflowStepGetResponse:
5503class ApprovalWorkflowStepGetResponse:
5504    '''
5505         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
5506    '''
5507    __slots__ = [
5508        'approval_workflow_step',
5509        'meta',
5510        'rate_limit',
5511    ]
5512
5513    def __init__(
5514        self,
5515        approval_workflow_step=None,
5516        meta=None,
5517        rate_limit=None,
5518    ):
5519        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5520        '''
5521         The requested ApprovalWorkflowStep.
5522        '''
5523        self.meta = meta if meta is not None else None
5524        '''
5525         Reserved for future use.
5526        '''
5527        self.rate_limit = rate_limit if rate_limit is not None else None
5528        '''
5529         Rate limit information.
5530        '''
5531
5532    def __repr__(self):
5533        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
5534            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5535            'meta: ' + repr(self.meta) + ' ' +\
5536            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5537            '>'
5538
5539    def to_dict(self):
5540        return {
5541            'approval_workflow_step': self.approval_workflow_step,
5542            'meta': self.meta,
5543            'rate_limit': self.rate_limit,
5544        }
5545
5546    @classmethod
5547    def from_dict(cls, d):
5548        return cls(
5549            approval_workflow_step=d.get('approval_workflow_step'),
5550            meta=d.get('meta'),
5551            rate_limit=d.get('rate_limit'),
5552        )

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

ApprovalWorkflowStepGetResponse(approval_workflow_step=None, meta=None, rate_limit=None)
5513    def __init__(
5514        self,
5515        approval_workflow_step=None,
5516        meta=None,
5517        rate_limit=None,
5518    ):
5519        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5520        '''
5521         The requested ApprovalWorkflowStep.
5522        '''
5523        self.meta = meta if meta is not None else None
5524        '''
5525         Reserved for future use.
5526        '''
5527        self.rate_limit = rate_limit if rate_limit is not None else None
5528        '''
5529         Rate limit information.
5530        '''
approval_workflow_step

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
5539    def to_dict(self):
5540        return {
5541            'approval_workflow_step': self.approval_workflow_step,
5542            'meta': self.meta,
5543            'rate_limit': self.rate_limit,
5544        }
@classmethod
def from_dict(cls, d)
5546    @classmethod
5547    def from_dict(cls, d):
5548        return cls(
5549            approval_workflow_step=d.get('approval_workflow_step'),
5550            meta=d.get('meta'),
5551            rate_limit=d.get('rate_limit'),
5552        )
class ApprovalWorkflowStepHistory:
5555class ApprovalWorkflowStepHistory:
5556    '''
5557         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
5558     where every change (create or delete) to an ApprovalWorkflowStep produces an
5559     ApprovalWorkflowStepHistory record.
5560    '''
5561    __slots__ = [
5562        'activity_id',
5563        'approval_workflow_step',
5564        'deleted_at',
5565        'timestamp',
5566    ]
5567
5568    def __init__(
5569        self,
5570        activity_id=None,
5571        approval_workflow_step=None,
5572        deleted_at=None,
5573        timestamp=None,
5574    ):
5575        self.activity_id = activity_id if activity_id is not None else ''
5576        '''
5577         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
5578         May be empty for some system-initiated updates.
5579        '''
5580        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5581        '''
5582         The complete ApprovalWorkflowStep state at this time.
5583        '''
5584        self.deleted_at = deleted_at if deleted_at is not None else None
5585        '''
5586         If this ApprovalWorkflowStep was deleted, the time it was deleted.
5587        '''
5588        self.timestamp = timestamp if timestamp is not None else None
5589        '''
5590         The time at which the ApprovalWorkflowStep state was recorded.
5591        '''
5592
5593    def __repr__(self):
5594        return '<sdm.ApprovalWorkflowStepHistory ' + \
5595            'activity_id: ' + repr(self.activity_id) + ' ' +\
5596            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
5597            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
5598            'timestamp: ' + repr(self.timestamp) + ' ' +\
5599            '>'
5600
5601    def to_dict(self):
5602        return {
5603            'activity_id': self.activity_id,
5604            'approval_workflow_step': self.approval_workflow_step,
5605            'deleted_at': self.deleted_at,
5606            'timestamp': self.timestamp,
5607        }
5608
5609    @classmethod
5610    def from_dict(cls, d):
5611        return cls(
5612            activity_id=d.get('activity_id'),
5613            approval_workflow_step=d.get('approval_workflow_step'),
5614            deleted_at=d.get('deleted_at'),
5615            timestamp=d.get('timestamp'),
5616        )

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)
5568    def __init__(
5569        self,
5570        activity_id=None,
5571        approval_workflow_step=None,
5572        deleted_at=None,
5573        timestamp=None,
5574    ):
5575        self.activity_id = activity_id if activity_id is not None else ''
5576        '''
5577         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
5578         May be empty for some system-initiated updates.
5579        '''
5580        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
5581        '''
5582         The complete ApprovalWorkflowStep state at this time.
5583        '''
5584        self.deleted_at = deleted_at if deleted_at is not None else None
5585        '''
5586         If this ApprovalWorkflowStep was deleted, the time it was deleted.
5587        '''
5588        self.timestamp = timestamp if timestamp is not None else None
5589        '''
5590         The time at which the ApprovalWorkflowStep state was recorded.
5591        '''
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)
5601    def to_dict(self):
5602        return {
5603            'activity_id': self.activity_id,
5604            'approval_workflow_step': self.approval_workflow_step,
5605            'deleted_at': self.deleted_at,
5606            'timestamp': self.timestamp,
5607        }
@classmethod
def from_dict(cls, d)
5609    @classmethod
5610    def from_dict(cls, d):
5611        return cls(
5612            activity_id=d.get('activity_id'),
5613            approval_workflow_step=d.get('approval_workflow_step'),
5614            deleted_at=d.get('deleted_at'),
5615            timestamp=d.get('timestamp'),
5616        )
class ApprovalWorkflowStepListResponse:
5619class ApprovalWorkflowStepListResponse:
5620    '''
5621         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
5622     the criteria of an ApprovalWorkflowStepListRequest.
5623    '''
5624    __slots__ = [
5625        'rate_limit',
5626    ]
5627
5628    def __init__(
5629        self,
5630        rate_limit=None,
5631    ):
5632        self.rate_limit = rate_limit if rate_limit is not None else None
5633        '''
5634         Rate limit information.
5635        '''
5636
5637    def __repr__(self):
5638        return '<sdm.ApprovalWorkflowStepListResponse ' + \
5639            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5640            '>'
5641
5642    def to_dict(self):
5643        return {
5644            'rate_limit': self.rate_limit,
5645        }
5646
5647    @classmethod
5648    def from_dict(cls, d):
5649        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)
5628    def __init__(
5629        self,
5630        rate_limit=None,
5631    ):
5632        self.rate_limit = rate_limit if rate_limit is not None else None
5633        '''
5634         Rate limit information.
5635        '''
rate_limit

Rate limit information.

def to_dict(self)
5642    def to_dict(self):
5643        return {
5644            'rate_limit': self.rate_limit,
5645        }
@classmethod
def from_dict(cls, d)
5647    @classmethod
5648    def from_dict(cls, d):
5649        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowUpdateResponse:
5652class ApprovalWorkflowUpdateResponse:
5653    '''
5654         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
5655     an ApprovalWorkflowUpdateRequest.
5656    '''
5657    __slots__ = [
5658        'approval_workflow',
5659        'rate_limit',
5660    ]
5661
5662    def __init__(
5663        self,
5664        approval_workflow=None,
5665        rate_limit=None,
5666    ):
5667        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5668        '''
5669         The updated approval workflow.
5670        '''
5671        self.rate_limit = rate_limit if rate_limit is not None else None
5672        '''
5673         Rate limit information.
5674        '''
5675
5676    def __repr__(self):
5677        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
5678            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
5679            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5680            '>'
5681
5682    def to_dict(self):
5683        return {
5684            'approval_workflow': self.approval_workflow,
5685            'rate_limit': self.rate_limit,
5686        }
5687
5688    @classmethod
5689    def from_dict(cls, d):
5690        return cls(
5691            approval_workflow=d.get('approval_workflow'),
5692            rate_limit=d.get('rate_limit'),
5693        )

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

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
5662    def __init__(
5663        self,
5664        approval_workflow=None,
5665        rate_limit=None,
5666    ):
5667        self.approval_workflow = approval_workflow if approval_workflow is not None else None
5668        '''
5669         The updated approval workflow.
5670        '''
5671        self.rate_limit = rate_limit if rate_limit is not None else None
5672        '''
5673         Rate limit information.
5674        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
5682    def to_dict(self):
5683        return {
5684            'approval_workflow': self.approval_workflow,
5685            'rate_limit': self.rate_limit,
5686        }
@classmethod
def from_dict(cls, d)
5688    @classmethod
5689    def from_dict(cls, d):
5690        return cls(
5691            approval_workflow=d.get('approval_workflow'),
5692            rate_limit=d.get('rate_limit'),
5693        )
class Athena:
5696class Athena:
5697    __slots__ = [
5698        'access_key',
5699        'bind_interface',
5700        'egress_filter',
5701        'healthy',
5702        'id',
5703        'name',
5704        'output',
5705        'port_override',
5706        'proxy_cluster_id',
5707        'region',
5708        'role_arn',
5709        'role_external_id',
5710        'secret_access_key',
5711        'secret_store_id',
5712        'subdomain',
5713        'tags',
5714    ]
5715
5716    def __init__(
5717        self,
5718        access_key=None,
5719        bind_interface=None,
5720        egress_filter=None,
5721        healthy=None,
5722        id=None,
5723        name=None,
5724        output=None,
5725        port_override=None,
5726        proxy_cluster_id=None,
5727        region=None,
5728        role_arn=None,
5729        role_external_id=None,
5730        secret_access_key=None,
5731        secret_store_id=None,
5732        subdomain=None,
5733        tags=None,
5734    ):
5735        self.access_key = access_key if access_key is not None else ''
5736        '''
5737         The Access Key ID to use to authenticate.
5738        '''
5739        self.bind_interface = bind_interface if bind_interface is not None else ''
5740        '''
5741         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5742        '''
5743        self.egress_filter = egress_filter if egress_filter is not None else ''
5744        '''
5745         A filter applied to the routing logic to pin datasource to nodes.
5746        '''
5747        self.healthy = healthy if healthy is not None else False
5748        '''
5749         True if the datasource is reachable and the credentials are valid.
5750        '''
5751        self.id = id if id is not None else ''
5752        '''
5753         Unique identifier of the Resource.
5754        '''
5755        self.name = name if name is not None else ''
5756        '''
5757         Unique human-readable name of the Resource.
5758        '''
5759        self.output = output if output is not None else ''
5760        '''
5761         The AWS S3 output location.
5762        '''
5763        self.port_override = port_override if port_override is not None else 0
5764        '''
5765         The local port used by clients to connect to this resource.
5766        '''
5767        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5768        '''
5769         ID of the proxy cluster for this resource, if any.
5770        '''
5771        self.region = region if region is not None else ''
5772        '''
5773         The AWS region to connect to e.g. us-east-1.
5774        '''
5775        self.role_arn = role_arn if role_arn is not None else ''
5776        '''
5777         The role to assume after logging in.
5778        '''
5779        self.role_external_id = role_external_id if role_external_id is not None else ''
5780        '''
5781         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5782        '''
5783        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5784        '''
5785         The Secret Access Key to use to authenticate.
5786        '''
5787        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5788        '''
5789         ID of the secret store containing credentials for this resource, if any.
5790        '''
5791        self.subdomain = subdomain if subdomain is not None else ''
5792        '''
5793         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5794        '''
5795        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5796        '''
5797         Tags is a map of key, value pairs.
5798        '''
5799
5800    def __repr__(self):
5801        return '<sdm.Athena ' + \
5802            'access_key: ' + repr(self.access_key) + ' ' +\
5803            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5804            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5805            'healthy: ' + repr(self.healthy) + ' ' +\
5806            'id: ' + repr(self.id) + ' ' +\
5807            'name: ' + repr(self.name) + ' ' +\
5808            'output: ' + repr(self.output) + ' ' +\
5809            'port_override: ' + repr(self.port_override) + ' ' +\
5810            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5811            'region: ' + repr(self.region) + ' ' +\
5812            'role_arn: ' + repr(self.role_arn) + ' ' +\
5813            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5814            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5815            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5816            'subdomain: ' + repr(self.subdomain) + ' ' +\
5817            'tags: ' + repr(self.tags) + ' ' +\
5818            '>'
5819
5820    def to_dict(self):
5821        return {
5822            'access_key': self.access_key,
5823            'bind_interface': self.bind_interface,
5824            'egress_filter': self.egress_filter,
5825            'healthy': self.healthy,
5826            'id': self.id,
5827            'name': self.name,
5828            'output': self.output,
5829            'port_override': self.port_override,
5830            'proxy_cluster_id': self.proxy_cluster_id,
5831            'region': self.region,
5832            'role_arn': self.role_arn,
5833            'role_external_id': self.role_external_id,
5834            'secret_access_key': self.secret_access_key,
5835            'secret_store_id': self.secret_store_id,
5836            'subdomain': self.subdomain,
5837            'tags': self.tags,
5838        }
5839
5840    @classmethod
5841    def from_dict(cls, d):
5842        return cls(
5843            access_key=d.get('access_key'),
5844            bind_interface=d.get('bind_interface'),
5845            egress_filter=d.get('egress_filter'),
5846            healthy=d.get('healthy'),
5847            id=d.get('id'),
5848            name=d.get('name'),
5849            output=d.get('output'),
5850            port_override=d.get('port_override'),
5851            proxy_cluster_id=d.get('proxy_cluster_id'),
5852            region=d.get('region'),
5853            role_arn=d.get('role_arn'),
5854            role_external_id=d.get('role_external_id'),
5855            secret_access_key=d.get('secret_access_key'),
5856            secret_store_id=d.get('secret_store_id'),
5857            subdomain=d.get('subdomain'),
5858            tags=d.get('tags'),
5859        )
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)
5716    def __init__(
5717        self,
5718        access_key=None,
5719        bind_interface=None,
5720        egress_filter=None,
5721        healthy=None,
5722        id=None,
5723        name=None,
5724        output=None,
5725        port_override=None,
5726        proxy_cluster_id=None,
5727        region=None,
5728        role_arn=None,
5729        role_external_id=None,
5730        secret_access_key=None,
5731        secret_store_id=None,
5732        subdomain=None,
5733        tags=None,
5734    ):
5735        self.access_key = access_key if access_key is not None else ''
5736        '''
5737         The Access Key ID to use to authenticate.
5738        '''
5739        self.bind_interface = bind_interface if bind_interface is not None else ''
5740        '''
5741         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5742        '''
5743        self.egress_filter = egress_filter if egress_filter is not None else ''
5744        '''
5745         A filter applied to the routing logic to pin datasource to nodes.
5746        '''
5747        self.healthy = healthy if healthy is not None else False
5748        '''
5749         True if the datasource is reachable and the credentials are valid.
5750        '''
5751        self.id = id if id is not None else ''
5752        '''
5753         Unique identifier of the Resource.
5754        '''
5755        self.name = name if name is not None else ''
5756        '''
5757         Unique human-readable name of the Resource.
5758        '''
5759        self.output = output if output is not None else ''
5760        '''
5761         The AWS S3 output location.
5762        '''
5763        self.port_override = port_override if port_override is not None else 0
5764        '''
5765         The local port used by clients to connect to this resource.
5766        '''
5767        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5768        '''
5769         ID of the proxy cluster for this resource, if any.
5770        '''
5771        self.region = region if region is not None else ''
5772        '''
5773         The AWS region to connect to e.g. us-east-1.
5774        '''
5775        self.role_arn = role_arn if role_arn is not None else ''
5776        '''
5777         The role to assume after logging in.
5778        '''
5779        self.role_external_id = role_external_id if role_external_id is not None else ''
5780        '''
5781         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5782        '''
5783        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5784        '''
5785         The Secret Access Key to use to authenticate.
5786        '''
5787        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5788        '''
5789         ID of the secret store containing credentials for this resource, if any.
5790        '''
5791        self.subdomain = subdomain if subdomain is not None else ''
5792        '''
5793         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5794        '''
5795        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5796        '''
5797         Tags is a map of key, value pairs.
5798        '''
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)
5820    def to_dict(self):
5821        return {
5822            'access_key': self.access_key,
5823            'bind_interface': self.bind_interface,
5824            'egress_filter': self.egress_filter,
5825            'healthy': self.healthy,
5826            'id': self.id,
5827            'name': self.name,
5828            'output': self.output,
5829            'port_override': self.port_override,
5830            'proxy_cluster_id': self.proxy_cluster_id,
5831            'region': self.region,
5832            'role_arn': self.role_arn,
5833            'role_external_id': self.role_external_id,
5834            'secret_access_key': self.secret_access_key,
5835            'secret_store_id': self.secret_store_id,
5836            'subdomain': self.subdomain,
5837            'tags': self.tags,
5838        }
@classmethod
def from_dict(cls, d)
5840    @classmethod
5841    def from_dict(cls, d):
5842        return cls(
5843            access_key=d.get('access_key'),
5844            bind_interface=d.get('bind_interface'),
5845            egress_filter=d.get('egress_filter'),
5846            healthy=d.get('healthy'),
5847            id=d.get('id'),
5848            name=d.get('name'),
5849            output=d.get('output'),
5850            port_override=d.get('port_override'),
5851            proxy_cluster_id=d.get('proxy_cluster_id'),
5852            region=d.get('region'),
5853            role_arn=d.get('role_arn'),
5854            role_external_id=d.get('role_external_id'),
5855            secret_access_key=d.get('secret_access_key'),
5856            secret_store_id=d.get('secret_store_id'),
5857            subdomain=d.get('subdomain'),
5858            tags=d.get('tags'),
5859        )
class AuroraMysql:
5862class AuroraMysql:
5863    __slots__ = [
5864        'bind_interface',
5865        'database',
5866        'egress_filter',
5867        'healthy',
5868        'hostname',
5869        'id',
5870        'name',
5871        'password',
5872        'port',
5873        'port_override',
5874        'proxy_cluster_id',
5875        'require_native_auth',
5876        'secret_store_id',
5877        'subdomain',
5878        'tags',
5879        'use_azure_single_server_usernames',
5880        'username',
5881    ]
5882
5883    def __init__(
5884        self,
5885        bind_interface=None,
5886        database=None,
5887        egress_filter=None,
5888        healthy=None,
5889        hostname=None,
5890        id=None,
5891        name=None,
5892        password=None,
5893        port=None,
5894        port_override=None,
5895        proxy_cluster_id=None,
5896        require_native_auth=None,
5897        secret_store_id=None,
5898        subdomain=None,
5899        tags=None,
5900        use_azure_single_server_usernames=None,
5901        username=None,
5902    ):
5903        self.bind_interface = bind_interface if bind_interface is not None else ''
5904        '''
5905         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5906        '''
5907        self.database = database if database is not None else ''
5908        '''
5909         The database for healthchecks. Does not affect client requests
5910        '''
5911        self.egress_filter = egress_filter if egress_filter is not None else ''
5912        '''
5913         A filter applied to the routing logic to pin datasource to nodes.
5914        '''
5915        self.healthy = healthy if healthy is not None else False
5916        '''
5917         True if the datasource is reachable and the credentials are valid.
5918        '''
5919        self.hostname = hostname if hostname is not None else ''
5920        '''
5921         The host to dial to initiate a connection from the egress node to this resource.
5922        '''
5923        self.id = id if id is not None else ''
5924        '''
5925         Unique identifier of the Resource.
5926        '''
5927        self.name = name if name is not None else ''
5928        '''
5929         Unique human-readable name of the Resource.
5930        '''
5931        self.password = password if password is not None else ''
5932        '''
5933         The password to authenticate with.
5934        '''
5935        self.port = port if port is not None else 0
5936        '''
5937         The port to dial to initiate a connection from the egress node to this resource.
5938        '''
5939        self.port_override = port_override if port_override is not None else 0
5940        '''
5941         The local port used by clients to connect to this resource.
5942        '''
5943        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5944        '''
5945         ID of the proxy cluster for this resource, if any.
5946        '''
5947        self.require_native_auth = require_native_auth if require_native_auth is not None else False
5948        '''
5949         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
5950        '''
5951        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5952        '''
5953         ID of the secret store containing credentials for this resource, if any.
5954        '''
5955        self.subdomain = subdomain if subdomain is not None else ''
5956        '''
5957         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5958        '''
5959        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5960        '''
5961         Tags is a map of key, value pairs.
5962        '''
5963        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
5964        '''
5965         If true, appends the hostname to the username when hitting a database.azure.com address
5966        '''
5967        self.username = username if username is not None else ''
5968        '''
5969         The username to authenticate with.
5970        '''
5971
5972    def __repr__(self):
5973        return '<sdm.AuroraMysql ' + \
5974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5975            'database: ' + repr(self.database) + ' ' +\
5976            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5977            'healthy: ' + repr(self.healthy) + ' ' +\
5978            'hostname: ' + repr(self.hostname) + ' ' +\
5979            'id: ' + repr(self.id) + ' ' +\
5980            'name: ' + repr(self.name) + ' ' +\
5981            'password: ' + repr(self.password) + ' ' +\
5982            'port: ' + repr(self.port) + ' ' +\
5983            'port_override: ' + repr(self.port_override) + ' ' +\
5984            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5985            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
5986            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5987            'subdomain: ' + repr(self.subdomain) + ' ' +\
5988            'tags: ' + repr(self.tags) + ' ' +\
5989            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
5990            'username: ' + repr(self.username) + ' ' +\
5991            '>'
5992
5993    def to_dict(self):
5994        return {
5995            'bind_interface': self.bind_interface,
5996            'database': self.database,
5997            'egress_filter': self.egress_filter,
5998            'healthy': self.healthy,
5999            'hostname': self.hostname,
6000            'id': self.id,
6001            'name': self.name,
6002            'password': self.password,
6003            'port': self.port,
6004            'port_override': self.port_override,
6005            'proxy_cluster_id': self.proxy_cluster_id,
6006            'require_native_auth': self.require_native_auth,
6007            'secret_store_id': self.secret_store_id,
6008            'subdomain': self.subdomain,
6009            'tags': self.tags,
6010            'use_azure_single_server_usernames':
6011            self.use_azure_single_server_usernames,
6012            'username': self.username,
6013        }
6014
6015    @classmethod
6016    def from_dict(cls, d):
6017        return cls(
6018            bind_interface=d.get('bind_interface'),
6019            database=d.get('database'),
6020            egress_filter=d.get('egress_filter'),
6021            healthy=d.get('healthy'),
6022            hostname=d.get('hostname'),
6023            id=d.get('id'),
6024            name=d.get('name'),
6025            password=d.get('password'),
6026            port=d.get('port'),
6027            port_override=d.get('port_override'),
6028            proxy_cluster_id=d.get('proxy_cluster_id'),
6029            require_native_auth=d.get('require_native_auth'),
6030            secret_store_id=d.get('secret_store_id'),
6031            subdomain=d.get('subdomain'),
6032            tags=d.get('tags'),
6033            use_azure_single_server_usernames=d.get(
6034                'use_azure_single_server_usernames'),
6035            username=d.get('username'),
6036        )
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)
5883    def __init__(
5884        self,
5885        bind_interface=None,
5886        database=None,
5887        egress_filter=None,
5888        healthy=None,
5889        hostname=None,
5890        id=None,
5891        name=None,
5892        password=None,
5893        port=None,
5894        port_override=None,
5895        proxy_cluster_id=None,
5896        require_native_auth=None,
5897        secret_store_id=None,
5898        subdomain=None,
5899        tags=None,
5900        use_azure_single_server_usernames=None,
5901        username=None,
5902    ):
5903        self.bind_interface = bind_interface if bind_interface is not None else ''
5904        '''
5905         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5906        '''
5907        self.database = database if database is not None else ''
5908        '''
5909         The database for healthchecks. Does not affect client requests
5910        '''
5911        self.egress_filter = egress_filter if egress_filter is not None else ''
5912        '''
5913         A filter applied to the routing logic to pin datasource to nodes.
5914        '''
5915        self.healthy = healthy if healthy is not None else False
5916        '''
5917         True if the datasource is reachable and the credentials are valid.
5918        '''
5919        self.hostname = hostname if hostname is not None else ''
5920        '''
5921         The host to dial to initiate a connection from the egress node to this resource.
5922        '''
5923        self.id = id if id is not None else ''
5924        '''
5925         Unique identifier of the Resource.
5926        '''
5927        self.name = name if name is not None else ''
5928        '''
5929         Unique human-readable name of the Resource.
5930        '''
5931        self.password = password if password is not None else ''
5932        '''
5933         The password to authenticate with.
5934        '''
5935        self.port = port if port is not None else 0
5936        '''
5937         The port to dial to initiate a connection from the egress node to this resource.
5938        '''
5939        self.port_override = port_override if port_override is not None else 0
5940        '''
5941         The local port used by clients to connect to this resource.
5942        '''
5943        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5944        '''
5945         ID of the proxy cluster for this resource, if any.
5946        '''
5947        self.require_native_auth = require_native_auth if require_native_auth is not None else False
5948        '''
5949         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
5950        '''
5951        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5952        '''
5953         ID of the secret store containing credentials for this resource, if any.
5954        '''
5955        self.subdomain = subdomain if subdomain is not None else ''
5956        '''
5957         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5958        '''
5959        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5960        '''
5961         Tags is a map of key, value pairs.
5962        '''
5963        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
5964        '''
5965         If true, appends the hostname to the username when hitting a database.azure.com address
5966        '''
5967        self.username = username if username is not None else ''
5968        '''
5969         The username to authenticate with.
5970        '''
bind_interface

The bind interface is the IP 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)
5993    def to_dict(self):
5994        return {
5995            'bind_interface': self.bind_interface,
5996            'database': self.database,
5997            'egress_filter': self.egress_filter,
5998            'healthy': self.healthy,
5999            'hostname': self.hostname,
6000            'id': self.id,
6001            'name': self.name,
6002            'password': self.password,
6003            'port': self.port,
6004            'port_override': self.port_override,
6005            'proxy_cluster_id': self.proxy_cluster_id,
6006            'require_native_auth': self.require_native_auth,
6007            'secret_store_id': self.secret_store_id,
6008            'subdomain': self.subdomain,
6009            'tags': self.tags,
6010            'use_azure_single_server_usernames':
6011            self.use_azure_single_server_usernames,
6012            'username': self.username,
6013        }
@classmethod
def from_dict(cls, d)
6015    @classmethod
6016    def from_dict(cls, d):
6017        return cls(
6018            bind_interface=d.get('bind_interface'),
6019            database=d.get('database'),
6020            egress_filter=d.get('egress_filter'),
6021            healthy=d.get('healthy'),
6022            hostname=d.get('hostname'),
6023            id=d.get('id'),
6024            name=d.get('name'),
6025            password=d.get('password'),
6026            port=d.get('port'),
6027            port_override=d.get('port_override'),
6028            proxy_cluster_id=d.get('proxy_cluster_id'),
6029            require_native_auth=d.get('require_native_auth'),
6030            secret_store_id=d.get('secret_store_id'),
6031            subdomain=d.get('subdomain'),
6032            tags=d.get('tags'),
6033            use_azure_single_server_usernames=d.get(
6034                'use_azure_single_server_usernames'),
6035            username=d.get('username'),
6036        )
class AuroraPostgres:
6039class AuroraPostgres:
6040    __slots__ = [
6041        'bind_interface',
6042        'database',
6043        'egress_filter',
6044        'healthy',
6045        'hostname',
6046        'id',
6047        'name',
6048        'override_database',
6049        'password',
6050        'port',
6051        'port_override',
6052        'proxy_cluster_id',
6053        'secret_store_id',
6054        'subdomain',
6055        'tags',
6056        'username',
6057    ]
6058
6059    def __init__(
6060        self,
6061        bind_interface=None,
6062        database=None,
6063        egress_filter=None,
6064        healthy=None,
6065        hostname=None,
6066        id=None,
6067        name=None,
6068        override_database=None,
6069        password=None,
6070        port=None,
6071        port_override=None,
6072        proxy_cluster_id=None,
6073        secret_store_id=None,
6074        subdomain=None,
6075        tags=None,
6076        username=None,
6077    ):
6078        self.bind_interface = bind_interface if bind_interface is not None else ''
6079        '''
6080         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6081        '''
6082        self.database = database if database is not None else ''
6083        '''
6084         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6085        '''
6086        self.egress_filter = egress_filter if egress_filter is not None else ''
6087        '''
6088         A filter applied to the routing logic to pin datasource to nodes.
6089        '''
6090        self.healthy = healthy if healthy is not None else False
6091        '''
6092         True if the datasource is reachable and the credentials are valid.
6093        '''
6094        self.hostname = hostname if hostname is not None else ''
6095        '''
6096         The host to dial to initiate a connection from the egress node to this resource.
6097        '''
6098        self.id = id if id is not None else ''
6099        '''
6100         Unique identifier of the Resource.
6101        '''
6102        self.name = name if name is not None else ''
6103        '''
6104         Unique human-readable name of the Resource.
6105        '''
6106        self.override_database = override_database if override_database is not None else False
6107        '''
6108         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.
6109        '''
6110        self.password = password if password is not None else ''
6111        '''
6112         The password to authenticate with.
6113        '''
6114        self.port = port if port is not None else 0
6115        '''
6116         The port to dial to initiate a connection from the egress node to this resource.
6117        '''
6118        self.port_override = port_override if port_override is not None else 0
6119        '''
6120         The local port used by clients to connect to this resource.
6121        '''
6122        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6123        '''
6124         ID of the proxy cluster for this resource, if any.
6125        '''
6126        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6127        '''
6128         ID of the secret store containing credentials for this resource, if any.
6129        '''
6130        self.subdomain = subdomain if subdomain is not None else ''
6131        '''
6132         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6133        '''
6134        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6135        '''
6136         Tags is a map of key, value pairs.
6137        '''
6138        self.username = username if username is not None else ''
6139        '''
6140         The username to authenticate with.
6141        '''
6142
6143    def __repr__(self):
6144        return '<sdm.AuroraPostgres ' + \
6145            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6146            'database: ' + repr(self.database) + ' ' +\
6147            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6148            'healthy: ' + repr(self.healthy) + ' ' +\
6149            'hostname: ' + repr(self.hostname) + ' ' +\
6150            'id: ' + repr(self.id) + ' ' +\
6151            'name: ' + repr(self.name) + ' ' +\
6152            'override_database: ' + repr(self.override_database) + ' ' +\
6153            'password: ' + repr(self.password) + ' ' +\
6154            'port: ' + repr(self.port) + ' ' +\
6155            'port_override: ' + repr(self.port_override) + ' ' +\
6156            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6157            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6158            'subdomain: ' + repr(self.subdomain) + ' ' +\
6159            'tags: ' + repr(self.tags) + ' ' +\
6160            'username: ' + repr(self.username) + ' ' +\
6161            '>'
6162
6163    def to_dict(self):
6164        return {
6165            'bind_interface': self.bind_interface,
6166            'database': self.database,
6167            'egress_filter': self.egress_filter,
6168            'healthy': self.healthy,
6169            'hostname': self.hostname,
6170            'id': self.id,
6171            'name': self.name,
6172            'override_database': self.override_database,
6173            'password': self.password,
6174            'port': self.port,
6175            'port_override': self.port_override,
6176            'proxy_cluster_id': self.proxy_cluster_id,
6177            'secret_store_id': self.secret_store_id,
6178            'subdomain': self.subdomain,
6179            'tags': self.tags,
6180            'username': self.username,
6181        }
6182
6183    @classmethod
6184    def from_dict(cls, d):
6185        return cls(
6186            bind_interface=d.get('bind_interface'),
6187            database=d.get('database'),
6188            egress_filter=d.get('egress_filter'),
6189            healthy=d.get('healthy'),
6190            hostname=d.get('hostname'),
6191            id=d.get('id'),
6192            name=d.get('name'),
6193            override_database=d.get('override_database'),
6194            password=d.get('password'),
6195            port=d.get('port'),
6196            port_override=d.get('port_override'),
6197            proxy_cluster_id=d.get('proxy_cluster_id'),
6198            secret_store_id=d.get('secret_store_id'),
6199            subdomain=d.get('subdomain'),
6200            tags=d.get('tags'),
6201            username=d.get('username'),
6202        )
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)
6059    def __init__(
6060        self,
6061        bind_interface=None,
6062        database=None,
6063        egress_filter=None,
6064        healthy=None,
6065        hostname=None,
6066        id=None,
6067        name=None,
6068        override_database=None,
6069        password=None,
6070        port=None,
6071        port_override=None,
6072        proxy_cluster_id=None,
6073        secret_store_id=None,
6074        subdomain=None,
6075        tags=None,
6076        username=None,
6077    ):
6078        self.bind_interface = bind_interface if bind_interface is not None else ''
6079        '''
6080         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6081        '''
6082        self.database = database if database is not None else ''
6083        '''
6084         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6085        '''
6086        self.egress_filter = egress_filter if egress_filter is not None else ''
6087        '''
6088         A filter applied to the routing logic to pin datasource to nodes.
6089        '''
6090        self.healthy = healthy if healthy is not None else False
6091        '''
6092         True if the datasource is reachable and the credentials are valid.
6093        '''
6094        self.hostname = hostname if hostname is not None else ''
6095        '''
6096         The host to dial to initiate a connection from the egress node to this resource.
6097        '''
6098        self.id = id if id is not None else ''
6099        '''
6100         Unique identifier of the Resource.
6101        '''
6102        self.name = name if name is not None else ''
6103        '''
6104         Unique human-readable name of the Resource.
6105        '''
6106        self.override_database = override_database if override_database is not None else False
6107        '''
6108         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.
6109        '''
6110        self.password = password if password is not None else ''
6111        '''
6112         The password to authenticate with.
6113        '''
6114        self.port = port if port is not None else 0
6115        '''
6116         The port to dial to initiate a connection from the egress node to this resource.
6117        '''
6118        self.port_override = port_override if port_override is not None else 0
6119        '''
6120         The local port used by clients to connect to this resource.
6121        '''
6122        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6123        '''
6124         ID of the proxy cluster for this resource, if any.
6125        '''
6126        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6127        '''
6128         ID of the secret store containing credentials for this resource, if any.
6129        '''
6130        self.subdomain = subdomain if subdomain is not None else ''
6131        '''
6132         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6133        '''
6134        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6135        '''
6136         Tags is a map of key, value pairs.
6137        '''
6138        self.username = username if username is not None else ''
6139        '''
6140         The username to authenticate with.
6141        '''
bind_interface

The bind interface is the IP 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)
6163    def to_dict(self):
6164        return {
6165            'bind_interface': self.bind_interface,
6166            'database': self.database,
6167            'egress_filter': self.egress_filter,
6168            'healthy': self.healthy,
6169            'hostname': self.hostname,
6170            'id': self.id,
6171            'name': self.name,
6172            'override_database': self.override_database,
6173            'password': self.password,
6174            'port': self.port,
6175            'port_override': self.port_override,
6176            'proxy_cluster_id': self.proxy_cluster_id,
6177            'secret_store_id': self.secret_store_id,
6178            'subdomain': self.subdomain,
6179            'tags': self.tags,
6180            'username': self.username,
6181        }
@classmethod
def from_dict(cls, d)
6183    @classmethod
6184    def from_dict(cls, d):
6185        return cls(
6186            bind_interface=d.get('bind_interface'),
6187            database=d.get('database'),
6188            egress_filter=d.get('egress_filter'),
6189            healthy=d.get('healthy'),
6190            hostname=d.get('hostname'),
6191            id=d.get('id'),
6192            name=d.get('name'),
6193            override_database=d.get('override_database'),
6194            password=d.get('password'),
6195            port=d.get('port'),
6196            port_override=d.get('port_override'),
6197            proxy_cluster_id=d.get('proxy_cluster_id'),
6198            secret_store_id=d.get('secret_store_id'),
6199            subdomain=d.get('subdomain'),
6200            tags=d.get('tags'),
6201            username=d.get('username'),
6202        )
class AuroraPostgresIAM:
6205class AuroraPostgresIAM:
6206    __slots__ = [
6207        'bind_interface',
6208        'database',
6209        'egress_filter',
6210        'healthy',
6211        'hostname',
6212        'id',
6213        'name',
6214        'override_database',
6215        'port',
6216        'port_override',
6217        'proxy_cluster_id',
6218        'region',
6219        'role_assumption_arn',
6220        'secret_store_id',
6221        'subdomain',
6222        'tags',
6223        'username',
6224    ]
6225
6226    def __init__(
6227        self,
6228        bind_interface=None,
6229        database=None,
6230        egress_filter=None,
6231        healthy=None,
6232        hostname=None,
6233        id=None,
6234        name=None,
6235        override_database=None,
6236        port=None,
6237        port_override=None,
6238        proxy_cluster_id=None,
6239        region=None,
6240        role_assumption_arn=None,
6241        secret_store_id=None,
6242        subdomain=None,
6243        tags=None,
6244        username=None,
6245    ):
6246        self.bind_interface = bind_interface if bind_interface is not None else ''
6247        '''
6248         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6249        '''
6250        self.database = database if database is not None else ''
6251        '''
6252         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6253        '''
6254        self.egress_filter = egress_filter if egress_filter is not None else ''
6255        '''
6256         A filter applied to the routing logic to pin datasource to nodes.
6257        '''
6258        self.healthy = healthy if healthy is not None else False
6259        '''
6260         True if the datasource is reachable and the credentials are valid.
6261        '''
6262        self.hostname = hostname if hostname is not None else ''
6263        '''
6264         The host to dial to initiate a connection from the egress node to this resource.
6265        '''
6266        self.id = id if id is not None else ''
6267        '''
6268         Unique identifier of the Resource.
6269        '''
6270        self.name = name if name is not None else ''
6271        '''
6272         Unique human-readable name of the Resource.
6273        '''
6274        self.override_database = override_database if override_database is not None else False
6275        '''
6276         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.
6277        '''
6278        self.port = port if port is not None else 0
6279        '''
6280         The port to dial to initiate a connection from the egress node to this resource.
6281        '''
6282        self.port_override = port_override if port_override is not None else 0
6283        '''
6284         The local port used by clients to connect to this resource.
6285        '''
6286        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6287        '''
6288         ID of the proxy cluster for this resource, if any.
6289        '''
6290        self.region = region if region is not None else ''
6291        '''
6292         The AWS region to connect to.
6293        '''
6294        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6295        '''
6296         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6297        '''
6298        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6299        '''
6300         ID of the secret store containing credentials for this resource, if any.
6301        '''
6302        self.subdomain = subdomain if subdomain is not None else ''
6303        '''
6304         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6305        '''
6306        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6307        '''
6308         Tags is a map of key, value pairs.
6309        '''
6310        self.username = username if username is not None else ''
6311        '''
6312         The username to authenticate with.
6313        '''
6314
6315    def __repr__(self):
6316        return '<sdm.AuroraPostgresIAM ' + \
6317            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6318            'database: ' + repr(self.database) + ' ' +\
6319            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6320            'healthy: ' + repr(self.healthy) + ' ' +\
6321            'hostname: ' + repr(self.hostname) + ' ' +\
6322            'id: ' + repr(self.id) + ' ' +\
6323            'name: ' + repr(self.name) + ' ' +\
6324            'override_database: ' + repr(self.override_database) + ' ' +\
6325            'port: ' + repr(self.port) + ' ' +\
6326            'port_override: ' + repr(self.port_override) + ' ' +\
6327            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6328            'region: ' + repr(self.region) + ' ' +\
6329            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
6330            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6331            'subdomain: ' + repr(self.subdomain) + ' ' +\
6332            'tags: ' + repr(self.tags) + ' ' +\
6333            'username: ' + repr(self.username) + ' ' +\
6334            '>'
6335
6336    def to_dict(self):
6337        return {
6338            'bind_interface': self.bind_interface,
6339            'database': self.database,
6340            'egress_filter': self.egress_filter,
6341            'healthy': self.healthy,
6342            'hostname': self.hostname,
6343            'id': self.id,
6344            'name': self.name,
6345            'override_database': self.override_database,
6346            'port': self.port,
6347            'port_override': self.port_override,
6348            'proxy_cluster_id': self.proxy_cluster_id,
6349            'region': self.region,
6350            'role_assumption_arn': self.role_assumption_arn,
6351            'secret_store_id': self.secret_store_id,
6352            'subdomain': self.subdomain,
6353            'tags': self.tags,
6354            'username': self.username,
6355        }
6356
6357    @classmethod
6358    def from_dict(cls, d):
6359        return cls(
6360            bind_interface=d.get('bind_interface'),
6361            database=d.get('database'),
6362            egress_filter=d.get('egress_filter'),
6363            healthy=d.get('healthy'),
6364            hostname=d.get('hostname'),
6365            id=d.get('id'),
6366            name=d.get('name'),
6367            override_database=d.get('override_database'),
6368            port=d.get('port'),
6369            port_override=d.get('port_override'),
6370            proxy_cluster_id=d.get('proxy_cluster_id'),
6371            region=d.get('region'),
6372            role_assumption_arn=d.get('role_assumption_arn'),
6373            secret_store_id=d.get('secret_store_id'),
6374            subdomain=d.get('subdomain'),
6375            tags=d.get('tags'),
6376            username=d.get('username'),
6377        )
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)
6226    def __init__(
6227        self,
6228        bind_interface=None,
6229        database=None,
6230        egress_filter=None,
6231        healthy=None,
6232        hostname=None,
6233        id=None,
6234        name=None,
6235        override_database=None,
6236        port=None,
6237        port_override=None,
6238        proxy_cluster_id=None,
6239        region=None,
6240        role_assumption_arn=None,
6241        secret_store_id=None,
6242        subdomain=None,
6243        tags=None,
6244        username=None,
6245    ):
6246        self.bind_interface = bind_interface if bind_interface is not None else ''
6247        '''
6248         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6249        '''
6250        self.database = database if database is not None else ''
6251        '''
6252         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6253        '''
6254        self.egress_filter = egress_filter if egress_filter is not None else ''
6255        '''
6256         A filter applied to the routing logic to pin datasource to nodes.
6257        '''
6258        self.healthy = healthy if healthy is not None else False
6259        '''
6260         True if the datasource is reachable and the credentials are valid.
6261        '''
6262        self.hostname = hostname if hostname is not None else ''
6263        '''
6264         The host to dial to initiate a connection from the egress node to this resource.
6265        '''
6266        self.id = id if id is not None else ''
6267        '''
6268         Unique identifier of the Resource.
6269        '''
6270        self.name = name if name is not None else ''
6271        '''
6272         Unique human-readable name of the Resource.
6273        '''
6274        self.override_database = override_database if override_database is not None else False
6275        '''
6276         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.
6277        '''
6278        self.port = port if port is not None else 0
6279        '''
6280         The port to dial to initiate a connection from the egress node to this resource.
6281        '''
6282        self.port_override = port_override if port_override is not None else 0
6283        '''
6284         The local port used by clients to connect to this resource.
6285        '''
6286        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6287        '''
6288         ID of the proxy cluster for this resource, if any.
6289        '''
6290        self.region = region if region is not None else ''
6291        '''
6292         The AWS region to connect to.
6293        '''
6294        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
6295        '''
6296         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
6297        '''
6298        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6299        '''
6300         ID of the secret store containing credentials for this resource, if any.
6301        '''
6302        self.subdomain = subdomain if subdomain is not None else ''
6303        '''
6304         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6305        '''
6306        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6307        '''
6308         Tags is a map of key, value pairs.
6309        '''
6310        self.username = username if username is not None else ''
6311        '''
6312         The username to authenticate with.
6313        '''
bind_interface

The bind interface is the IP 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)
6336    def to_dict(self):
6337        return {
6338            'bind_interface': self.bind_interface,
6339            'database': self.database,
6340            'egress_filter': self.egress_filter,
6341            'healthy': self.healthy,
6342            'hostname': self.hostname,
6343            'id': self.id,
6344            'name': self.name,
6345            'override_database': self.override_database,
6346            'port': self.port,
6347            'port_override': self.port_override,
6348            'proxy_cluster_id': self.proxy_cluster_id,
6349            'region': self.region,
6350            'role_assumption_arn': self.role_assumption_arn,
6351            'secret_store_id': self.secret_store_id,
6352            'subdomain': self.subdomain,
6353            'tags': self.tags,
6354            'username': self.username,
6355        }
@classmethod
def from_dict(cls, d)
6357    @classmethod
6358    def from_dict(cls, d):
6359        return cls(
6360            bind_interface=d.get('bind_interface'),
6361            database=d.get('database'),
6362            egress_filter=d.get('egress_filter'),
6363            healthy=d.get('healthy'),
6364            hostname=d.get('hostname'),
6365            id=d.get('id'),
6366            name=d.get('name'),
6367            override_database=d.get('override_database'),
6368            port=d.get('port'),
6369            port_override=d.get('port_override'),
6370            proxy_cluster_id=d.get('proxy_cluster_id'),
6371            region=d.get('region'),
6372            role_assumption_arn=d.get('role_assumption_arn'),
6373            secret_store_id=d.get('secret_store_id'),
6374            subdomain=d.get('subdomain'),
6375            tags=d.get('tags'),
6376            username=d.get('username'),
6377        )
class Azure:
6380class Azure:
6381    __slots__ = [
6382        'app_id',
6383        'bind_interface',
6384        'egress_filter',
6385        'healthy',
6386        'id',
6387        'name',
6388        'password',
6389        'port_override',
6390        'proxy_cluster_id',
6391        'secret_store_id',
6392        'subdomain',
6393        'tags',
6394        'tenant_id',
6395    ]
6396
6397    def __init__(
6398        self,
6399        app_id=None,
6400        bind_interface=None,
6401        egress_filter=None,
6402        healthy=None,
6403        id=None,
6404        name=None,
6405        password=None,
6406        port_override=None,
6407        proxy_cluster_id=None,
6408        secret_store_id=None,
6409        subdomain=None,
6410        tags=None,
6411        tenant_id=None,
6412    ):
6413        self.app_id = app_id if app_id is not None else ''
6414        '''
6415         The application ID to authenticate with.
6416        '''
6417        self.bind_interface = bind_interface if bind_interface is not None else ''
6418        '''
6419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6420        '''
6421        self.egress_filter = egress_filter if egress_filter is not None else ''
6422        '''
6423         A filter applied to the routing logic to pin datasource to nodes.
6424        '''
6425        self.healthy = healthy if healthy is not None else False
6426        '''
6427         True if the datasource is reachable and the credentials are valid.
6428        '''
6429        self.id = id if id is not None else ''
6430        '''
6431         Unique identifier of the Resource.
6432        '''
6433        self.name = name if name is not None else ''
6434        '''
6435         Unique human-readable name of the Resource.
6436        '''
6437        self.password = password if password is not None else ''
6438        '''
6439         The password to authenticate with.
6440        '''
6441        self.port_override = port_override if port_override is not None else 0
6442        '''
6443         The local port used by clients to connect to this resource.
6444        '''
6445        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6446        '''
6447         ID of the proxy cluster for this resource, if any.
6448        '''
6449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6450        '''
6451         ID of the secret store containing credentials for this resource, if any.
6452        '''
6453        self.subdomain = subdomain if subdomain is not None else ''
6454        '''
6455         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6456        '''
6457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6458        '''
6459         Tags is a map of key, value pairs.
6460        '''
6461        self.tenant_id = tenant_id if tenant_id is not None else ''
6462        '''
6463         The tenant ID to authenticate to.
6464        '''
6465
6466    def __repr__(self):
6467        return '<sdm.Azure ' + \
6468            'app_id: ' + repr(self.app_id) + ' ' +\
6469            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6470            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6471            'healthy: ' + repr(self.healthy) + ' ' +\
6472            'id: ' + repr(self.id) + ' ' +\
6473            'name: ' + repr(self.name) + ' ' +\
6474            'password: ' + repr(self.password) + ' ' +\
6475            'port_override: ' + repr(self.port_override) + ' ' +\
6476            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6478            'subdomain: ' + repr(self.subdomain) + ' ' +\
6479            'tags: ' + repr(self.tags) + ' ' +\
6480            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
6481            '>'
6482
6483    def to_dict(self):
6484        return {
6485            'app_id': self.app_id,
6486            'bind_interface': self.bind_interface,
6487            'egress_filter': self.egress_filter,
6488            'healthy': self.healthy,
6489            'id': self.id,
6490            'name': self.name,
6491            'password': self.password,
6492            'port_override': self.port_override,
6493            'proxy_cluster_id': self.proxy_cluster_id,
6494            'secret_store_id': self.secret_store_id,
6495            'subdomain': self.subdomain,
6496            'tags': self.tags,
6497            'tenant_id': self.tenant_id,
6498        }
6499
6500    @classmethod
6501    def from_dict(cls, d):
6502        return cls(
6503            app_id=d.get('app_id'),
6504            bind_interface=d.get('bind_interface'),
6505            egress_filter=d.get('egress_filter'),
6506            healthy=d.get('healthy'),
6507            id=d.get('id'),
6508            name=d.get('name'),
6509            password=d.get('password'),
6510            port_override=d.get('port_override'),
6511            proxy_cluster_id=d.get('proxy_cluster_id'),
6512            secret_store_id=d.get('secret_store_id'),
6513            subdomain=d.get('subdomain'),
6514            tags=d.get('tags'),
6515            tenant_id=d.get('tenant_id'),
6516        )
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)
6397    def __init__(
6398        self,
6399        app_id=None,
6400        bind_interface=None,
6401        egress_filter=None,
6402        healthy=None,
6403        id=None,
6404        name=None,
6405        password=None,
6406        port_override=None,
6407        proxy_cluster_id=None,
6408        secret_store_id=None,
6409        subdomain=None,
6410        tags=None,
6411        tenant_id=None,
6412    ):
6413        self.app_id = app_id if app_id is not None else ''
6414        '''
6415         The application ID to authenticate with.
6416        '''
6417        self.bind_interface = bind_interface if bind_interface is not None else ''
6418        '''
6419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6420        '''
6421        self.egress_filter = egress_filter if egress_filter is not None else ''
6422        '''
6423         A filter applied to the routing logic to pin datasource to nodes.
6424        '''
6425        self.healthy = healthy if healthy is not None else False
6426        '''
6427         True if the datasource is reachable and the credentials are valid.
6428        '''
6429        self.id = id if id is not None else ''
6430        '''
6431         Unique identifier of the Resource.
6432        '''
6433        self.name = name if name is not None else ''
6434        '''
6435         Unique human-readable name of the Resource.
6436        '''
6437        self.password = password if password is not None else ''
6438        '''
6439         The password to authenticate with.
6440        '''
6441        self.port_override = port_override if port_override is not None else 0
6442        '''
6443         The local port used by clients to connect to this resource.
6444        '''
6445        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6446        '''
6447         ID of the proxy cluster for this resource, if any.
6448        '''
6449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6450        '''
6451         ID of the secret store containing credentials for this resource, if any.
6452        '''
6453        self.subdomain = subdomain if subdomain is not None else ''
6454        '''
6455         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6456        '''
6457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6458        '''
6459         Tags is a map of key, value pairs.
6460        '''
6461        self.tenant_id = tenant_id if tenant_id is not None else ''
6462        '''
6463         The tenant ID to authenticate to.
6464        '''
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)
6483    def to_dict(self):
6484        return {
6485            'app_id': self.app_id,
6486            'bind_interface': self.bind_interface,
6487            'egress_filter': self.egress_filter,
6488            'healthy': self.healthy,
6489            'id': self.id,
6490            'name': self.name,
6491            'password': self.password,
6492            'port_override': self.port_override,
6493            'proxy_cluster_id': self.proxy_cluster_id,
6494            'secret_store_id': self.secret_store_id,
6495            'subdomain': self.subdomain,
6496            'tags': self.tags,
6497            'tenant_id': self.tenant_id,
6498        }
@classmethod
def from_dict(cls, d)
6500    @classmethod
6501    def from_dict(cls, d):
6502        return cls(
6503            app_id=d.get('app_id'),
6504            bind_interface=d.get('bind_interface'),
6505            egress_filter=d.get('egress_filter'),
6506            healthy=d.get('healthy'),
6507            id=d.get('id'),
6508            name=d.get('name'),
6509            password=d.get('password'),
6510            port_override=d.get('port_override'),
6511            proxy_cluster_id=d.get('proxy_cluster_id'),
6512            secret_store_id=d.get('secret_store_id'),
6513            subdomain=d.get('subdomain'),
6514            tags=d.get('tags'),
6515            tenant_id=d.get('tenant_id'),
6516        )
class AzureCertificate:
6519class AzureCertificate:
6520    __slots__ = [
6521        'app_id',
6522        'bind_interface',
6523        'client_certificate',
6524        'egress_filter',
6525        'healthy',
6526        'id',
6527        'name',
6528        'port_override',
6529        'proxy_cluster_id',
6530        'secret_store_id',
6531        'subdomain',
6532        'tags',
6533        'tenant_id',
6534    ]
6535
6536    def __init__(
6537        self,
6538        app_id=None,
6539        bind_interface=None,
6540        client_certificate=None,
6541        egress_filter=None,
6542        healthy=None,
6543        id=None,
6544        name=None,
6545        port_override=None,
6546        proxy_cluster_id=None,
6547        secret_store_id=None,
6548        subdomain=None,
6549        tags=None,
6550        tenant_id=None,
6551    ):
6552        self.app_id = app_id if app_id is not None else ''
6553        '''
6554         The application ID to authenticate with.
6555        '''
6556        self.bind_interface = bind_interface if bind_interface is not None else ''
6557        '''
6558         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6559        '''
6560        self.client_certificate = client_certificate if client_certificate is not None else ''
6561        '''
6562         The service Principal certificate file, both private and public key included.
6563        '''
6564        self.egress_filter = egress_filter if egress_filter is not None else ''
6565        '''
6566         A filter applied to the routing logic to pin datasource to nodes.
6567        '''
6568        self.healthy = healthy if healthy is not None else False
6569        '''
6570         True if the datasource is reachable and the credentials are valid.
6571        '''
6572        self.id = id if id is not None else ''
6573        '''
6574         Unique identifier of the Resource.
6575        '''
6576        self.name = name if name is not None else ''
6577        '''
6578         Unique human-readable name of the Resource.
6579        '''
6580        self.port_override = port_override if port_override is not None else 0
6581        '''
6582         The local port used by clients to connect to this resource.
6583        '''
6584        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6585        '''
6586         ID of the proxy cluster for this resource, if any.
6587        '''
6588        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6589        '''
6590         ID of the secret store containing credentials for this resource, if any.
6591        '''
6592        self.subdomain = subdomain if subdomain is not None else ''
6593        '''
6594         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6595        '''
6596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6597        '''
6598         Tags is a map of key, value pairs.
6599        '''
6600        self.tenant_id = tenant_id if tenant_id is not None else ''
6601        '''
6602         The tenant ID to authenticate to.
6603        '''
6604
6605    def __repr__(self):
6606        return '<sdm.AzureCertificate ' + \
6607            'app_id: ' + repr(self.app_id) + ' ' +\
6608            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6609            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
6610            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6611            'healthy: ' + repr(self.healthy) + ' ' +\
6612            'id: ' + repr(self.id) + ' ' +\
6613            'name: ' + repr(self.name) + ' ' +\
6614            'port_override: ' + repr(self.port_override) + ' ' +\
6615            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6616            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6617            'subdomain: ' + repr(self.subdomain) + ' ' +\
6618            'tags: ' + repr(self.tags) + ' ' +\
6619            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
6620            '>'
6621
6622    def to_dict(self):
6623        return {
6624            'app_id': self.app_id,
6625            'bind_interface': self.bind_interface,
6626            'client_certificate': self.client_certificate,
6627            'egress_filter': self.egress_filter,
6628            'healthy': self.healthy,
6629            'id': self.id,
6630            'name': self.name,
6631            'port_override': self.port_override,
6632            'proxy_cluster_id': self.proxy_cluster_id,
6633            'secret_store_id': self.secret_store_id,
6634            'subdomain': self.subdomain,
6635            'tags': self.tags,
6636            'tenant_id': self.tenant_id,
6637        }
6638
6639    @classmethod
6640    def from_dict(cls, d):
6641        return cls(
6642            app_id=d.get('app_id'),
6643            bind_interface=d.get('bind_interface'),
6644            client_certificate=d.get('client_certificate'),
6645            egress_filter=d.get('egress_filter'),
6646            healthy=d.get('healthy'),
6647            id=d.get('id'),
6648            name=d.get('name'),
6649            port_override=d.get('port_override'),
6650            proxy_cluster_id=d.get('proxy_cluster_id'),
6651            secret_store_id=d.get('secret_store_id'),
6652            subdomain=d.get('subdomain'),
6653            tags=d.get('tags'),
6654            tenant_id=d.get('tenant_id'),
6655        )
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)
6536    def __init__(
6537        self,
6538        app_id=None,
6539        bind_interface=None,
6540        client_certificate=None,
6541        egress_filter=None,
6542        healthy=None,
6543        id=None,
6544        name=None,
6545        port_override=None,
6546        proxy_cluster_id=None,
6547        secret_store_id=None,
6548        subdomain=None,
6549        tags=None,
6550        tenant_id=None,
6551    ):
6552        self.app_id = app_id if app_id is not None else ''
6553        '''
6554         The application ID to authenticate with.
6555        '''
6556        self.bind_interface = bind_interface if bind_interface is not None else ''
6557        '''
6558         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6559        '''
6560        self.client_certificate = client_certificate if client_certificate is not None else ''
6561        '''
6562         The service Principal certificate file, both private and public key included.
6563        '''
6564        self.egress_filter = egress_filter if egress_filter is not None else ''
6565        '''
6566         A filter applied to the routing logic to pin datasource to nodes.
6567        '''
6568        self.healthy = healthy if healthy is not None else False
6569        '''
6570         True if the datasource is reachable and the credentials are valid.
6571        '''
6572        self.id = id if id is not None else ''
6573        '''
6574         Unique identifier of the Resource.
6575        '''
6576        self.name = name if name is not None else ''
6577        '''
6578         Unique human-readable name of the Resource.
6579        '''
6580        self.port_override = port_override if port_override is not None else 0
6581        '''
6582         The local port used by clients to connect to this resource.
6583        '''
6584        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6585        '''
6586         ID of the proxy cluster for this resource, if any.
6587        '''
6588        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6589        '''
6590         ID of the secret store containing credentials for this resource, if any.
6591        '''
6592        self.subdomain = subdomain if subdomain is not None else ''
6593        '''
6594         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6595        '''
6596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6597        '''
6598         Tags is a map of key, value pairs.
6599        '''
6600        self.tenant_id = tenant_id if tenant_id is not None else ''
6601        '''
6602         The tenant ID to authenticate to.
6603        '''
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)
6622    def to_dict(self):
6623        return {
6624            'app_id': self.app_id,
6625            'bind_interface': self.bind_interface,
6626            'client_certificate': self.client_certificate,
6627            'egress_filter': self.egress_filter,
6628            'healthy': self.healthy,
6629            'id': self.id,
6630            'name': self.name,
6631            'port_override': self.port_override,
6632            'proxy_cluster_id': self.proxy_cluster_id,
6633            'secret_store_id': self.secret_store_id,
6634            'subdomain': self.subdomain,
6635            'tags': self.tags,
6636            'tenant_id': self.tenant_id,
6637        }
@classmethod
def from_dict(cls, d)
6639    @classmethod
6640    def from_dict(cls, d):
6641        return cls(
6642            app_id=d.get('app_id'),
6643            bind_interface=d.get('bind_interface'),
6644            client_certificate=d.get('client_certificate'),
6645            egress_filter=d.get('egress_filter'),
6646            healthy=d.get('healthy'),
6647            id=d.get('id'),
6648            name=d.get('name'),
6649            port_override=d.get('port_override'),
6650            proxy_cluster_id=d.get('proxy_cluster_id'),
6651            secret_store_id=d.get('secret_store_id'),
6652            subdomain=d.get('subdomain'),
6653            tags=d.get('tags'),
6654            tenant_id=d.get('tenant_id'),
6655        )
class AzureMysql:
6658class AzureMysql:
6659    __slots__ = [
6660        'bind_interface',
6661        'database',
6662        'egress_filter',
6663        'healthy',
6664        'hostname',
6665        'id',
6666        'name',
6667        'password',
6668        'port',
6669        'port_override',
6670        'proxy_cluster_id',
6671        'require_native_auth',
6672        'secret_store_id',
6673        'subdomain',
6674        'tags',
6675        'use_azure_single_server_usernames',
6676        'username',
6677    ]
6678
6679    def __init__(
6680        self,
6681        bind_interface=None,
6682        database=None,
6683        egress_filter=None,
6684        healthy=None,
6685        hostname=None,
6686        id=None,
6687        name=None,
6688        password=None,
6689        port=None,
6690        port_override=None,
6691        proxy_cluster_id=None,
6692        require_native_auth=None,
6693        secret_store_id=None,
6694        subdomain=None,
6695        tags=None,
6696        use_azure_single_server_usernames=None,
6697        username=None,
6698    ):
6699        self.bind_interface = bind_interface if bind_interface is not None else ''
6700        '''
6701         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6702        '''
6703        self.database = database if database is not None else ''
6704        '''
6705         The database for healthchecks. Does not affect client requests.
6706        '''
6707        self.egress_filter = egress_filter if egress_filter is not None else ''
6708        '''
6709         A filter applied to the routing logic to pin datasource to nodes.
6710        '''
6711        self.healthy = healthy if healthy is not None else False
6712        '''
6713         True if the datasource is reachable and the credentials are valid.
6714        '''
6715        self.hostname = hostname if hostname is not None else ''
6716        '''
6717         The host to dial to initiate a connection from the egress node to this resource.
6718        '''
6719        self.id = id if id is not None else ''
6720        '''
6721         Unique identifier of the Resource.
6722        '''
6723        self.name = name if name is not None else ''
6724        '''
6725         Unique human-readable name of the Resource.
6726        '''
6727        self.password = password if password is not None else ''
6728        '''
6729         The password to authenticate with.
6730        '''
6731        self.port = port if port is not None else 0
6732        '''
6733         The port to dial to initiate a connection from the egress node to this resource.
6734        '''
6735        self.port_override = port_override if port_override is not None else 0
6736        '''
6737         The local port used by clients to connect to this resource.
6738        '''
6739        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6740        '''
6741         ID of the proxy cluster for this resource, if any.
6742        '''
6743        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6744        '''
6745         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6746        '''
6747        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6748        '''
6749         ID of the secret store containing credentials for this resource, if any.
6750        '''
6751        self.subdomain = subdomain if subdomain is not None else ''
6752        '''
6753         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6754        '''
6755        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6756        '''
6757         Tags is a map of key, value pairs.
6758        '''
6759        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6760        '''
6761         If true, appends the hostname to the username when hitting a database.azure.com address
6762        '''
6763        self.username = username if username is not None else ''
6764        '''
6765         The username to authenticate with.
6766        '''
6767
6768    def __repr__(self):
6769        return '<sdm.AzureMysql ' + \
6770            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6771            'database: ' + repr(self.database) + ' ' +\
6772            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6773            'healthy: ' + repr(self.healthy) + ' ' +\
6774            'hostname: ' + repr(self.hostname) + ' ' +\
6775            'id: ' + repr(self.id) + ' ' +\
6776            'name: ' + repr(self.name) + ' ' +\
6777            'password: ' + repr(self.password) + ' ' +\
6778            'port: ' + repr(self.port) + ' ' +\
6779            'port_override: ' + repr(self.port_override) + ' ' +\
6780            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6781            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
6782            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6783            'subdomain: ' + repr(self.subdomain) + ' ' +\
6784            'tags: ' + repr(self.tags) + ' ' +\
6785            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
6786            'username: ' + repr(self.username) + ' ' +\
6787            '>'
6788
6789    def to_dict(self):
6790        return {
6791            'bind_interface': self.bind_interface,
6792            'database': self.database,
6793            'egress_filter': self.egress_filter,
6794            'healthy': self.healthy,
6795            'hostname': self.hostname,
6796            'id': self.id,
6797            'name': self.name,
6798            'password': self.password,
6799            'port': self.port,
6800            'port_override': self.port_override,
6801            'proxy_cluster_id': self.proxy_cluster_id,
6802            'require_native_auth': self.require_native_auth,
6803            'secret_store_id': self.secret_store_id,
6804            'subdomain': self.subdomain,
6805            'tags': self.tags,
6806            'use_azure_single_server_usernames':
6807            self.use_azure_single_server_usernames,
6808            'username': self.username,
6809        }
6810
6811    @classmethod
6812    def from_dict(cls, d):
6813        return cls(
6814            bind_interface=d.get('bind_interface'),
6815            database=d.get('database'),
6816            egress_filter=d.get('egress_filter'),
6817            healthy=d.get('healthy'),
6818            hostname=d.get('hostname'),
6819            id=d.get('id'),
6820            name=d.get('name'),
6821            password=d.get('password'),
6822            port=d.get('port'),
6823            port_override=d.get('port_override'),
6824            proxy_cluster_id=d.get('proxy_cluster_id'),
6825            require_native_auth=d.get('require_native_auth'),
6826            secret_store_id=d.get('secret_store_id'),
6827            subdomain=d.get('subdomain'),
6828            tags=d.get('tags'),
6829            use_azure_single_server_usernames=d.get(
6830                'use_azure_single_server_usernames'),
6831            username=d.get('username'),
6832        )
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)
6679    def __init__(
6680        self,
6681        bind_interface=None,
6682        database=None,
6683        egress_filter=None,
6684        healthy=None,
6685        hostname=None,
6686        id=None,
6687        name=None,
6688        password=None,
6689        port=None,
6690        port_override=None,
6691        proxy_cluster_id=None,
6692        require_native_auth=None,
6693        secret_store_id=None,
6694        subdomain=None,
6695        tags=None,
6696        use_azure_single_server_usernames=None,
6697        username=None,
6698    ):
6699        self.bind_interface = bind_interface if bind_interface is not None else ''
6700        '''
6701         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6702        '''
6703        self.database = database if database is not None else ''
6704        '''
6705         The database for healthchecks. Does not affect client requests.
6706        '''
6707        self.egress_filter = egress_filter if egress_filter is not None else ''
6708        '''
6709         A filter applied to the routing logic to pin datasource to nodes.
6710        '''
6711        self.healthy = healthy if healthy is not None else False
6712        '''
6713         True if the datasource is reachable and the credentials are valid.
6714        '''
6715        self.hostname = hostname if hostname is not None else ''
6716        '''
6717         The host to dial to initiate a connection from the egress node to this resource.
6718        '''
6719        self.id = id if id is not None else ''
6720        '''
6721         Unique identifier of the Resource.
6722        '''
6723        self.name = name if name is not None else ''
6724        '''
6725         Unique human-readable name of the Resource.
6726        '''
6727        self.password = password if password is not None else ''
6728        '''
6729         The password to authenticate with.
6730        '''
6731        self.port = port if port is not None else 0
6732        '''
6733         The port to dial to initiate a connection from the egress node to this resource.
6734        '''
6735        self.port_override = port_override if port_override is not None else 0
6736        '''
6737         The local port used by clients to connect to this resource.
6738        '''
6739        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6740        '''
6741         ID of the proxy cluster for this resource, if any.
6742        '''
6743        self.require_native_auth = require_native_auth if require_native_auth is not None else False
6744        '''
6745         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6746        '''
6747        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6748        '''
6749         ID of the secret store containing credentials for this resource, if any.
6750        '''
6751        self.subdomain = subdomain if subdomain is not None else ''
6752        '''
6753         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6754        '''
6755        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6756        '''
6757         Tags is a map of key, value pairs.
6758        '''
6759        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
6760        '''
6761         If true, appends the hostname to the username when hitting a database.azure.com address
6762        '''
6763        self.username = username if username is not None else ''
6764        '''
6765         The username to authenticate with.
6766        '''
bind_interface

The bind interface is the IP 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)
6789    def to_dict(self):
6790        return {
6791            'bind_interface': self.bind_interface,
6792            'database': self.database,
6793            'egress_filter': self.egress_filter,
6794            'healthy': self.healthy,
6795            'hostname': self.hostname,
6796            'id': self.id,
6797            'name': self.name,
6798            'password': self.password,
6799            'port': self.port,
6800            'port_override': self.port_override,
6801            'proxy_cluster_id': self.proxy_cluster_id,
6802            'require_native_auth': self.require_native_auth,
6803            'secret_store_id': self.secret_store_id,
6804            'subdomain': self.subdomain,
6805            'tags': self.tags,
6806            'use_azure_single_server_usernames':
6807            self.use_azure_single_server_usernames,
6808            'username': self.username,
6809        }
@classmethod
def from_dict(cls, d)
6811    @classmethod
6812    def from_dict(cls, d):
6813        return cls(
6814            bind_interface=d.get('bind_interface'),
6815            database=d.get('database'),
6816            egress_filter=d.get('egress_filter'),
6817            healthy=d.get('healthy'),
6818            hostname=d.get('hostname'),
6819            id=d.get('id'),
6820            name=d.get('name'),
6821            password=d.get('password'),
6822            port=d.get('port'),
6823            port_override=d.get('port_override'),
6824            proxy_cluster_id=d.get('proxy_cluster_id'),
6825            require_native_auth=d.get('require_native_auth'),
6826            secret_store_id=d.get('secret_store_id'),
6827            subdomain=d.get('subdomain'),
6828            tags=d.get('tags'),
6829            use_azure_single_server_usernames=d.get(
6830                'use_azure_single_server_usernames'),
6831            username=d.get('username'),
6832        )
class AzurePostgres:
6835class AzurePostgres:
6836    __slots__ = [
6837        'bind_interface',
6838        'database',
6839        'egress_filter',
6840        'healthy',
6841        'hostname',
6842        'id',
6843        'name',
6844        'override_database',
6845        'password',
6846        'port',
6847        'port_override',
6848        'proxy_cluster_id',
6849        'secret_store_id',
6850        'subdomain',
6851        'tags',
6852        'username',
6853    ]
6854
6855    def __init__(
6856        self,
6857        bind_interface=None,
6858        database=None,
6859        egress_filter=None,
6860        healthy=None,
6861        hostname=None,
6862        id=None,
6863        name=None,
6864        override_database=None,
6865        password=None,
6866        port=None,
6867        port_override=None,
6868        proxy_cluster_id=None,
6869        secret_store_id=None,
6870        subdomain=None,
6871        tags=None,
6872        username=None,
6873    ):
6874        self.bind_interface = bind_interface if bind_interface is not None else ''
6875        '''
6876         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6877        '''
6878        self.database = database if database is not None else ''
6879        '''
6880         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6881        '''
6882        self.egress_filter = egress_filter if egress_filter is not None else ''
6883        '''
6884         A filter applied to the routing logic to pin datasource to nodes.
6885        '''
6886        self.healthy = healthy if healthy is not None else False
6887        '''
6888         True if the datasource is reachable and the credentials are valid.
6889        '''
6890        self.hostname = hostname if hostname is not None else ''
6891        '''
6892         The host to dial to initiate a connection from the egress node to this resource.
6893        '''
6894        self.id = id if id is not None else ''
6895        '''
6896         Unique identifier of the Resource.
6897        '''
6898        self.name = name if name is not None else ''
6899        '''
6900         Unique human-readable name of the Resource.
6901        '''
6902        self.override_database = override_database if override_database is not None else False
6903        '''
6904         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.
6905        '''
6906        self.password = password if password is not None else ''
6907        '''
6908         The password to authenticate with.
6909        '''
6910        self.port = port if port is not None else 0
6911        '''
6912         The port to dial to initiate a connection from the egress node to this resource.
6913        '''
6914        self.port_override = port_override if port_override is not None else 0
6915        '''
6916         The local port used by clients to connect to this resource.
6917        '''
6918        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6919        '''
6920         ID of the proxy cluster for this resource, if any.
6921        '''
6922        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6923        '''
6924         ID of the secret store containing credentials for this resource, if any.
6925        '''
6926        self.subdomain = subdomain if subdomain is not None else ''
6927        '''
6928         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6929        '''
6930        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6931        '''
6932         Tags is a map of key, value pairs.
6933        '''
6934        self.username = username if username is not None else ''
6935        '''
6936         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.
6937        '''
6938
6939    def __repr__(self):
6940        return '<sdm.AzurePostgres ' + \
6941            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6942            'database: ' + repr(self.database) + ' ' +\
6943            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6944            'healthy: ' + repr(self.healthy) + ' ' +\
6945            'hostname: ' + repr(self.hostname) + ' ' +\
6946            'id: ' + repr(self.id) + ' ' +\
6947            'name: ' + repr(self.name) + ' ' +\
6948            'override_database: ' + repr(self.override_database) + ' ' +\
6949            'password: ' + repr(self.password) + ' ' +\
6950            'port: ' + repr(self.port) + ' ' +\
6951            'port_override: ' + repr(self.port_override) + ' ' +\
6952            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6953            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6954            'subdomain: ' + repr(self.subdomain) + ' ' +\
6955            'tags: ' + repr(self.tags) + ' ' +\
6956            'username: ' + repr(self.username) + ' ' +\
6957            '>'
6958
6959    def to_dict(self):
6960        return {
6961            'bind_interface': self.bind_interface,
6962            'database': self.database,
6963            'egress_filter': self.egress_filter,
6964            'healthy': self.healthy,
6965            'hostname': self.hostname,
6966            'id': self.id,
6967            'name': self.name,
6968            'override_database': self.override_database,
6969            'password': self.password,
6970            'port': self.port,
6971            'port_override': self.port_override,
6972            'proxy_cluster_id': self.proxy_cluster_id,
6973            'secret_store_id': self.secret_store_id,
6974            'subdomain': self.subdomain,
6975            'tags': self.tags,
6976            'username': self.username,
6977        }
6978
6979    @classmethod
6980    def from_dict(cls, d):
6981        return cls(
6982            bind_interface=d.get('bind_interface'),
6983            database=d.get('database'),
6984            egress_filter=d.get('egress_filter'),
6985            healthy=d.get('healthy'),
6986            hostname=d.get('hostname'),
6987            id=d.get('id'),
6988            name=d.get('name'),
6989            override_database=d.get('override_database'),
6990            password=d.get('password'),
6991            port=d.get('port'),
6992            port_override=d.get('port_override'),
6993            proxy_cluster_id=d.get('proxy_cluster_id'),
6994            secret_store_id=d.get('secret_store_id'),
6995            subdomain=d.get('subdomain'),
6996            tags=d.get('tags'),
6997            username=d.get('username'),
6998        )
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)
6855    def __init__(
6856        self,
6857        bind_interface=None,
6858        database=None,
6859        egress_filter=None,
6860        healthy=None,
6861        hostname=None,
6862        id=None,
6863        name=None,
6864        override_database=None,
6865        password=None,
6866        port=None,
6867        port_override=None,
6868        proxy_cluster_id=None,
6869        secret_store_id=None,
6870        subdomain=None,
6871        tags=None,
6872        username=None,
6873    ):
6874        self.bind_interface = bind_interface if bind_interface is not None else ''
6875        '''
6876         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6877        '''
6878        self.database = database if database is not None else ''
6879        '''
6880         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
6881        '''
6882        self.egress_filter = egress_filter if egress_filter is not None else ''
6883        '''
6884         A filter applied to the routing logic to pin datasource to nodes.
6885        '''
6886        self.healthy = healthy if healthy is not None else False
6887        '''
6888         True if the datasource is reachable and the credentials are valid.
6889        '''
6890        self.hostname = hostname if hostname is not None else ''
6891        '''
6892         The host to dial to initiate a connection from the egress node to this resource.
6893        '''
6894        self.id = id if id is not None else ''
6895        '''
6896         Unique identifier of the Resource.
6897        '''
6898        self.name = name if name is not None else ''
6899        '''
6900         Unique human-readable name of the Resource.
6901        '''
6902        self.override_database = override_database if override_database is not None else False
6903        '''
6904         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.
6905        '''
6906        self.password = password if password is not None else ''
6907        '''
6908         The password to authenticate with.
6909        '''
6910        self.port = port if port is not None else 0
6911        '''
6912         The port to dial to initiate a connection from the egress node to this resource.
6913        '''
6914        self.port_override = port_override if port_override is not None else 0
6915        '''
6916         The local port used by clients to connect to this resource.
6917        '''
6918        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6919        '''
6920         ID of the proxy cluster for this resource, if any.
6921        '''
6922        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6923        '''
6924         ID of the secret store containing credentials for this resource, if any.
6925        '''
6926        self.subdomain = subdomain if subdomain is not None else ''
6927        '''
6928         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6929        '''
6930        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6931        '''
6932         Tags is a map of key, value pairs.
6933        '''
6934        self.username = username if username is not None else ''
6935        '''
6936         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.
6937        '''
bind_interface

The bind interface is the IP 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)
6959    def to_dict(self):
6960        return {
6961            'bind_interface': self.bind_interface,
6962            'database': self.database,
6963            'egress_filter': self.egress_filter,
6964            'healthy': self.healthy,
6965            'hostname': self.hostname,
6966            'id': self.id,
6967            'name': self.name,
6968            'override_database': self.override_database,
6969            'password': self.password,
6970            'port': self.port,
6971            'port_override': self.port_override,
6972            'proxy_cluster_id': self.proxy_cluster_id,
6973            'secret_store_id': self.secret_store_id,
6974            'subdomain': self.subdomain,
6975            'tags': self.tags,
6976            'username': self.username,
6977        }
@classmethod
def from_dict(cls, d)
6979    @classmethod
6980    def from_dict(cls, d):
6981        return cls(
6982            bind_interface=d.get('bind_interface'),
6983            database=d.get('database'),
6984            egress_filter=d.get('egress_filter'),
6985            healthy=d.get('healthy'),
6986            hostname=d.get('hostname'),
6987            id=d.get('id'),
6988            name=d.get('name'),
6989            override_database=d.get('override_database'),
6990            password=d.get('password'),
6991            port=d.get('port'),
6992            port_override=d.get('port_override'),
6993            proxy_cluster_id=d.get('proxy_cluster_id'),
6994            secret_store_id=d.get('secret_store_id'),
6995            subdomain=d.get('subdomain'),
6996            tags=d.get('tags'),
6997            username=d.get('username'),
6998        )
class AzurePostgresManagedIdentity:
7001class AzurePostgresManagedIdentity:
7002    __slots__ = [
7003        'bind_interface',
7004        'database',
7005        'egress_filter',
7006        'healthy',
7007        'hostname',
7008        'id',
7009        'name',
7010        'override_database',
7011        'password',
7012        'port',
7013        'port_override',
7014        'proxy_cluster_id',
7015        'secret_store_id',
7016        'subdomain',
7017        'tags',
7018        'use_azure_single_server_usernames',
7019        'username',
7020    ]
7021
7022    def __init__(
7023        self,
7024        bind_interface=None,
7025        database=None,
7026        egress_filter=None,
7027        healthy=None,
7028        hostname=None,
7029        id=None,
7030        name=None,
7031        override_database=None,
7032        password=None,
7033        port=None,
7034        port_override=None,
7035        proxy_cluster_id=None,
7036        secret_store_id=None,
7037        subdomain=None,
7038        tags=None,
7039        use_azure_single_server_usernames=None,
7040        username=None,
7041    ):
7042        self.bind_interface = bind_interface if bind_interface is not None else ''
7043        '''
7044         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7045        '''
7046        self.database = database if database is not None else ''
7047        '''
7048         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7049        '''
7050        self.egress_filter = egress_filter if egress_filter is not None else ''
7051        '''
7052         A filter applied to the routing logic to pin datasource to nodes.
7053        '''
7054        self.healthy = healthy if healthy is not None else False
7055        '''
7056         True if the datasource is reachable and the credentials are valid.
7057        '''
7058        self.hostname = hostname if hostname is not None else ''
7059        '''
7060         The host to dial to initiate a connection from the egress node to this resource.
7061        '''
7062        self.id = id if id is not None else ''
7063        '''
7064         Unique identifier of the Resource.
7065        '''
7066        self.name = name if name is not None else ''
7067        '''
7068         Unique human-readable name of the Resource.
7069        '''
7070        self.override_database = override_database if override_database is not None else False
7071        '''
7072         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.
7073        '''
7074        self.password = password if password is not None else ''
7075        '''
7076         The password to authenticate with.
7077        '''
7078        self.port = port if port is not None else 0
7079        '''
7080         The port to dial to initiate a connection from the egress node to this resource.
7081        '''
7082        self.port_override = port_override if port_override is not None else 0
7083        '''
7084         The local port used by clients to connect to this resource.
7085        '''
7086        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7087        '''
7088         ID of the proxy cluster for this resource, if any.
7089        '''
7090        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7091        '''
7092         ID of the secret store containing credentials for this resource, if any.
7093        '''
7094        self.subdomain = subdomain if subdomain is not None else ''
7095        '''
7096         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7097        '''
7098        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7099        '''
7100         Tags is a map of key, value pairs.
7101        '''
7102        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7103        '''
7104         If true, appends the hostname to the username when hitting a database.azure.com address
7105        '''
7106        self.username = username if username is not None else ''
7107        '''
7108         The username to authenticate with.
7109        '''
7110
7111    def __repr__(self):
7112        return '<sdm.AzurePostgresManagedIdentity ' + \
7113            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7114            'database: ' + repr(self.database) + ' ' +\
7115            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7116            'healthy: ' + repr(self.healthy) + ' ' +\
7117            'hostname: ' + repr(self.hostname) + ' ' +\
7118            'id: ' + repr(self.id) + ' ' +\
7119            'name: ' + repr(self.name) + ' ' +\
7120            'override_database: ' + repr(self.override_database) + ' ' +\
7121            'password: ' + repr(self.password) + ' ' +\
7122            'port: ' + repr(self.port) + ' ' +\
7123            'port_override: ' + repr(self.port_override) + ' ' +\
7124            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7125            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7126            'subdomain: ' + repr(self.subdomain) + ' ' +\
7127            'tags: ' + repr(self.tags) + ' ' +\
7128            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7129            'username: ' + repr(self.username) + ' ' +\
7130            '>'
7131
7132    def to_dict(self):
7133        return {
7134            'bind_interface': self.bind_interface,
7135            'database': self.database,
7136            'egress_filter': self.egress_filter,
7137            'healthy': self.healthy,
7138            'hostname': self.hostname,
7139            'id': self.id,
7140            'name': self.name,
7141            'override_database': self.override_database,
7142            'password': self.password,
7143            'port': self.port,
7144            'port_override': self.port_override,
7145            'proxy_cluster_id': self.proxy_cluster_id,
7146            'secret_store_id': self.secret_store_id,
7147            'subdomain': self.subdomain,
7148            'tags': self.tags,
7149            'use_azure_single_server_usernames':
7150            self.use_azure_single_server_usernames,
7151            'username': self.username,
7152        }
7153
7154    @classmethod
7155    def from_dict(cls, d):
7156        return cls(
7157            bind_interface=d.get('bind_interface'),
7158            database=d.get('database'),
7159            egress_filter=d.get('egress_filter'),
7160            healthy=d.get('healthy'),
7161            hostname=d.get('hostname'),
7162            id=d.get('id'),
7163            name=d.get('name'),
7164            override_database=d.get('override_database'),
7165            password=d.get('password'),
7166            port=d.get('port'),
7167            port_override=d.get('port_override'),
7168            proxy_cluster_id=d.get('proxy_cluster_id'),
7169            secret_store_id=d.get('secret_store_id'),
7170            subdomain=d.get('subdomain'),
7171            tags=d.get('tags'),
7172            use_azure_single_server_usernames=d.get(
7173                'use_azure_single_server_usernames'),
7174            username=d.get('username'),
7175        )
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)
7022    def __init__(
7023        self,
7024        bind_interface=None,
7025        database=None,
7026        egress_filter=None,
7027        healthy=None,
7028        hostname=None,
7029        id=None,
7030        name=None,
7031        override_database=None,
7032        password=None,
7033        port=None,
7034        port_override=None,
7035        proxy_cluster_id=None,
7036        secret_store_id=None,
7037        subdomain=None,
7038        tags=None,
7039        use_azure_single_server_usernames=None,
7040        username=None,
7041    ):
7042        self.bind_interface = bind_interface if bind_interface is not None else ''
7043        '''
7044         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7045        '''
7046        self.database = database if database is not None else ''
7047        '''
7048         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7049        '''
7050        self.egress_filter = egress_filter if egress_filter is not None else ''
7051        '''
7052         A filter applied to the routing logic to pin datasource to nodes.
7053        '''
7054        self.healthy = healthy if healthy is not None else False
7055        '''
7056         True if the datasource is reachable and the credentials are valid.
7057        '''
7058        self.hostname = hostname if hostname is not None else ''
7059        '''
7060         The host to dial to initiate a connection from the egress node to this resource.
7061        '''
7062        self.id = id if id is not None else ''
7063        '''
7064         Unique identifier of the Resource.
7065        '''
7066        self.name = name if name is not None else ''
7067        '''
7068         Unique human-readable name of the Resource.
7069        '''
7070        self.override_database = override_database if override_database is not None else False
7071        '''
7072         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.
7073        '''
7074        self.password = password if password is not None else ''
7075        '''
7076         The password to authenticate with.
7077        '''
7078        self.port = port if port is not None else 0
7079        '''
7080         The port to dial to initiate a connection from the egress node to this resource.
7081        '''
7082        self.port_override = port_override if port_override is not None else 0
7083        '''
7084         The local port used by clients to connect to this resource.
7085        '''
7086        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7087        '''
7088         ID of the proxy cluster for this resource, if any.
7089        '''
7090        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7091        '''
7092         ID of the secret store containing credentials for this resource, if any.
7093        '''
7094        self.subdomain = subdomain if subdomain is not None else ''
7095        '''
7096         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7097        '''
7098        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7099        '''
7100         Tags is a map of key, value pairs.
7101        '''
7102        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7103        '''
7104         If true, appends the hostname to the username when hitting a database.azure.com address
7105        '''
7106        self.username = username if username is not None else ''
7107        '''
7108         The username to authenticate with.
7109        '''
bind_interface

The bind interface is the IP 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)
7132    def to_dict(self):
7133        return {
7134            'bind_interface': self.bind_interface,
7135            'database': self.database,
7136            'egress_filter': self.egress_filter,
7137            'healthy': self.healthy,
7138            'hostname': self.hostname,
7139            'id': self.id,
7140            'name': self.name,
7141            'override_database': self.override_database,
7142            'password': self.password,
7143            'port': self.port,
7144            'port_override': self.port_override,
7145            'proxy_cluster_id': self.proxy_cluster_id,
7146            'secret_store_id': self.secret_store_id,
7147            'subdomain': self.subdomain,
7148            'tags': self.tags,
7149            'use_azure_single_server_usernames':
7150            self.use_azure_single_server_usernames,
7151            'username': self.username,
7152        }
@classmethod
def from_dict(cls, d)
7154    @classmethod
7155    def from_dict(cls, d):
7156        return cls(
7157            bind_interface=d.get('bind_interface'),
7158            database=d.get('database'),
7159            egress_filter=d.get('egress_filter'),
7160            healthy=d.get('healthy'),
7161            hostname=d.get('hostname'),
7162            id=d.get('id'),
7163            name=d.get('name'),
7164            override_database=d.get('override_database'),
7165            password=d.get('password'),
7166            port=d.get('port'),
7167            port_override=d.get('port_override'),
7168            proxy_cluster_id=d.get('proxy_cluster_id'),
7169            secret_store_id=d.get('secret_store_id'),
7170            subdomain=d.get('subdomain'),
7171            tags=d.get('tags'),
7172            use_azure_single_server_usernames=d.get(
7173                'use_azure_single_server_usernames'),
7174            username=d.get('username'),
7175        )
class AzureStore:
7178class AzureStore:
7179    __slots__ = [
7180        'id',
7181        'name',
7182        'tags',
7183        'vault_uri',
7184    ]
7185
7186    def __init__(
7187        self,
7188        id=None,
7189        name=None,
7190        tags=None,
7191        vault_uri=None,
7192    ):
7193        self.id = id if id is not None else ''
7194        '''
7195         Unique identifier of the SecretStore.
7196        '''
7197        self.name = name if name is not None else ''
7198        '''
7199         Unique human-readable name of the SecretStore.
7200        '''
7201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7202        '''
7203         Tags is a map of key, value pairs.
7204        '''
7205        self.vault_uri = vault_uri if vault_uri is not None else ''
7206        '''
7207         The URI of the key vault to target e.g. https://myvault.vault.azure.net
7208        '''
7209
7210    def __repr__(self):
7211        return '<sdm.AzureStore ' + \
7212            'id: ' + repr(self.id) + ' ' +\
7213            'name: ' + repr(self.name) + ' ' +\
7214            'tags: ' + repr(self.tags) + ' ' +\
7215            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
7216            '>'
7217
7218    def to_dict(self):
7219        return {
7220            'id': self.id,
7221            'name': self.name,
7222            'tags': self.tags,
7223            'vault_uri': self.vault_uri,
7224        }
7225
7226    @classmethod
7227    def from_dict(cls, d):
7228        return cls(
7229            id=d.get('id'),
7230            name=d.get('name'),
7231            tags=d.get('tags'),
7232            vault_uri=d.get('vault_uri'),
7233        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
7186    def __init__(
7187        self,
7188        id=None,
7189        name=None,
7190        tags=None,
7191        vault_uri=None,
7192    ):
7193        self.id = id if id is not None else ''
7194        '''
7195         Unique identifier of the SecretStore.
7196        '''
7197        self.name = name if name is not None else ''
7198        '''
7199         Unique human-readable name of the SecretStore.
7200        '''
7201        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7202        '''
7203         Tags is a map of key, value pairs.
7204        '''
7205        self.vault_uri = vault_uri if vault_uri is not None else ''
7206        '''
7207         The URI of the key vault to target e.g. https://myvault.vault.azure.net
7208        '''
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)
7218    def to_dict(self):
7219        return {
7220            'id': self.id,
7221            'name': self.name,
7222            'tags': self.tags,
7223            'vault_uri': self.vault_uri,
7224        }
@classmethod
def from_dict(cls, d)
7226    @classmethod
7227    def from_dict(cls, d):
7228        return cls(
7229            id=d.get('id'),
7230            name=d.get('name'),
7231            tags=d.get('tags'),
7232            vault_uri=d.get('vault_uri'),
7233        )
class BigQuery:
7236class BigQuery:
7237    __slots__ = [
7238        'bind_interface',
7239        'egress_filter',
7240        'endpoint',
7241        'healthy',
7242        'id',
7243        'name',
7244        'port_override',
7245        'private_key',
7246        'project',
7247        'proxy_cluster_id',
7248        'secret_store_id',
7249        'subdomain',
7250        'tags',
7251        'username',
7252    ]
7253
7254    def __init__(
7255        self,
7256        bind_interface=None,
7257        egress_filter=None,
7258        endpoint=None,
7259        healthy=None,
7260        id=None,
7261        name=None,
7262        port_override=None,
7263        private_key=None,
7264        project=None,
7265        proxy_cluster_id=None,
7266        secret_store_id=None,
7267        subdomain=None,
7268        tags=None,
7269        username=None,
7270    ):
7271        self.bind_interface = bind_interface if bind_interface is not None else ''
7272        '''
7273         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7274        '''
7275        self.egress_filter = egress_filter if egress_filter is not None else ''
7276        '''
7277         A filter applied to the routing logic to pin datasource to nodes.
7278        '''
7279        self.endpoint = endpoint if endpoint is not None else ''
7280        '''
7281         The endpoint to dial.
7282        '''
7283        self.healthy = healthy if healthy is not None else False
7284        '''
7285         True if the datasource is reachable and the credentials are valid.
7286        '''
7287        self.id = id if id is not None else ''
7288        '''
7289         Unique identifier of the Resource.
7290        '''
7291        self.name = name if name is not None else ''
7292        '''
7293         Unique human-readable name of the Resource.
7294        '''
7295        self.port_override = port_override if port_override is not None else 0
7296        '''
7297         The local port used by clients to connect to this resource.
7298        '''
7299        self.private_key = private_key if private_key is not None else ''
7300        '''
7301         The JSON Private key to authenticate with.
7302        '''
7303        self.project = project if project is not None else ''
7304        '''
7305         The project to connect to.
7306        '''
7307        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7308        '''
7309         ID of the proxy cluster for this resource, if any.
7310        '''
7311        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7312        '''
7313         ID of the secret store containing credentials for this resource, if any.
7314        '''
7315        self.subdomain = subdomain if subdomain is not None else ''
7316        '''
7317         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7318        '''
7319        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7320        '''
7321         Tags is a map of key, value pairs.
7322        '''
7323        self.username = username if username is not None else ''
7324        '''
7325         The username to authenticate with.
7326        '''
7327
7328    def __repr__(self):
7329        return '<sdm.BigQuery ' + \
7330            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7331            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7332            'endpoint: ' + repr(self.endpoint) + ' ' +\
7333            'healthy: ' + repr(self.healthy) + ' ' +\
7334            'id: ' + repr(self.id) + ' ' +\
7335            'name: ' + repr(self.name) + ' ' +\
7336            'port_override: ' + repr(self.port_override) + ' ' +\
7337            'private_key: ' + repr(self.private_key) + ' ' +\
7338            'project: ' + repr(self.project) + ' ' +\
7339            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7340            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7341            'subdomain: ' + repr(self.subdomain) + ' ' +\
7342            'tags: ' + repr(self.tags) + ' ' +\
7343            'username: ' + repr(self.username) + ' ' +\
7344            '>'
7345
7346    def to_dict(self):
7347        return {
7348            'bind_interface': self.bind_interface,
7349            'egress_filter': self.egress_filter,
7350            'endpoint': self.endpoint,
7351            'healthy': self.healthy,
7352            'id': self.id,
7353            'name': self.name,
7354            'port_override': self.port_override,
7355            'private_key': self.private_key,
7356            'project': self.project,
7357            'proxy_cluster_id': self.proxy_cluster_id,
7358            'secret_store_id': self.secret_store_id,
7359            'subdomain': self.subdomain,
7360            'tags': self.tags,
7361            'username': self.username,
7362        }
7363
7364    @classmethod
7365    def from_dict(cls, d):
7366        return cls(
7367            bind_interface=d.get('bind_interface'),
7368            egress_filter=d.get('egress_filter'),
7369            endpoint=d.get('endpoint'),
7370            healthy=d.get('healthy'),
7371            id=d.get('id'),
7372            name=d.get('name'),
7373            port_override=d.get('port_override'),
7374            private_key=d.get('private_key'),
7375            project=d.get('project'),
7376            proxy_cluster_id=d.get('proxy_cluster_id'),
7377            secret_store_id=d.get('secret_store_id'),
7378            subdomain=d.get('subdomain'),
7379            tags=d.get('tags'),
7380            username=d.get('username'),
7381        )
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)
7254    def __init__(
7255        self,
7256        bind_interface=None,
7257        egress_filter=None,
7258        endpoint=None,
7259        healthy=None,
7260        id=None,
7261        name=None,
7262        port_override=None,
7263        private_key=None,
7264        project=None,
7265        proxy_cluster_id=None,
7266        secret_store_id=None,
7267        subdomain=None,
7268        tags=None,
7269        username=None,
7270    ):
7271        self.bind_interface = bind_interface if bind_interface is not None else ''
7272        '''
7273         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7274        '''
7275        self.egress_filter = egress_filter if egress_filter is not None else ''
7276        '''
7277         A filter applied to the routing logic to pin datasource to nodes.
7278        '''
7279        self.endpoint = endpoint if endpoint is not None else ''
7280        '''
7281         The endpoint to dial.
7282        '''
7283        self.healthy = healthy if healthy is not None else False
7284        '''
7285         True if the datasource is reachable and the credentials are valid.
7286        '''
7287        self.id = id if id is not None else ''
7288        '''
7289         Unique identifier of the Resource.
7290        '''
7291        self.name = name if name is not None else ''
7292        '''
7293         Unique human-readable name of the Resource.
7294        '''
7295        self.port_override = port_override if port_override is not None else 0
7296        '''
7297         The local port used by clients to connect to this resource.
7298        '''
7299        self.private_key = private_key if private_key is not None else ''
7300        '''
7301         The JSON Private key to authenticate with.
7302        '''
7303        self.project = project if project is not None else ''
7304        '''
7305         The project to connect to.
7306        '''
7307        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7308        '''
7309         ID of the proxy cluster for this resource, if any.
7310        '''
7311        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7312        '''
7313         ID of the secret store containing credentials for this resource, if any.
7314        '''
7315        self.subdomain = subdomain if subdomain is not None else ''
7316        '''
7317         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7318        '''
7319        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7320        '''
7321         Tags is a map of key, value pairs.
7322        '''
7323        self.username = username if username is not None else ''
7324        '''
7325         The username to authenticate with.
7326        '''
bind_interface

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

The bind interface is the IP 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)
7501    def to_dict(self):
7502        return {
7503            'bind_interface': self.bind_interface,
7504            'egress_filter': self.egress_filter,
7505            'healthy': self.healthy,
7506            'hostname': self.hostname,
7507            'id': self.id,
7508            'name': self.name,
7509            'password': self.password,
7510            'port': self.port,
7511            'port_override': self.port_override,
7512            'proxy_cluster_id': self.proxy_cluster_id,
7513            'secret_store_id': self.secret_store_id,
7514            'subdomain': self.subdomain,
7515            'tags': self.tags,
7516            'tls_required': self.tls_required,
7517            'username': self.username,
7518        }
@classmethod
def from_dict(cls, d)
7520    @classmethod
7521    def from_dict(cls, d):
7522        return cls(
7523            bind_interface=d.get('bind_interface'),
7524            egress_filter=d.get('egress_filter'),
7525            healthy=d.get('healthy'),
7526            hostname=d.get('hostname'),
7527            id=d.get('id'),
7528            name=d.get('name'),
7529            password=d.get('password'),
7530            port=d.get('port'),
7531            port_override=d.get('port_override'),
7532            proxy_cluster_id=d.get('proxy_cluster_id'),
7533            secret_store_id=d.get('secret_store_id'),
7534            subdomain=d.get('subdomain'),
7535            tags=d.get('tags'),
7536            tls_required=d.get('tls_required'),
7537            username=d.get('username'),
7538        )
class Citus:
7541class Citus:
7542    __slots__ = [
7543        'bind_interface',
7544        'database',
7545        'egress_filter',
7546        'healthy',
7547        'hostname',
7548        'id',
7549        'name',
7550        'override_database',
7551        'password',
7552        'port',
7553        'port_override',
7554        'proxy_cluster_id',
7555        'secret_store_id',
7556        'subdomain',
7557        'tags',
7558        'username',
7559    ]
7560
7561    def __init__(
7562        self,
7563        bind_interface=None,
7564        database=None,
7565        egress_filter=None,
7566        healthy=None,
7567        hostname=None,
7568        id=None,
7569        name=None,
7570        override_database=None,
7571        password=None,
7572        port=None,
7573        port_override=None,
7574        proxy_cluster_id=None,
7575        secret_store_id=None,
7576        subdomain=None,
7577        tags=None,
7578        username=None,
7579    ):
7580        self.bind_interface = bind_interface if bind_interface is not None else ''
7581        '''
7582         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7583        '''
7584        self.database = database if database is not None else ''
7585        '''
7586         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7587        '''
7588        self.egress_filter = egress_filter if egress_filter is not None else ''
7589        '''
7590         A filter applied to the routing logic to pin datasource to nodes.
7591        '''
7592        self.healthy = healthy if healthy is not None else False
7593        '''
7594         True if the datasource is reachable and the credentials are valid.
7595        '''
7596        self.hostname = hostname if hostname is not None else ''
7597        '''
7598         The host to dial to initiate a connection from the egress node to this resource.
7599        '''
7600        self.id = id if id is not None else ''
7601        '''
7602         Unique identifier of the Resource.
7603        '''
7604        self.name = name if name is not None else ''
7605        '''
7606         Unique human-readable name of the Resource.
7607        '''
7608        self.override_database = override_database if override_database is not None else False
7609        '''
7610         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.
7611        '''
7612        self.password = password if password is not None else ''
7613        '''
7614         The password to authenticate with.
7615        '''
7616        self.port = port if port is not None else 0
7617        '''
7618         The port to dial to initiate a connection from the egress node to this resource.
7619        '''
7620        self.port_override = port_override if port_override is not None else 0
7621        '''
7622         The local port used by clients to connect to this resource.
7623        '''
7624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7625        '''
7626         ID of the proxy cluster for this resource, if any.
7627        '''
7628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7629        '''
7630         ID of the secret store containing credentials for this resource, if any.
7631        '''
7632        self.subdomain = subdomain if subdomain is not None else ''
7633        '''
7634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7635        '''
7636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7637        '''
7638         Tags is a map of key, value pairs.
7639        '''
7640        self.username = username if username is not None else ''
7641        '''
7642         The username to authenticate with.
7643        '''
7644
7645    def __repr__(self):
7646        return '<sdm.Citus ' + \
7647            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7648            'database: ' + repr(self.database) + ' ' +\
7649            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7650            'healthy: ' + repr(self.healthy) + ' ' +\
7651            'hostname: ' + repr(self.hostname) + ' ' +\
7652            'id: ' + repr(self.id) + ' ' +\
7653            'name: ' + repr(self.name) + ' ' +\
7654            'override_database: ' + repr(self.override_database) + ' ' +\
7655            'password: ' + repr(self.password) + ' ' +\
7656            'port: ' + repr(self.port) + ' ' +\
7657            'port_override: ' + repr(self.port_override) + ' ' +\
7658            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7659            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7660            'subdomain: ' + repr(self.subdomain) + ' ' +\
7661            'tags: ' + repr(self.tags) + ' ' +\
7662            'username: ' + repr(self.username) + ' ' +\
7663            '>'
7664
7665    def to_dict(self):
7666        return {
7667            'bind_interface': self.bind_interface,
7668            'database': self.database,
7669            'egress_filter': self.egress_filter,
7670            'healthy': self.healthy,
7671            'hostname': self.hostname,
7672            'id': self.id,
7673            'name': self.name,
7674            'override_database': self.override_database,
7675            'password': self.password,
7676            'port': self.port,
7677            'port_override': self.port_override,
7678            'proxy_cluster_id': self.proxy_cluster_id,
7679            'secret_store_id': self.secret_store_id,
7680            'subdomain': self.subdomain,
7681            'tags': self.tags,
7682            'username': self.username,
7683        }
7684
7685    @classmethod
7686    def from_dict(cls, d):
7687        return cls(
7688            bind_interface=d.get('bind_interface'),
7689            database=d.get('database'),
7690            egress_filter=d.get('egress_filter'),
7691            healthy=d.get('healthy'),
7692            hostname=d.get('hostname'),
7693            id=d.get('id'),
7694            name=d.get('name'),
7695            override_database=d.get('override_database'),
7696            password=d.get('password'),
7697            port=d.get('port'),
7698            port_override=d.get('port_override'),
7699            proxy_cluster_id=d.get('proxy_cluster_id'),
7700            secret_store_id=d.get('secret_store_id'),
7701            subdomain=d.get('subdomain'),
7702            tags=d.get('tags'),
7703            username=d.get('username'),
7704        )
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)
7561    def __init__(
7562        self,
7563        bind_interface=None,
7564        database=None,
7565        egress_filter=None,
7566        healthy=None,
7567        hostname=None,
7568        id=None,
7569        name=None,
7570        override_database=None,
7571        password=None,
7572        port=None,
7573        port_override=None,
7574        proxy_cluster_id=None,
7575        secret_store_id=None,
7576        subdomain=None,
7577        tags=None,
7578        username=None,
7579    ):
7580        self.bind_interface = bind_interface if bind_interface is not None else ''
7581        '''
7582         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7583        '''
7584        self.database = database if database is not None else ''
7585        '''
7586         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7587        '''
7588        self.egress_filter = egress_filter if egress_filter is not None else ''
7589        '''
7590         A filter applied to the routing logic to pin datasource to nodes.
7591        '''
7592        self.healthy = healthy if healthy is not None else False
7593        '''
7594         True if the datasource is reachable and the credentials are valid.
7595        '''
7596        self.hostname = hostname if hostname is not None else ''
7597        '''
7598         The host to dial to initiate a connection from the egress node to this resource.
7599        '''
7600        self.id = id if id is not None else ''
7601        '''
7602         Unique identifier of the Resource.
7603        '''
7604        self.name = name if name is not None else ''
7605        '''
7606         Unique human-readable name of the Resource.
7607        '''
7608        self.override_database = override_database if override_database is not None else False
7609        '''
7610         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.
7611        '''
7612        self.password = password if password is not None else ''
7613        '''
7614         The password to authenticate with.
7615        '''
7616        self.port = port if port is not None else 0
7617        '''
7618         The port to dial to initiate a connection from the egress node to this resource.
7619        '''
7620        self.port_override = port_override if port_override is not None else 0
7621        '''
7622         The local port used by clients to connect to this resource.
7623        '''
7624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7625        '''
7626         ID of the proxy cluster for this resource, if any.
7627        '''
7628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7629        '''
7630         ID of the secret store containing credentials for this resource, if any.
7631        '''
7632        self.subdomain = subdomain if subdomain is not None else ''
7633        '''
7634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7635        '''
7636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7637        '''
7638         Tags is a map of key, value pairs.
7639        '''
7640        self.username = username if username is not None else ''
7641        '''
7642         The username to authenticate with.
7643        '''
bind_interface

The bind interface is the IP 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)
7665    def to_dict(self):
7666        return {
7667            'bind_interface': self.bind_interface,
7668            'database': self.database,
7669            'egress_filter': self.egress_filter,
7670            'healthy': self.healthy,
7671            'hostname': self.hostname,
7672            'id': self.id,
7673            'name': self.name,
7674            'override_database': self.override_database,
7675            'password': self.password,
7676            'port': self.port,
7677            'port_override': self.port_override,
7678            'proxy_cluster_id': self.proxy_cluster_id,
7679            'secret_store_id': self.secret_store_id,
7680            'subdomain': self.subdomain,
7681            'tags': self.tags,
7682            'username': self.username,
7683        }
@classmethod
def from_dict(cls, d)
7685    @classmethod
7686    def from_dict(cls, d):
7687        return cls(
7688            bind_interface=d.get('bind_interface'),
7689            database=d.get('database'),
7690            egress_filter=d.get('egress_filter'),
7691            healthy=d.get('healthy'),
7692            hostname=d.get('hostname'),
7693            id=d.get('id'),
7694            name=d.get('name'),
7695            override_database=d.get('override_database'),
7696            password=d.get('password'),
7697            port=d.get('port'),
7698            port_override=d.get('port_override'),
7699            proxy_cluster_id=d.get('proxy_cluster_id'),
7700            secret_store_id=d.get('secret_store_id'),
7701            subdomain=d.get('subdomain'),
7702            tags=d.get('tags'),
7703            username=d.get('username'),
7704        )
class Clustrix:
7707class Clustrix:
7708    __slots__ = [
7709        'bind_interface',
7710        'database',
7711        'egress_filter',
7712        'healthy',
7713        'hostname',
7714        'id',
7715        'name',
7716        'password',
7717        'port',
7718        'port_override',
7719        'proxy_cluster_id',
7720        'require_native_auth',
7721        'secret_store_id',
7722        'subdomain',
7723        'tags',
7724        'use_azure_single_server_usernames',
7725        'username',
7726    ]
7727
7728    def __init__(
7729        self,
7730        bind_interface=None,
7731        database=None,
7732        egress_filter=None,
7733        healthy=None,
7734        hostname=None,
7735        id=None,
7736        name=None,
7737        password=None,
7738        port=None,
7739        port_override=None,
7740        proxy_cluster_id=None,
7741        require_native_auth=None,
7742        secret_store_id=None,
7743        subdomain=None,
7744        tags=None,
7745        use_azure_single_server_usernames=None,
7746        username=None,
7747    ):
7748        self.bind_interface = bind_interface if bind_interface is not None else ''
7749        '''
7750         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7751        '''
7752        self.database = database if database is not None else ''
7753        '''
7754         The database for healthchecks. Does not affect client requests.
7755        '''
7756        self.egress_filter = egress_filter if egress_filter is not None else ''
7757        '''
7758         A filter applied to the routing logic to pin datasource to nodes.
7759        '''
7760        self.healthy = healthy if healthy is not None else False
7761        '''
7762         True if the datasource is reachable and the credentials are valid.
7763        '''
7764        self.hostname = hostname if hostname is not None else ''
7765        '''
7766         The host to dial to initiate a connection from the egress node to this resource.
7767        '''
7768        self.id = id if id is not None else ''
7769        '''
7770         Unique identifier of the Resource.
7771        '''
7772        self.name = name if name is not None else ''
7773        '''
7774         Unique human-readable name of the Resource.
7775        '''
7776        self.password = password if password is not None else ''
7777        '''
7778         The password to authenticate with.
7779        '''
7780        self.port = port if port is not None else 0
7781        '''
7782         The port to dial to initiate a connection from the egress node to this resource.
7783        '''
7784        self.port_override = port_override if port_override is not None else 0
7785        '''
7786         The local port used by clients to connect to this resource.
7787        '''
7788        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7789        '''
7790         ID of the proxy cluster for this resource, if any.
7791        '''
7792        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7793        '''
7794         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7809        '''
7810         If true, appends the hostname to the username when hitting a database.azure.com address
7811        '''
7812        self.username = username if username is not None else ''
7813        '''
7814         The username to authenticate with.
7815        '''
7816
7817    def __repr__(self):
7818        return '<sdm.Clustrix ' + \
7819            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7820            'database: ' + repr(self.database) + ' ' +\
7821            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7822            'healthy: ' + repr(self.healthy) + ' ' +\
7823            'hostname: ' + repr(self.hostname) + ' ' +\
7824            'id: ' + repr(self.id) + ' ' +\
7825            'name: ' + repr(self.name) + ' ' +\
7826            'password: ' + repr(self.password) + ' ' +\
7827            'port: ' + repr(self.port) + ' ' +\
7828            'port_override: ' + repr(self.port_override) + ' ' +\
7829            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7830            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7831            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7832            'subdomain: ' + repr(self.subdomain) + ' ' +\
7833            'tags: ' + repr(self.tags) + ' ' +\
7834            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7835            'username: ' + repr(self.username) + ' ' +\
7836            '>'
7837
7838    def to_dict(self):
7839        return {
7840            'bind_interface': self.bind_interface,
7841            'database': self.database,
7842            'egress_filter': self.egress_filter,
7843            'healthy': self.healthy,
7844            'hostname': self.hostname,
7845            'id': self.id,
7846            'name': self.name,
7847            'password': self.password,
7848            'port': self.port,
7849            'port_override': self.port_override,
7850            'proxy_cluster_id': self.proxy_cluster_id,
7851            'require_native_auth': self.require_native_auth,
7852            'secret_store_id': self.secret_store_id,
7853            'subdomain': self.subdomain,
7854            'tags': self.tags,
7855            'use_azure_single_server_usernames':
7856            self.use_azure_single_server_usernames,
7857            'username': self.username,
7858        }
7859
7860    @classmethod
7861    def from_dict(cls, d):
7862        return cls(
7863            bind_interface=d.get('bind_interface'),
7864            database=d.get('database'),
7865            egress_filter=d.get('egress_filter'),
7866            healthy=d.get('healthy'),
7867            hostname=d.get('hostname'),
7868            id=d.get('id'),
7869            name=d.get('name'),
7870            password=d.get('password'),
7871            port=d.get('port'),
7872            port_override=d.get('port_override'),
7873            proxy_cluster_id=d.get('proxy_cluster_id'),
7874            require_native_auth=d.get('require_native_auth'),
7875            secret_store_id=d.get('secret_store_id'),
7876            subdomain=d.get('subdomain'),
7877            tags=d.get('tags'),
7878            use_azure_single_server_usernames=d.get(
7879                'use_azure_single_server_usernames'),
7880            username=d.get('username'),
7881        )
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)
7728    def __init__(
7729        self,
7730        bind_interface=None,
7731        database=None,
7732        egress_filter=None,
7733        healthy=None,
7734        hostname=None,
7735        id=None,
7736        name=None,
7737        password=None,
7738        port=None,
7739        port_override=None,
7740        proxy_cluster_id=None,
7741        require_native_auth=None,
7742        secret_store_id=None,
7743        subdomain=None,
7744        tags=None,
7745        use_azure_single_server_usernames=None,
7746        username=None,
7747    ):
7748        self.bind_interface = bind_interface if bind_interface is not None else ''
7749        '''
7750         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7751        '''
7752        self.database = database if database is not None else ''
7753        '''
7754         The database for healthchecks. Does not affect client requests.
7755        '''
7756        self.egress_filter = egress_filter if egress_filter is not None else ''
7757        '''
7758         A filter applied to the routing logic to pin datasource to nodes.
7759        '''
7760        self.healthy = healthy if healthy is not None else False
7761        '''
7762         True if the datasource is reachable and the credentials are valid.
7763        '''
7764        self.hostname = hostname if hostname is not None else ''
7765        '''
7766         The host to dial to initiate a connection from the egress node to this resource.
7767        '''
7768        self.id = id if id is not None else ''
7769        '''
7770         Unique identifier of the Resource.
7771        '''
7772        self.name = name if name is not None else ''
7773        '''
7774         Unique human-readable name of the Resource.
7775        '''
7776        self.password = password if password is not None else ''
7777        '''
7778         The password to authenticate with.
7779        '''
7780        self.port = port if port is not None else 0
7781        '''
7782         The port to dial to initiate a connection from the egress node to this resource.
7783        '''
7784        self.port_override = port_override if port_override is not None else 0
7785        '''
7786         The local port used by clients to connect to this resource.
7787        '''
7788        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7789        '''
7790         ID of the proxy cluster for this resource, if any.
7791        '''
7792        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7793        '''
7794         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7809        '''
7810         If true, appends the hostname to the username when hitting a database.azure.com address
7811        '''
7812        self.username = username if username is not None else ''
7813        '''
7814         The username to authenticate with.
7815        '''
bind_interface

The bind interface is the IP 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)
7838    def to_dict(self):
7839        return {
7840            'bind_interface': self.bind_interface,
7841            'database': self.database,
7842            'egress_filter': self.egress_filter,
7843            'healthy': self.healthy,
7844            'hostname': self.hostname,
7845            'id': self.id,
7846            'name': self.name,
7847            'password': self.password,
7848            'port': self.port,
7849            'port_override': self.port_override,
7850            'proxy_cluster_id': self.proxy_cluster_id,
7851            'require_native_auth': self.require_native_auth,
7852            'secret_store_id': self.secret_store_id,
7853            'subdomain': self.subdomain,
7854            'tags': self.tags,
7855            'use_azure_single_server_usernames':
7856            self.use_azure_single_server_usernames,
7857            'username': self.username,
7858        }
@classmethod
def from_dict(cls, d)
7860    @classmethod
7861    def from_dict(cls, d):
7862        return cls(
7863            bind_interface=d.get('bind_interface'),
7864            database=d.get('database'),
7865            egress_filter=d.get('egress_filter'),
7866            healthy=d.get('healthy'),
7867            hostname=d.get('hostname'),
7868            id=d.get('id'),
7869            name=d.get('name'),
7870            password=d.get('password'),
7871            port=d.get('port'),
7872            port_override=d.get('port_override'),
7873            proxy_cluster_id=d.get('proxy_cluster_id'),
7874            require_native_auth=d.get('require_native_auth'),
7875            secret_store_id=d.get('secret_store_id'),
7876            subdomain=d.get('subdomain'),
7877            tags=d.get('tags'),
7878            use_azure_single_server_usernames=d.get(
7879                'use_azure_single_server_usernames'),
7880            username=d.get('username'),
7881        )
class Cockroach:
7884class Cockroach:
7885    __slots__ = [
7886        'bind_interface',
7887        'database',
7888        'egress_filter',
7889        'healthy',
7890        'hostname',
7891        'id',
7892        'name',
7893        'override_database',
7894        'password',
7895        'port',
7896        'port_override',
7897        'proxy_cluster_id',
7898        'secret_store_id',
7899        'subdomain',
7900        'tags',
7901        'username',
7902    ]
7903
7904    def __init__(
7905        self,
7906        bind_interface=None,
7907        database=None,
7908        egress_filter=None,
7909        healthy=None,
7910        hostname=None,
7911        id=None,
7912        name=None,
7913        override_database=None,
7914        password=None,
7915        port=None,
7916        port_override=None,
7917        proxy_cluster_id=None,
7918        secret_store_id=None,
7919        subdomain=None,
7920        tags=None,
7921        username=None,
7922    ):
7923        self.bind_interface = bind_interface if bind_interface is not None else ''
7924        '''
7925         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7926        '''
7927        self.database = database if database is not None else ''
7928        '''
7929         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7930        '''
7931        self.egress_filter = egress_filter if egress_filter is not None else ''
7932        '''
7933         A filter applied to the routing logic to pin datasource to nodes.
7934        '''
7935        self.healthy = healthy if healthy is not None else False
7936        '''
7937         True if the datasource is reachable and the credentials are valid.
7938        '''
7939        self.hostname = hostname if hostname is not None else ''
7940        '''
7941         The host to dial to initiate a connection from the egress node to this resource.
7942        '''
7943        self.id = id if id is not None else ''
7944        '''
7945         Unique identifier of the Resource.
7946        '''
7947        self.name = name if name is not None else ''
7948        '''
7949         Unique human-readable name of the Resource.
7950        '''
7951        self.override_database = override_database if override_database is not None else False
7952        '''
7953         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.
7954        '''
7955        self.password = password if password is not None else ''
7956        '''
7957         The password to authenticate with.
7958        '''
7959        self.port = port if port is not None else 0
7960        '''
7961         The port to dial to initiate a connection from the egress node to this resource.
7962        '''
7963        self.port_override = port_override if port_override is not None else 0
7964        '''
7965         The local port used by clients to connect to this resource.
7966        '''
7967        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7968        '''
7969         ID of the proxy cluster for this resource, if any.
7970        '''
7971        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7972        '''
7973         ID of the secret store containing credentials for this resource, if any.
7974        '''
7975        self.subdomain = subdomain if subdomain is not None else ''
7976        '''
7977         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7978        '''
7979        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7980        '''
7981         Tags is a map of key, value pairs.
7982        '''
7983        self.username = username if username is not None else ''
7984        '''
7985         The username to authenticate with.
7986        '''
7987
7988    def __repr__(self):
7989        return '<sdm.Cockroach ' + \
7990            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7991            'database: ' + repr(self.database) + ' ' +\
7992            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7993            'healthy: ' + repr(self.healthy) + ' ' +\
7994            'hostname: ' + repr(self.hostname) + ' ' +\
7995            'id: ' + repr(self.id) + ' ' +\
7996            'name: ' + repr(self.name) + ' ' +\
7997            'override_database: ' + repr(self.override_database) + ' ' +\
7998            'password: ' + repr(self.password) + ' ' +\
7999            'port: ' + repr(self.port) + ' ' +\
8000            'port_override: ' + repr(self.port_override) + ' ' +\
8001            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8002            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8003            'subdomain: ' + repr(self.subdomain) + ' ' +\
8004            'tags: ' + repr(self.tags) + ' ' +\
8005            'username: ' + repr(self.username) + ' ' +\
8006            '>'
8007
8008    def to_dict(self):
8009        return {
8010            'bind_interface': self.bind_interface,
8011            'database': self.database,
8012            'egress_filter': self.egress_filter,
8013            'healthy': self.healthy,
8014            'hostname': self.hostname,
8015            'id': self.id,
8016            'name': self.name,
8017            'override_database': self.override_database,
8018            'password': self.password,
8019            'port': self.port,
8020            'port_override': self.port_override,
8021            'proxy_cluster_id': self.proxy_cluster_id,
8022            'secret_store_id': self.secret_store_id,
8023            'subdomain': self.subdomain,
8024            'tags': self.tags,
8025            'username': self.username,
8026        }
8027
8028    @classmethod
8029    def from_dict(cls, d):
8030        return cls(
8031            bind_interface=d.get('bind_interface'),
8032            database=d.get('database'),
8033            egress_filter=d.get('egress_filter'),
8034            healthy=d.get('healthy'),
8035            hostname=d.get('hostname'),
8036            id=d.get('id'),
8037            name=d.get('name'),
8038            override_database=d.get('override_database'),
8039            password=d.get('password'),
8040            port=d.get('port'),
8041            port_override=d.get('port_override'),
8042            proxy_cluster_id=d.get('proxy_cluster_id'),
8043            secret_store_id=d.get('secret_store_id'),
8044            subdomain=d.get('subdomain'),
8045            tags=d.get('tags'),
8046            username=d.get('username'),
8047        )
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)
7904    def __init__(
7905        self,
7906        bind_interface=None,
7907        database=None,
7908        egress_filter=None,
7909        healthy=None,
7910        hostname=None,
7911        id=None,
7912        name=None,
7913        override_database=None,
7914        password=None,
7915        port=None,
7916        port_override=None,
7917        proxy_cluster_id=None,
7918        secret_store_id=None,
7919        subdomain=None,
7920        tags=None,
7921        username=None,
7922    ):
7923        self.bind_interface = bind_interface if bind_interface is not None else ''
7924        '''
7925         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7926        '''
7927        self.database = database if database is not None else ''
7928        '''
7929         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7930        '''
7931        self.egress_filter = egress_filter if egress_filter is not None else ''
7932        '''
7933         A filter applied to the routing logic to pin datasource to nodes.
7934        '''
7935        self.healthy = healthy if healthy is not None else False
7936        '''
7937         True if the datasource is reachable and the credentials are valid.
7938        '''
7939        self.hostname = hostname if hostname is not None else ''
7940        '''
7941         The host to dial to initiate a connection from the egress node to this resource.
7942        '''
7943        self.id = id if id is not None else ''
7944        '''
7945         Unique identifier of the Resource.
7946        '''
7947        self.name = name if name is not None else ''
7948        '''
7949         Unique human-readable name of the Resource.
7950        '''
7951        self.override_database = override_database if override_database is not None else False
7952        '''
7953         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.
7954        '''
7955        self.password = password if password is not None else ''
7956        '''
7957         The password to authenticate with.
7958        '''
7959        self.port = port if port is not None else 0
7960        '''
7961         The port to dial to initiate a connection from the egress node to this resource.
7962        '''
7963        self.port_override = port_override if port_override is not None else 0
7964        '''
7965         The local port used by clients to connect to this resource.
7966        '''
7967        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7968        '''
7969         ID of the proxy cluster for this resource, if any.
7970        '''
7971        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7972        '''
7973         ID of the secret store containing credentials for this resource, if any.
7974        '''
7975        self.subdomain = subdomain if subdomain is not None else ''
7976        '''
7977         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7978        '''
7979        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7980        '''
7981         Tags is a map of key, value pairs.
7982        '''
7983        self.username = username if username is not None else ''
7984        '''
7985         The username to authenticate with.
7986        '''
bind_interface

The bind interface is the IP 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)
8008    def to_dict(self):
8009        return {
8010            'bind_interface': self.bind_interface,
8011            'database': self.database,
8012            'egress_filter': self.egress_filter,
8013            'healthy': self.healthy,
8014            'hostname': self.hostname,
8015            'id': self.id,
8016            'name': self.name,
8017            'override_database': self.override_database,
8018            'password': self.password,
8019            'port': self.port,
8020            'port_override': self.port_override,
8021            'proxy_cluster_id': self.proxy_cluster_id,
8022            'secret_store_id': self.secret_store_id,
8023            'subdomain': self.subdomain,
8024            'tags': self.tags,
8025            'username': self.username,
8026        }
@classmethod
def from_dict(cls, d)
8028    @classmethod
8029    def from_dict(cls, d):
8030        return cls(
8031            bind_interface=d.get('bind_interface'),
8032            database=d.get('database'),
8033            egress_filter=d.get('egress_filter'),
8034            healthy=d.get('healthy'),
8035            hostname=d.get('hostname'),
8036            id=d.get('id'),
8037            name=d.get('name'),
8038            override_database=d.get('override_database'),
8039            password=d.get('password'),
8040            port=d.get('port'),
8041            port_override=d.get('port_override'),
8042            proxy_cluster_id=d.get('proxy_cluster_id'),
8043            secret_store_id=d.get('secret_store_id'),
8044            subdomain=d.get('subdomain'),
8045            tags=d.get('tags'),
8046            username=d.get('username'),
8047        )
class ControlPanelGetRDPCAPublicKeyResponse:
8050class ControlPanelGetRDPCAPublicKeyResponse:
8051    '''
8052         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
8053     organization's RDP Certificate Authority public key.
8054    '''
8055    __slots__ = [
8056        'meta',
8057        'public_key',
8058        'rate_limit',
8059    ]
8060
8061    def __init__(
8062        self,
8063        meta=None,
8064        public_key=None,
8065        rate_limit=None,
8066    ):
8067        self.meta = meta if meta is not None else None
8068        '''
8069         Reserved for future use.
8070        '''
8071        self.public_key = public_key if public_key is not None else ''
8072        '''
8073         The public key of the SSH Certificate Authority, in OpenSSH RSA public
8074         key format.
8075        '''
8076        self.rate_limit = rate_limit if rate_limit is not None else None
8077        '''
8078         Rate limit information.
8079        '''
8080
8081    def __repr__(self):
8082        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
8083            'meta: ' + repr(self.meta) + ' ' +\
8084            'public_key: ' + repr(self.public_key) + ' ' +\
8085            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
8086            '>'
8087
8088    def to_dict(self):
8089        return {
8090            'meta': self.meta,
8091            'public_key': self.public_key,
8092            'rate_limit': self.rate_limit,
8093        }
8094
8095    @classmethod
8096    def from_dict(cls, d):
8097        return cls(
8098            meta=d.get('meta'),
8099            public_key=d.get('public_key'),
8100            rate_limit=d.get('rate_limit'),
8101        )

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
8061    def __init__(
8062        self,
8063        meta=None,
8064        public_key=None,
8065        rate_limit=None,
8066    ):
8067        self.meta = meta if meta is not None else None
8068        '''
8069         Reserved for future use.
8070        '''
8071        self.public_key = public_key if public_key is not None else ''
8072        '''
8073         The public key of the SSH Certificate Authority, in OpenSSH RSA public
8074         key format.
8075        '''
8076        self.rate_limit = rate_limit if rate_limit is not None else None
8077        '''
8078         Rate limit information.
8079        '''
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)
8088    def to_dict(self):
8089        return {
8090            'meta': self.meta,
8091            'public_key': self.public_key,
8092            'rate_limit': self.rate_limit,
8093        }
@classmethod
def from_dict(cls, d)
8095    @classmethod
8096    def from_dict(cls, d):
8097        return cls(
8098            meta=d.get('meta'),
8099            public_key=d.get('public_key'),
8100            rate_limit=d.get('rate_limit'),
8101        )
class ControlPanelGetSSHCAPublicKeyResponse:
8104class ControlPanelGetSSHCAPublicKeyResponse:
8105    '''
8106         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
8107     organization's SSH Certificate Authority public key.
8108    '''
8109    __slots__ = [
8110        'meta',
8111        'public_key',
8112        'rate_limit',
8113    ]
8114
8115    def __init__(
8116        self,
8117        meta=None,
8118        public_key=None,
8119        rate_limit=None,
8120    ):
8121        self.meta = meta if meta is not None else None
8122        '''
8123         Reserved for future use.
8124        '''
8125        self.public_key = public_key if public_key is not None else ''
8126        '''
8127         The public key of the SSH Certificate Authority, in OpenSSH RSA public
8128         key format.
8129        '''
8130        self.rate_limit = rate_limit if rate_limit is not None else None
8131        '''
8132         Rate limit information.
8133        '''
8134
8135    def __repr__(self):
8136        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
8137            'meta: ' + repr(self.meta) + ' ' +\
8138            'public_key: ' + repr(self.public_key) + ' ' +\
8139            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
8140            '>'
8141
8142    def to_dict(self):
8143        return {
8144            'meta': self.meta,
8145            'public_key': self.public_key,
8146            'rate_limit': self.rate_limit,
8147        }
8148
8149    @classmethod
8150    def from_dict(cls, d):
8151        return cls(
8152            meta=d.get('meta'),
8153            public_key=d.get('public_key'),
8154            rate_limit=d.get('rate_limit'),
8155        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
8115    def __init__(
8116        self,
8117        meta=None,
8118        public_key=None,
8119        rate_limit=None,
8120    ):
8121        self.meta = meta if meta is not None else None
8122        '''
8123         Reserved for future use.
8124        '''
8125        self.public_key = public_key if public_key is not None else ''
8126        '''
8127         The public key of the SSH Certificate Authority, in OpenSSH RSA public
8128         key format.
8129        '''
8130        self.rate_limit = rate_limit if rate_limit is not None else None
8131        '''
8132         Rate limit information.
8133        '''
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)
8142    def to_dict(self):
8143        return {
8144            'meta': self.meta,
8145            'public_key': self.public_key,
8146            'rate_limit': self.rate_limit,
8147        }
@classmethod
def from_dict(cls, d)
8149    @classmethod
8150    def from_dict(cls, d):
8151        return cls(
8152            meta=d.get('meta'),
8153            public_key=d.get('public_key'),
8154            rate_limit=d.get('rate_limit'),
8155        )
class ControlPanelVerifyJWTResponse:
8158class ControlPanelVerifyJWTResponse:
8159    '''
8160         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
8161    '''
8162    __slots__ = [
8163        'meta',
8164        'rate_limit',
8165        'valid',
8166    ]
8167
8168    def __init__(
8169        self,
8170        meta=None,
8171        rate_limit=None,
8172        valid=None,
8173    ):
8174        self.meta = meta if meta is not None else None
8175        '''
8176         Reserved for future use.
8177        '''
8178        self.rate_limit = rate_limit if rate_limit is not None else None
8179        '''
8180         Rate limit information.
8181        '''
8182        self.valid = valid if valid is not None else False
8183        '''
8184         Reports if the given token is valid.
8185        '''
8186
8187    def __repr__(self):
8188        return '<sdm.ControlPanelVerifyJWTResponse ' + \
8189            'meta: ' + repr(self.meta) + ' ' +\
8190            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
8191            'valid: ' + repr(self.valid) + ' ' +\
8192            '>'
8193
8194    def to_dict(self):
8195        return {
8196            'meta': self.meta,
8197            'rate_limit': self.rate_limit,
8198            'valid': self.valid,
8199        }
8200
8201    @classmethod
8202    def from_dict(cls, d):
8203        return cls(
8204            meta=d.get('meta'),
8205            rate_limit=d.get('rate_limit'),
8206            valid=d.get('valid'),
8207        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
8168    def __init__(
8169        self,
8170        meta=None,
8171        rate_limit=None,
8172        valid=None,
8173    ):
8174        self.meta = meta if meta is not None else None
8175        '''
8176         Reserved for future use.
8177        '''
8178        self.rate_limit = rate_limit if rate_limit is not None else None
8179        '''
8180         Rate limit information.
8181        '''
8182        self.valid = valid if valid is not None else False
8183        '''
8184         Reports if the given token is valid.
8185        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
8194    def to_dict(self):
8195        return {
8196            'meta': self.meta,
8197            'rate_limit': self.rate_limit,
8198            'valid': self.valid,
8199        }
@classmethod
def from_dict(cls, d)
8201    @classmethod
8202    def from_dict(cls, d):
8203        return cls(
8204            meta=d.get('meta'),
8205            rate_limit=d.get('rate_limit'),
8206            valid=d.get('valid'),
8207        )
class CouchbaseDatabase:
8210class CouchbaseDatabase:
8211    __slots__ = [
8212        'bind_interface',
8213        'egress_filter',
8214        'healthy',
8215        'hostname',
8216        'id',
8217        'n1ql_port',
8218        'name',
8219        'password',
8220        'port',
8221        'port_override',
8222        'proxy_cluster_id',
8223        'secret_store_id',
8224        'subdomain',
8225        'tags',
8226        'tls_required',
8227        'username',
8228    ]
8229
8230    def __init__(
8231        self,
8232        bind_interface=None,
8233        egress_filter=None,
8234        healthy=None,
8235        hostname=None,
8236        id=None,
8237        n1ql_port=None,
8238        name=None,
8239        password=None,
8240        port=None,
8241        port_override=None,
8242        proxy_cluster_id=None,
8243        secret_store_id=None,
8244        subdomain=None,
8245        tags=None,
8246        tls_required=None,
8247        username=None,
8248    ):
8249        self.bind_interface = bind_interface if bind_interface is not None else ''
8250        '''
8251         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8252        '''
8253        self.egress_filter = egress_filter if egress_filter is not None else ''
8254        '''
8255         A filter applied to the routing logic to pin datasource to nodes.
8256        '''
8257        self.healthy = healthy if healthy is not None else False
8258        '''
8259         True if the datasource is reachable and the credentials are valid.
8260        '''
8261        self.hostname = hostname if hostname is not None else ''
8262        '''
8263         The host to dial to initiate a connection from the egress node to this resource.
8264        '''
8265        self.id = id if id is not None else ''
8266        '''
8267         Unique identifier of the Resource.
8268        '''
8269        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
8270        '''
8271         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
8272        '''
8273        self.name = name if name is not None else ''
8274        '''
8275         Unique human-readable name of the Resource.
8276        '''
8277        self.password = password if password is not None else ''
8278        '''
8279         The password to authenticate with.
8280        '''
8281        self.port = port if port is not None else 0
8282        '''
8283         The port to dial to initiate a connection from the egress node to this resource.
8284        '''
8285        self.port_override = port_override if port_override is not None else 0
8286        '''
8287         The local port used by clients to connect to this resource.
8288        '''
8289        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8290        '''
8291         ID of the proxy cluster for this resource, if any.
8292        '''
8293        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8294        '''
8295         ID of the secret store containing credentials for this resource, if any.
8296        '''
8297        self.subdomain = subdomain if subdomain is not None else ''
8298        '''
8299         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8300        '''
8301        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8302        '''
8303         Tags is a map of key, value pairs.
8304        '''
8305        self.tls_required = tls_required if tls_required is not None else False
8306        '''
8307         If set, TLS must be used to connect to this resource.
8308        '''
8309        self.username = username if username is not None else ''
8310        '''
8311         The username to authenticate with.
8312        '''
8313
8314    def __repr__(self):
8315        return '<sdm.CouchbaseDatabase ' + \
8316            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8317            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8318            'healthy: ' + repr(self.healthy) + ' ' +\
8319            'hostname: ' + repr(self.hostname) + ' ' +\
8320            'id: ' + repr(self.id) + ' ' +\
8321            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
8322            'name: ' + repr(self.name) + ' ' +\
8323            'password: ' + repr(self.password) + ' ' +\
8324            'port: ' + repr(self.port) + ' ' +\
8325            'port_override: ' + repr(self.port_override) + ' ' +\
8326            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8327            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8328            'subdomain: ' + repr(self.subdomain) + ' ' +\
8329            'tags: ' + repr(self.tags) + ' ' +\
8330            'tls_required: ' + repr(self.tls_required) + ' ' +\
8331            'username: ' + repr(self.username) + ' ' +\
8332            '>'
8333
8334    def to_dict(self):
8335        return {
8336            'bind_interface': self.bind_interface,
8337            'egress_filter': self.egress_filter,
8338            'healthy': self.healthy,
8339            'hostname': self.hostname,
8340            'id': self.id,
8341            'n1ql_port': self.n1ql_port,
8342            'name': self.name,
8343            'password': self.password,
8344            'port': self.port,
8345            'port_override': self.port_override,
8346            'proxy_cluster_id': self.proxy_cluster_id,
8347            'secret_store_id': self.secret_store_id,
8348            'subdomain': self.subdomain,
8349            'tags': self.tags,
8350            'tls_required': self.tls_required,
8351            'username': self.username,
8352        }
8353
8354    @classmethod
8355    def from_dict(cls, d):
8356        return cls(
8357            bind_interface=d.get('bind_interface'),
8358            egress_filter=d.get('egress_filter'),
8359            healthy=d.get('healthy'),
8360            hostname=d.get('hostname'),
8361            id=d.get('id'),
8362            n1ql_port=d.get('n1ql_port'),
8363            name=d.get('name'),
8364            password=d.get('password'),
8365            port=d.get('port'),
8366            port_override=d.get('port_override'),
8367            proxy_cluster_id=d.get('proxy_cluster_id'),
8368            secret_store_id=d.get('secret_store_id'),
8369            subdomain=d.get('subdomain'),
8370            tags=d.get('tags'),
8371            tls_required=d.get('tls_required'),
8372            username=d.get('username'),
8373        )
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)
8230    def __init__(
8231        self,
8232        bind_interface=None,
8233        egress_filter=None,
8234        healthy=None,
8235        hostname=None,
8236        id=None,
8237        n1ql_port=None,
8238        name=None,
8239        password=None,
8240        port=None,
8241        port_override=None,
8242        proxy_cluster_id=None,
8243        secret_store_id=None,
8244        subdomain=None,
8245        tags=None,
8246        tls_required=None,
8247        username=None,
8248    ):
8249        self.bind_interface = bind_interface if bind_interface is not None else ''
8250        '''
8251         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8252        '''
8253        self.egress_filter = egress_filter if egress_filter is not None else ''
8254        '''
8255         A filter applied to the routing logic to pin datasource to nodes.
8256        '''
8257        self.healthy = healthy if healthy is not None else False
8258        '''
8259         True if the datasource is reachable and the credentials are valid.
8260        '''
8261        self.hostname = hostname if hostname is not None else ''
8262        '''
8263         The host to dial to initiate a connection from the egress node to this resource.
8264        '''
8265        self.id = id if id is not None else ''
8266        '''
8267         Unique identifier of the Resource.
8268        '''
8269        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
8270        '''
8271         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
8272        '''
8273        self.name = name if name is not None else ''
8274        '''
8275         Unique human-readable name of the Resource.
8276        '''
8277        self.password = password if password is not None else ''
8278        '''
8279         The password to authenticate with.
8280        '''
8281        self.port = port if port is not None else 0
8282        '''
8283         The port to dial to initiate a connection from the egress node to this resource.
8284        '''
8285        self.port_override = port_override if port_override is not None else 0
8286        '''
8287         The local port used by clients to connect to this resource.
8288        '''
8289        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8290        '''
8291         ID of the proxy cluster for this resource, if any.
8292        '''
8293        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8294        '''
8295         ID of the secret store containing credentials for this resource, if any.
8296        '''
8297        self.subdomain = subdomain if subdomain is not None else ''
8298        '''
8299         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8300        '''
8301        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8302        '''
8303         Tags is a map of key, value pairs.
8304        '''
8305        self.tls_required = tls_required if tls_required is not None else False
8306        '''
8307         If set, TLS must be used to connect to this resource.
8308        '''
8309        self.username = username if username is not None else ''
8310        '''
8311         The username to authenticate with.
8312        '''
bind_interface

The bind interface is the IP 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)
8334    def to_dict(self):
8335        return {
8336            'bind_interface': self.bind_interface,
8337            'egress_filter': self.egress_filter,
8338            'healthy': self.healthy,
8339            'hostname': self.hostname,
8340            'id': self.id,
8341            'n1ql_port': self.n1ql_port,
8342            'name': self.name,
8343            'password': self.password,
8344            'port': self.port,
8345            'port_override': self.port_override,
8346            'proxy_cluster_id': self.proxy_cluster_id,
8347            'secret_store_id': self.secret_store_id,
8348            'subdomain': self.subdomain,
8349            'tags': self.tags,
8350            'tls_required': self.tls_required,
8351            'username': self.username,
8352        }
@classmethod
def from_dict(cls, d)
8354    @classmethod
8355    def from_dict(cls, d):
8356        return cls(
8357            bind_interface=d.get('bind_interface'),
8358            egress_filter=d.get('egress_filter'),
8359            healthy=d.get('healthy'),
8360            hostname=d.get('hostname'),
8361            id=d.get('id'),
8362            n1ql_port=d.get('n1ql_port'),
8363            name=d.get('name'),
8364            password=d.get('password'),
8365            port=d.get('port'),
8366            port_override=d.get('port_override'),
8367            proxy_cluster_id=d.get('proxy_cluster_id'),
8368            secret_store_id=d.get('secret_store_id'),
8369            subdomain=d.get('subdomain'),
8370            tags=d.get('tags'),
8371            tls_required=d.get('tls_required'),
8372            username=d.get('username'),
8373        )
class CouchbaseWebUI:
8376class CouchbaseWebUI:
8377    __slots__ = [
8378        'bind_interface',
8379        'egress_filter',
8380        'healthy',
8381        'id',
8382        'name',
8383        'password',
8384        'port_override',
8385        'proxy_cluster_id',
8386        'secret_store_id',
8387        'subdomain',
8388        'tags',
8389        'url',
8390        'username',
8391    ]
8392
8393    def __init__(
8394        self,
8395        bind_interface=None,
8396        egress_filter=None,
8397        healthy=None,
8398        id=None,
8399        name=None,
8400        password=None,
8401        port_override=None,
8402        proxy_cluster_id=None,
8403        secret_store_id=None,
8404        subdomain=None,
8405        tags=None,
8406        url=None,
8407        username=None,
8408    ):
8409        self.bind_interface = bind_interface if bind_interface is not None else ''
8410        '''
8411         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8412        '''
8413        self.egress_filter = egress_filter if egress_filter is not None else ''
8414        '''
8415         A filter applied to the routing logic to pin datasource to nodes.
8416        '''
8417        self.healthy = healthy if healthy is not None else False
8418        '''
8419         True if the datasource is reachable and the credentials are valid.
8420        '''
8421        self.id = id if id is not None else ''
8422        '''
8423         Unique identifier of the Resource.
8424        '''
8425        self.name = name if name is not None else ''
8426        '''
8427         Unique human-readable name of the Resource.
8428        '''
8429        self.password = password if password is not None else ''
8430        '''
8431         The password to authenticate with.
8432        '''
8433        self.port_override = port_override if port_override is not None else 0
8434        '''
8435         The local port used by clients to connect to this resource.
8436        '''
8437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8438        '''
8439         ID of the proxy cluster for this resource, if any.
8440        '''
8441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8442        '''
8443         ID of the secret store containing credentials for this resource, if any.
8444        '''
8445        self.subdomain = subdomain if subdomain is not None else ''
8446        '''
8447         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8448        '''
8449        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8450        '''
8451         Tags is a map of key, value pairs.
8452        '''
8453        self.url = url if url is not None else ''
8454        '''
8455         The base address of your website without the path.
8456        '''
8457        self.username = username if username is not None else ''
8458        '''
8459         The username to authenticate with.
8460        '''
8461
8462    def __repr__(self):
8463        return '<sdm.CouchbaseWebUI ' + \
8464            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8465            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8466            'healthy: ' + repr(self.healthy) + ' ' +\
8467            'id: ' + repr(self.id) + ' ' +\
8468            'name: ' + repr(self.name) + ' ' +\
8469            'password: ' + repr(self.password) + ' ' +\
8470            'port_override: ' + repr(self.port_override) + ' ' +\
8471            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8472            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8473            'subdomain: ' + repr(self.subdomain) + ' ' +\
8474            'tags: ' + repr(self.tags) + ' ' +\
8475            'url: ' + repr(self.url) + ' ' +\
8476            'username: ' + repr(self.username) + ' ' +\
8477            '>'
8478
8479    def to_dict(self):
8480        return {
8481            'bind_interface': self.bind_interface,
8482            'egress_filter': self.egress_filter,
8483            'healthy': self.healthy,
8484            'id': self.id,
8485            'name': self.name,
8486            'password': self.password,
8487            'port_override': self.port_override,
8488            'proxy_cluster_id': self.proxy_cluster_id,
8489            'secret_store_id': self.secret_store_id,
8490            'subdomain': self.subdomain,
8491            'tags': self.tags,
8492            'url': self.url,
8493            'username': self.username,
8494        }
8495
8496    @classmethod
8497    def from_dict(cls, d):
8498        return cls(
8499            bind_interface=d.get('bind_interface'),
8500            egress_filter=d.get('egress_filter'),
8501            healthy=d.get('healthy'),
8502            id=d.get('id'),
8503            name=d.get('name'),
8504            password=d.get('password'),
8505            port_override=d.get('port_override'),
8506            proxy_cluster_id=d.get('proxy_cluster_id'),
8507            secret_store_id=d.get('secret_store_id'),
8508            subdomain=d.get('subdomain'),
8509            tags=d.get('tags'),
8510            url=d.get('url'),
8511            username=d.get('username'),
8512        )
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)
8393    def __init__(
8394        self,
8395        bind_interface=None,
8396        egress_filter=None,
8397        healthy=None,
8398        id=None,
8399        name=None,
8400        password=None,
8401        port_override=None,
8402        proxy_cluster_id=None,
8403        secret_store_id=None,
8404        subdomain=None,
8405        tags=None,
8406        url=None,
8407        username=None,
8408    ):
8409        self.bind_interface = bind_interface if bind_interface is not None else ''
8410        '''
8411         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8412        '''
8413        self.egress_filter = egress_filter if egress_filter is not None else ''
8414        '''
8415         A filter applied to the routing logic to pin datasource to nodes.
8416        '''
8417        self.healthy = healthy if healthy is not None else False
8418        '''
8419         True if the datasource is reachable and the credentials are valid.
8420        '''
8421        self.id = id if id is not None else ''
8422        '''
8423         Unique identifier of the Resource.
8424        '''
8425        self.name = name if name is not None else ''
8426        '''
8427         Unique human-readable name of the Resource.
8428        '''
8429        self.password = password if password is not None else ''
8430        '''
8431         The password to authenticate with.
8432        '''
8433        self.port_override = port_override if port_override is not None else 0
8434        '''
8435         The local port used by clients to connect to this resource.
8436        '''
8437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8438        '''
8439         ID of the proxy cluster for this resource, if any.
8440        '''
8441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8442        '''
8443         ID of the secret store containing credentials for this resource, if any.
8444        '''
8445        self.subdomain = subdomain if subdomain is not None else ''
8446        '''
8447         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8448        '''
8449        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8450        '''
8451         Tags is a map of key, value pairs.
8452        '''
8453        self.url = url if url is not None else ''
8454        '''
8455         The base address of your website without the path.
8456        '''
8457        self.username = username if username is not None else ''
8458        '''
8459         The username to authenticate with.
8460        '''
bind_interface

The bind interface is the IP 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)
8479    def to_dict(self):
8480        return {
8481            'bind_interface': self.bind_interface,
8482            'egress_filter': self.egress_filter,
8483            'healthy': self.healthy,
8484            'id': self.id,
8485            'name': self.name,
8486            'password': self.password,
8487            'port_override': self.port_override,
8488            'proxy_cluster_id': self.proxy_cluster_id,
8489            'secret_store_id': self.secret_store_id,
8490            'subdomain': self.subdomain,
8491            'tags': self.tags,
8492            'url': self.url,
8493            'username': self.username,
8494        }
@classmethod
def from_dict(cls, d)
8496    @classmethod
8497    def from_dict(cls, d):
8498        return cls(
8499            bind_interface=d.get('bind_interface'),
8500            egress_filter=d.get('egress_filter'),
8501            healthy=d.get('healthy'),
8502            id=d.get('id'),
8503            name=d.get('name'),
8504            password=d.get('password'),
8505            port_override=d.get('port_override'),
8506            proxy_cluster_id=d.get('proxy_cluster_id'),
8507            secret_store_id=d.get('secret_store_id'),
8508            subdomain=d.get('subdomain'),
8509            tags=d.get('tags'),
8510            url=d.get('url'),
8511            username=d.get('username'),
8512        )
class CreateResponseMetadata:
8515class CreateResponseMetadata:
8516    '''
8517         CreateResponseMetadata is reserved for future use.
8518    '''
8519    __slots__ = []
8520
8521    def __init__(self, ):
8522        pass
8523
8524    def __repr__(self):
8525        return '<sdm.CreateResponseMetadata ' + \
8526            '>'
8527
8528    def to_dict(self):
8529        return {}
8530
8531    @classmethod
8532    def from_dict(cls, d):
8533        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
8521    def __init__(self, ):
8522        pass
def to_dict(self)
8528    def to_dict(self):
8529        return {}
@classmethod
def from_dict(cls, d)
8531    @classmethod
8532    def from_dict(cls, d):
8533        return cls()
class CyberarkConjurStore:
8536class CyberarkConjurStore:
8537    __slots__ = [
8538        'appurl',
8539        'id',
8540        'name',
8541        'tags',
8542    ]
8543
8544    def __init__(
8545        self,
8546        appurl=None,
8547        id=None,
8548        name=None,
8549        tags=None,
8550    ):
8551        self.appurl = appurl if appurl is not None else ''
8552        '''
8553         The URL of the Cyberark instance
8554        '''
8555        self.id = id if id is not None else ''
8556        '''
8557         Unique identifier of the SecretStore.
8558        '''
8559        self.name = name if name is not None else ''
8560        '''
8561         Unique human-readable name of the SecretStore.
8562        '''
8563        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8564        '''
8565         Tags is a map of key, value pairs.
8566        '''
8567
8568    def __repr__(self):
8569        return '<sdm.CyberarkConjurStore ' + \
8570            'appurl: ' + repr(self.appurl) + ' ' +\
8571            'id: ' + repr(self.id) + ' ' +\
8572            'name: ' + repr(self.name) + ' ' +\
8573            'tags: ' + repr(self.tags) + ' ' +\
8574            '>'
8575
8576    def to_dict(self):
8577        return {
8578            'appurl': self.appurl,
8579            'id': self.id,
8580            'name': self.name,
8581            'tags': self.tags,
8582        }
8583
8584    @classmethod
8585    def from_dict(cls, d):
8586        return cls(
8587            appurl=d.get('appurl'),
8588            id=d.get('id'),
8589            name=d.get('name'),
8590            tags=d.get('tags'),
8591        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
8544    def __init__(
8545        self,
8546        appurl=None,
8547        id=None,
8548        name=None,
8549        tags=None,
8550    ):
8551        self.appurl = appurl if appurl is not None else ''
8552        '''
8553         The URL of the Cyberark instance
8554        '''
8555        self.id = id if id is not None else ''
8556        '''
8557         Unique identifier of the SecretStore.
8558        '''
8559        self.name = name if name is not None else ''
8560        '''
8561         Unique human-readable name of the SecretStore.
8562        '''
8563        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8564        '''
8565         Tags is a map of key, value pairs.
8566        '''
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)
8576    def to_dict(self):
8577        return {
8578            'appurl': self.appurl,
8579            'id': self.id,
8580            'name': self.name,
8581            'tags': self.tags,
8582        }
@classmethod
def from_dict(cls, d)
8584    @classmethod
8585    def from_dict(cls, d):
8586        return cls(
8587            appurl=d.get('appurl'),
8588            id=d.get('id'),
8589            name=d.get('name'),
8590            tags=d.get('tags'),
8591        )
class CyberarkPAMExperimentalStore:
8594class CyberarkPAMExperimentalStore:
8595    '''
8596    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
8597    without a major version bump.
8598    '''
8599    __slots__ = [
8600        'appurl',
8601        'id',
8602        'name',
8603        'tags',
8604    ]
8605
8606    def __init__(
8607        self,
8608        appurl=None,
8609        id=None,
8610        name=None,
8611        tags=None,
8612    ):
8613        self.appurl = appurl if appurl is not None else ''
8614        '''
8615         The URL of the Cyberark instance
8616        '''
8617        self.id = id if id is not None else ''
8618        '''
8619         Unique identifier of the SecretStore.
8620        '''
8621        self.name = name if name is not None else ''
8622        '''
8623         Unique human-readable name of the SecretStore.
8624        '''
8625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8626        '''
8627         Tags is a map of key, value pairs.
8628        '''
8629
8630    def __repr__(self):
8631        return '<sdm.CyberarkPAMExperimentalStore ' + \
8632            'appurl: ' + repr(self.appurl) + ' ' +\
8633            'id: ' + repr(self.id) + ' ' +\
8634            'name: ' + repr(self.name) + ' ' +\
8635            'tags: ' + repr(self.tags) + ' ' +\
8636            '>'
8637
8638    def to_dict(self):
8639        return {
8640            'appurl': self.appurl,
8641            'id': self.id,
8642            'name': self.name,
8643            'tags': self.tags,
8644        }
8645
8646    @classmethod
8647    def from_dict(cls, d):
8648        return cls(
8649            appurl=d.get('appurl'),
8650            id=d.get('id'),
8651            name=d.get('name'),
8652            tags=d.get('tags'),
8653        )

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

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

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

The bind interface is the IP 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)
8988    def to_dict(self):
8989        return {
8990            'bind_interface': self.bind_interface,
8991            'database': self.database,
8992            'egress_filter': self.egress_filter,
8993            'healthy': self.healthy,
8994            'hostname': self.hostname,
8995            'id': self.id,
8996            'name': self.name,
8997            'password': self.password,
8998            'port': self.port,
8999            'port_override': self.port_override,
9000            'proxy_cluster_id': self.proxy_cluster_id,
9001            'secret_store_id': self.secret_store_id,
9002            'subdomain': self.subdomain,
9003            'tags': self.tags,
9004            'username': self.username,
9005        }
@classmethod
def from_dict(cls, d)
9007    @classmethod
9008    def from_dict(cls, d):
9009        return cls(
9010            bind_interface=d.get('bind_interface'),
9011            database=d.get('database'),
9012            egress_filter=d.get('egress_filter'),
9013            healthy=d.get('healthy'),
9014            hostname=d.get('hostname'),
9015            id=d.get('id'),
9016            name=d.get('name'),
9017            password=d.get('password'),
9018            port=d.get('port'),
9019            port_override=d.get('port_override'),
9020            proxy_cluster_id=d.get('proxy_cluster_id'),
9021            secret_store_id=d.get('secret_store_id'),
9022            subdomain=d.get('subdomain'),
9023            tags=d.get('tags'),
9024            username=d.get('username'),
9025        )
class DeleteResponseMetadata:
9028class DeleteResponseMetadata:
9029    '''
9030         DeleteResponseMetadata is reserved for future use.
9031    '''
9032    __slots__ = []
9033
9034    def __init__(self, ):
9035        pass
9036
9037    def __repr__(self):
9038        return '<sdm.DeleteResponseMetadata ' + \
9039            '>'
9040
9041    def to_dict(self):
9042        return {}
9043
9044    @classmethod
9045    def from_dict(cls, d):
9046        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
9034    def __init__(self, ):
9035        pass
def to_dict(self)
9041    def to_dict(self):
9042        return {}
@classmethod
def from_dict(cls, d)
9044    @classmethod
9045    def from_dict(cls, d):
9046        return cls()
class DelineaStore:
9049class DelineaStore:
9050    __slots__ = [
9051        'id',
9052        'name',
9053        'server_url',
9054        'tags',
9055        'tenant_name',
9056    ]
9057
9058    def __init__(
9059        self,
9060        id=None,
9061        name=None,
9062        server_url=None,
9063        tags=None,
9064        tenant_name=None,
9065    ):
9066        self.id = id if id is not None else ''
9067        '''
9068         Unique identifier of the SecretStore.
9069        '''
9070        self.name = name if name is not None else ''
9071        '''
9072         Unique human-readable name of the SecretStore.
9073        '''
9074        self.server_url = server_url if server_url is not None else ''
9075        '''
9076         The URL of the Delinea instance
9077        '''
9078        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9079        '''
9080         Tags is a map of key, value pairs.
9081        '''
9082        self.tenant_name = tenant_name if tenant_name is not None else ''
9083        '''
9084         The tenant name to target
9085        '''
9086
9087    def __repr__(self):
9088        return '<sdm.DelineaStore ' + \
9089            'id: ' + repr(self.id) + ' ' +\
9090            'name: ' + repr(self.name) + ' ' +\
9091            'server_url: ' + repr(self.server_url) + ' ' +\
9092            'tags: ' + repr(self.tags) + ' ' +\
9093            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
9094            '>'
9095
9096    def to_dict(self):
9097        return {
9098            'id': self.id,
9099            'name': self.name,
9100            'server_url': self.server_url,
9101            'tags': self.tags,
9102            'tenant_name': self.tenant_name,
9103        }
9104
9105    @classmethod
9106    def from_dict(cls, d):
9107        return cls(
9108            id=d.get('id'),
9109            name=d.get('name'),
9110            server_url=d.get('server_url'),
9111            tags=d.get('tags'),
9112            tenant_name=d.get('tenant_name'),
9113        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
9058    def __init__(
9059        self,
9060        id=None,
9061        name=None,
9062        server_url=None,
9063        tags=None,
9064        tenant_name=None,
9065    ):
9066        self.id = id if id is not None else ''
9067        '''
9068         Unique identifier of the SecretStore.
9069        '''
9070        self.name = name if name is not None else ''
9071        '''
9072         Unique human-readable name of the SecretStore.
9073        '''
9074        self.server_url = server_url if server_url is not None else ''
9075        '''
9076         The URL of the Delinea instance
9077        '''
9078        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9079        '''
9080         Tags is a map of key, value pairs.
9081        '''
9082        self.tenant_name = tenant_name if tenant_name is not None else ''
9083        '''
9084         The tenant name to target
9085        '''
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)
9096    def to_dict(self):
9097        return {
9098            'id': self.id,
9099            'name': self.name,
9100            'server_url': self.server_url,
9101            'tags': self.tags,
9102            'tenant_name': self.tenant_name,
9103        }
@classmethod
def from_dict(cls, d)
9105    @classmethod
9106    def from_dict(cls, d):
9107        return cls(
9108            id=d.get('id'),
9109            name=d.get('name'),
9110            server_url=d.get('server_url'),
9111            tags=d.get('tags'),
9112            tenant_name=d.get('tenant_name'),
9113        )
class DocumentDBHost:
9116class DocumentDBHost:
9117    __slots__ = [
9118        'auth_database',
9119        'bind_interface',
9120        'egress_filter',
9121        'healthy',
9122        'hostname',
9123        'id',
9124        'name',
9125        'password',
9126        'port',
9127        'port_override',
9128        'proxy_cluster_id',
9129        'secret_store_id',
9130        'subdomain',
9131        'tags',
9132        'username',
9133    ]
9134
9135    def __init__(
9136        self,
9137        auth_database=None,
9138        bind_interface=None,
9139        egress_filter=None,
9140        healthy=None,
9141        hostname=None,
9142        id=None,
9143        name=None,
9144        password=None,
9145        port=None,
9146        port_override=None,
9147        proxy_cluster_id=None,
9148        secret_store_id=None,
9149        subdomain=None,
9150        tags=None,
9151        username=None,
9152    ):
9153        self.auth_database = auth_database if auth_database is not None else ''
9154        '''
9155         The authentication database to use.
9156        '''
9157        self.bind_interface = bind_interface if bind_interface is not None else ''
9158        '''
9159         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9160        '''
9161        self.egress_filter = egress_filter if egress_filter is not None else ''
9162        '''
9163         A filter applied to the routing logic to pin datasource to nodes.
9164        '''
9165        self.healthy = healthy if healthy is not None else False
9166        '''
9167         True if the datasource is reachable and the credentials are valid.
9168        '''
9169        self.hostname = hostname if hostname is not None else ''
9170        '''
9171         The host to dial to initiate a connection from the egress node to this resource.
9172        '''
9173        self.id = id if id is not None else ''
9174        '''
9175         Unique identifier of the Resource.
9176        '''
9177        self.name = name if name is not None else ''
9178        '''
9179         Unique human-readable name of the Resource.
9180        '''
9181        self.password = password if password is not None else ''
9182        '''
9183         The password to authenticate with.
9184        '''
9185        self.port = port if port is not None else 0
9186        '''
9187         The port to dial to initiate a connection from the egress node to this resource.
9188        '''
9189        self.port_override = port_override if port_override is not None else 0
9190        '''
9191         The local port used by clients to connect to this resource.
9192        '''
9193        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9194        '''
9195         ID of the proxy cluster for this resource, if any.
9196        '''
9197        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9198        '''
9199         ID of the secret store containing credentials for this resource, if any.
9200        '''
9201        self.subdomain = subdomain if subdomain is not None else ''
9202        '''
9203         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9204        '''
9205        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9206        '''
9207         Tags is a map of key, value pairs.
9208        '''
9209        self.username = username if username is not None else ''
9210        '''
9211         The username to authenticate with.
9212        '''
9213
9214    def __repr__(self):
9215        return '<sdm.DocumentDBHost ' + \
9216            'auth_database: ' + repr(self.auth_database) + ' ' +\
9217            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9218            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9219            'healthy: ' + repr(self.healthy) + ' ' +\
9220            'hostname: ' + repr(self.hostname) + ' ' +\
9221            'id: ' + repr(self.id) + ' ' +\
9222            'name: ' + repr(self.name) + ' ' +\
9223            'password: ' + repr(self.password) + ' ' +\
9224            'port: ' + repr(self.port) + ' ' +\
9225            'port_override: ' + repr(self.port_override) + ' ' +\
9226            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9227            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9228            'subdomain: ' + repr(self.subdomain) + ' ' +\
9229            'tags: ' + repr(self.tags) + ' ' +\
9230            'username: ' + repr(self.username) + ' ' +\
9231            '>'
9232
9233    def to_dict(self):
9234        return {
9235            'auth_database': self.auth_database,
9236            'bind_interface': self.bind_interface,
9237            'egress_filter': self.egress_filter,
9238            'healthy': self.healthy,
9239            'hostname': self.hostname,
9240            'id': self.id,
9241            'name': self.name,
9242            'password': self.password,
9243            'port': self.port,
9244            'port_override': self.port_override,
9245            'proxy_cluster_id': self.proxy_cluster_id,
9246            'secret_store_id': self.secret_store_id,
9247            'subdomain': self.subdomain,
9248            'tags': self.tags,
9249            'username': self.username,
9250        }
9251
9252    @classmethod
9253    def from_dict(cls, d):
9254        return cls(
9255            auth_database=d.get('auth_database'),
9256            bind_interface=d.get('bind_interface'),
9257            egress_filter=d.get('egress_filter'),
9258            healthy=d.get('healthy'),
9259            hostname=d.get('hostname'),
9260            id=d.get('id'),
9261            name=d.get('name'),
9262            password=d.get('password'),
9263            port=d.get('port'),
9264            port_override=d.get('port_override'),
9265            proxy_cluster_id=d.get('proxy_cluster_id'),
9266            secret_store_id=d.get('secret_store_id'),
9267            subdomain=d.get('subdomain'),
9268            tags=d.get('tags'),
9269            username=d.get('username'),
9270        )
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)
9135    def __init__(
9136        self,
9137        auth_database=None,
9138        bind_interface=None,
9139        egress_filter=None,
9140        healthy=None,
9141        hostname=None,
9142        id=None,
9143        name=None,
9144        password=None,
9145        port=None,
9146        port_override=None,
9147        proxy_cluster_id=None,
9148        secret_store_id=None,
9149        subdomain=None,
9150        tags=None,
9151        username=None,
9152    ):
9153        self.auth_database = auth_database if auth_database is not None else ''
9154        '''
9155         The authentication database to use.
9156        '''
9157        self.bind_interface = bind_interface if bind_interface is not None else ''
9158        '''
9159         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9160        '''
9161        self.egress_filter = egress_filter if egress_filter is not None else ''
9162        '''
9163         A filter applied to the routing logic to pin datasource to nodes.
9164        '''
9165        self.healthy = healthy if healthy is not None else False
9166        '''
9167         True if the datasource is reachable and the credentials are valid.
9168        '''
9169        self.hostname = hostname if hostname is not None else ''
9170        '''
9171         The host to dial to initiate a connection from the egress node to this resource.
9172        '''
9173        self.id = id if id is not None else ''
9174        '''
9175         Unique identifier of the Resource.
9176        '''
9177        self.name = name if name is not None else ''
9178        '''
9179         Unique human-readable name of the Resource.
9180        '''
9181        self.password = password if password is not None else ''
9182        '''
9183         The password to authenticate with.
9184        '''
9185        self.port = port if port is not None else 0
9186        '''
9187         The port to dial to initiate a connection from the egress node to this resource.
9188        '''
9189        self.port_override = port_override if port_override is not None else 0
9190        '''
9191         The local port used by clients to connect to this resource.
9192        '''
9193        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9194        '''
9195         ID of the proxy cluster for this resource, if any.
9196        '''
9197        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9198        '''
9199         ID of the secret store containing credentials for this resource, if any.
9200        '''
9201        self.subdomain = subdomain if subdomain is not None else ''
9202        '''
9203         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9204        '''
9205        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9206        '''
9207         Tags is a map of key, value pairs.
9208        '''
9209        self.username = username if username is not None else ''
9210        '''
9211         The username to authenticate with.
9212        '''
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)
9233    def to_dict(self):
9234        return {
9235            'auth_database': self.auth_database,
9236            'bind_interface': self.bind_interface,
9237            'egress_filter': self.egress_filter,
9238            'healthy': self.healthy,
9239            'hostname': self.hostname,
9240            'id': self.id,
9241            'name': self.name,
9242            'password': self.password,
9243            'port': self.port,
9244            'port_override': self.port_override,
9245            'proxy_cluster_id': self.proxy_cluster_id,
9246            'secret_store_id': self.secret_store_id,
9247            'subdomain': self.subdomain,
9248            'tags': self.tags,
9249            'username': self.username,
9250        }
@classmethod
def from_dict(cls, d)
9252    @classmethod
9253    def from_dict(cls, d):
9254        return cls(
9255            auth_database=d.get('auth_database'),
9256            bind_interface=d.get('bind_interface'),
9257            egress_filter=d.get('egress_filter'),
9258            healthy=d.get('healthy'),
9259            hostname=d.get('hostname'),
9260            id=d.get('id'),
9261            name=d.get('name'),
9262            password=d.get('password'),
9263            port=d.get('port'),
9264            port_override=d.get('port_override'),
9265            proxy_cluster_id=d.get('proxy_cluster_id'),
9266            secret_store_id=d.get('secret_store_id'),
9267            subdomain=d.get('subdomain'),
9268            tags=d.get('tags'),
9269            username=d.get('username'),
9270        )
class DocumentDBReplicaSet:
9273class DocumentDBReplicaSet:
9274    __slots__ = [
9275        'auth_database',
9276        'bind_interface',
9277        'connect_to_replica',
9278        'egress_filter',
9279        'healthy',
9280        'hostname',
9281        'id',
9282        'name',
9283        'password',
9284        'port_override',
9285        'proxy_cluster_id',
9286        'replica_set',
9287        'secret_store_id',
9288        'subdomain',
9289        'tags',
9290        'username',
9291    ]
9292
9293    def __init__(
9294        self,
9295        auth_database=None,
9296        bind_interface=None,
9297        connect_to_replica=None,
9298        egress_filter=None,
9299        healthy=None,
9300        hostname=None,
9301        id=None,
9302        name=None,
9303        password=None,
9304        port_override=None,
9305        proxy_cluster_id=None,
9306        replica_set=None,
9307        secret_store_id=None,
9308        subdomain=None,
9309        tags=None,
9310        username=None,
9311    ):
9312        self.auth_database = auth_database if auth_database is not None else ''
9313        '''
9314         The authentication database to use.
9315        '''
9316        self.bind_interface = bind_interface if bind_interface is not None else ''
9317        '''
9318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9319        '''
9320        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
9321        '''
9322         Set to connect to a replica instead of the primary node.
9323        '''
9324        self.egress_filter = egress_filter if egress_filter is not None else ''
9325        '''
9326         A filter applied to the routing logic to pin datasource to nodes.
9327        '''
9328        self.healthy = healthy if healthy is not None else False
9329        '''
9330         True if the datasource is reachable and the credentials are valid.
9331        '''
9332        self.hostname = hostname if hostname is not None else ''
9333        '''
9334         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
9335        '''
9336        self.id = id if id is not None else ''
9337        '''
9338         Unique identifier of the Resource.
9339        '''
9340        self.name = name if name is not None else ''
9341        '''
9342         Unique human-readable name of the Resource.
9343        '''
9344        self.password = password if password is not None else ''
9345        '''
9346         The password to authenticate with.
9347        '''
9348        self.port_override = port_override if port_override is not None else 0
9349        '''
9350         The local port used by clients to connect to this resource.
9351        '''
9352        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9353        '''
9354         ID of the proxy cluster for this resource, if any.
9355        '''
9356        self.replica_set = replica_set if replica_set is not None else ''
9357        '''
9358         The name of the mongo replicaset.
9359        '''
9360        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9361        '''
9362         ID of the secret store containing credentials for this resource, if any.
9363        '''
9364        self.subdomain = subdomain if subdomain is not None else ''
9365        '''
9366         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9367        '''
9368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9369        '''
9370         Tags is a map of key, value pairs.
9371        '''
9372        self.username = username if username is not None else ''
9373        '''
9374         The username to authenticate with.
9375        '''
9376
9377    def __repr__(self):
9378        return '<sdm.DocumentDBReplicaSet ' + \
9379            'auth_database: ' + repr(self.auth_database) + ' ' +\
9380            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9381            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
9382            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9383            'healthy: ' + repr(self.healthy) + ' ' +\
9384            'hostname: ' + repr(self.hostname) + ' ' +\
9385            'id: ' + repr(self.id) + ' ' +\
9386            'name: ' + repr(self.name) + ' ' +\
9387            'password: ' + repr(self.password) + ' ' +\
9388            'port_override: ' + repr(self.port_override) + ' ' +\
9389            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9390            'replica_set: ' + repr(self.replica_set) + ' ' +\
9391            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9392            'subdomain: ' + repr(self.subdomain) + ' ' +\
9393            'tags: ' + repr(self.tags) + ' ' +\
9394            'username: ' + repr(self.username) + ' ' +\
9395            '>'
9396
9397    def to_dict(self):
9398        return {
9399            'auth_database': self.auth_database,
9400            'bind_interface': self.bind_interface,
9401            'connect_to_replica': self.connect_to_replica,
9402            'egress_filter': self.egress_filter,
9403            'healthy': self.healthy,
9404            'hostname': self.hostname,
9405            'id': self.id,
9406            'name': self.name,
9407            'password': self.password,
9408            'port_override': self.port_override,
9409            'proxy_cluster_id': self.proxy_cluster_id,
9410            'replica_set': self.replica_set,
9411            'secret_store_id': self.secret_store_id,
9412            'subdomain': self.subdomain,
9413            'tags': self.tags,
9414            'username': self.username,
9415        }
9416
9417    @classmethod
9418    def from_dict(cls, d):
9419        return cls(
9420            auth_database=d.get('auth_database'),
9421            bind_interface=d.get('bind_interface'),
9422            connect_to_replica=d.get('connect_to_replica'),
9423            egress_filter=d.get('egress_filter'),
9424            healthy=d.get('healthy'),
9425            hostname=d.get('hostname'),
9426            id=d.get('id'),
9427            name=d.get('name'),
9428            password=d.get('password'),
9429            port_override=d.get('port_override'),
9430            proxy_cluster_id=d.get('proxy_cluster_id'),
9431            replica_set=d.get('replica_set'),
9432            secret_store_id=d.get('secret_store_id'),
9433            subdomain=d.get('subdomain'),
9434            tags=d.get('tags'),
9435            username=d.get('username'),
9436        )
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)
9293    def __init__(
9294        self,
9295        auth_database=None,
9296        bind_interface=None,
9297        connect_to_replica=None,
9298        egress_filter=None,
9299        healthy=None,
9300        hostname=None,
9301        id=None,
9302        name=None,
9303        password=None,
9304        port_override=None,
9305        proxy_cluster_id=None,
9306        replica_set=None,
9307        secret_store_id=None,
9308        subdomain=None,
9309        tags=None,
9310        username=None,
9311    ):
9312        self.auth_database = auth_database if auth_database is not None else ''
9313        '''
9314         The authentication database to use.
9315        '''
9316        self.bind_interface = bind_interface if bind_interface is not None else ''
9317        '''
9318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9319        '''
9320        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
9321        '''
9322         Set to connect to a replica instead of the primary node.
9323        '''
9324        self.egress_filter = egress_filter if egress_filter is not None else ''
9325        '''
9326         A filter applied to the routing logic to pin datasource to nodes.
9327        '''
9328        self.healthy = healthy if healthy is not None else False
9329        '''
9330         True if the datasource is reachable and the credentials are valid.
9331        '''
9332        self.hostname = hostname if hostname is not None else ''
9333        '''
9334         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
9335        '''
9336        self.id = id if id is not None else ''
9337        '''
9338         Unique identifier of the Resource.
9339        '''
9340        self.name = name if name is not None else ''
9341        '''
9342         Unique human-readable name of the Resource.
9343        '''
9344        self.password = password if password is not None else ''
9345        '''
9346         The password to authenticate with.
9347        '''
9348        self.port_override = port_override if port_override is not None else 0
9349        '''
9350         The local port used by clients to connect to this resource.
9351        '''
9352        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9353        '''
9354         ID of the proxy cluster for this resource, if any.
9355        '''
9356        self.replica_set = replica_set if replica_set is not None else ''
9357        '''
9358         The name of the mongo replicaset.
9359        '''
9360        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9361        '''
9362         ID of the secret store containing credentials for this resource, if any.
9363        '''
9364        self.subdomain = subdomain if subdomain is not None else ''
9365        '''
9366         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9367        '''
9368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9369        '''
9370         Tags is a map of key, value pairs.
9371        '''
9372        self.username = username if username is not None else ''
9373        '''
9374         The username to authenticate with.
9375        '''
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)
9397    def to_dict(self):
9398        return {
9399            'auth_database': self.auth_database,
9400            'bind_interface': self.bind_interface,
9401            'connect_to_replica': self.connect_to_replica,
9402            'egress_filter': self.egress_filter,
9403            'healthy': self.healthy,
9404            'hostname': self.hostname,
9405            'id': self.id,
9406            'name': self.name,
9407            'password': self.password,
9408            'port_override': self.port_override,
9409            'proxy_cluster_id': self.proxy_cluster_id,
9410            'replica_set': self.replica_set,
9411            'secret_store_id': self.secret_store_id,
9412            'subdomain': self.subdomain,
9413            'tags': self.tags,
9414            'username': self.username,
9415        }
@classmethod
def from_dict(cls, d)
9417    @classmethod
9418    def from_dict(cls, d):
9419        return cls(
9420            auth_database=d.get('auth_database'),
9421            bind_interface=d.get('bind_interface'),
9422            connect_to_replica=d.get('connect_to_replica'),
9423            egress_filter=d.get('egress_filter'),
9424            healthy=d.get('healthy'),
9425            hostname=d.get('hostname'),
9426            id=d.get('id'),
9427            name=d.get('name'),
9428            password=d.get('password'),
9429            port_override=d.get('port_override'),
9430            proxy_cluster_id=d.get('proxy_cluster_id'),
9431            replica_set=d.get('replica_set'),
9432            secret_store_id=d.get('secret_store_id'),
9433            subdomain=d.get('subdomain'),
9434            tags=d.get('tags'),
9435            username=d.get('username'),
9436        )
class Druid:
9439class Druid:
9440    __slots__ = [
9441        'bind_interface',
9442        'egress_filter',
9443        'healthy',
9444        'hostname',
9445        'id',
9446        'name',
9447        'password',
9448        'port',
9449        'port_override',
9450        'proxy_cluster_id',
9451        'secret_store_id',
9452        'subdomain',
9453        'tags',
9454        'username',
9455    ]
9456
9457    def __init__(
9458        self,
9459        bind_interface=None,
9460        egress_filter=None,
9461        healthy=None,
9462        hostname=None,
9463        id=None,
9464        name=None,
9465        password=None,
9466        port=None,
9467        port_override=None,
9468        proxy_cluster_id=None,
9469        secret_store_id=None,
9470        subdomain=None,
9471        tags=None,
9472        username=None,
9473    ):
9474        self.bind_interface = bind_interface if bind_interface is not None else ''
9475        '''
9476         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9477        '''
9478        self.egress_filter = egress_filter if egress_filter is not None else ''
9479        '''
9480         A filter applied to the routing logic to pin datasource to nodes.
9481        '''
9482        self.healthy = healthy if healthy is not None else False
9483        '''
9484         True if the datasource is reachable and the credentials are valid.
9485        '''
9486        self.hostname = hostname if hostname is not None else ''
9487        '''
9488         The host to dial to initiate a connection from the egress node to this resource.
9489        '''
9490        self.id = id if id is not None else ''
9491        '''
9492         Unique identifier of the Resource.
9493        '''
9494        self.name = name if name is not None else ''
9495        '''
9496         Unique human-readable name of the Resource.
9497        '''
9498        self.password = password if password is not None else ''
9499        '''
9500         The password to authenticate with.
9501        '''
9502        self.port = port if port is not None else 0
9503        '''
9504         The port to dial to initiate a connection from the egress node to this resource.
9505        '''
9506        self.port_override = port_override if port_override is not None else 0
9507        '''
9508         The local port used by clients to connect to this resource.
9509        '''
9510        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9511        '''
9512         ID of the proxy cluster for this resource, if any.
9513        '''
9514        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9515        '''
9516         ID of the secret store containing credentials for this resource, if any.
9517        '''
9518        self.subdomain = subdomain if subdomain is not None else ''
9519        '''
9520         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9521        '''
9522        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9523        '''
9524         Tags is a map of key, value pairs.
9525        '''
9526        self.username = username if username is not None else ''
9527        '''
9528         The username to authenticate with.
9529        '''
9530
9531    def __repr__(self):
9532        return '<sdm.Druid ' + \
9533            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9534            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9535            'healthy: ' + repr(self.healthy) + ' ' +\
9536            'hostname: ' + repr(self.hostname) + ' ' +\
9537            'id: ' + repr(self.id) + ' ' +\
9538            'name: ' + repr(self.name) + ' ' +\
9539            'password: ' + repr(self.password) + ' ' +\
9540            'port: ' + repr(self.port) + ' ' +\
9541            'port_override: ' + repr(self.port_override) + ' ' +\
9542            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9543            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9544            'subdomain: ' + repr(self.subdomain) + ' ' +\
9545            'tags: ' + repr(self.tags) + ' ' +\
9546            'username: ' + repr(self.username) + ' ' +\
9547            '>'
9548
9549    def to_dict(self):
9550        return {
9551            'bind_interface': self.bind_interface,
9552            'egress_filter': self.egress_filter,
9553            'healthy': self.healthy,
9554            'hostname': self.hostname,
9555            'id': self.id,
9556            'name': self.name,
9557            'password': self.password,
9558            'port': self.port,
9559            'port_override': self.port_override,
9560            'proxy_cluster_id': self.proxy_cluster_id,
9561            'secret_store_id': self.secret_store_id,
9562            'subdomain': self.subdomain,
9563            'tags': self.tags,
9564            'username': self.username,
9565        }
9566
9567    @classmethod
9568    def from_dict(cls, d):
9569        return cls(
9570            bind_interface=d.get('bind_interface'),
9571            egress_filter=d.get('egress_filter'),
9572            healthy=d.get('healthy'),
9573            hostname=d.get('hostname'),
9574            id=d.get('id'),
9575            name=d.get('name'),
9576            password=d.get('password'),
9577            port=d.get('port'),
9578            port_override=d.get('port_override'),
9579            proxy_cluster_id=d.get('proxy_cluster_id'),
9580            secret_store_id=d.get('secret_store_id'),
9581            subdomain=d.get('subdomain'),
9582            tags=d.get('tags'),
9583            username=d.get('username'),
9584        )
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)
9457    def __init__(
9458        self,
9459        bind_interface=None,
9460        egress_filter=None,
9461        healthy=None,
9462        hostname=None,
9463        id=None,
9464        name=None,
9465        password=None,
9466        port=None,
9467        port_override=None,
9468        proxy_cluster_id=None,
9469        secret_store_id=None,
9470        subdomain=None,
9471        tags=None,
9472        username=None,
9473    ):
9474        self.bind_interface = bind_interface if bind_interface is not None else ''
9475        '''
9476         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9477        '''
9478        self.egress_filter = egress_filter if egress_filter is not None else ''
9479        '''
9480         A filter applied to the routing logic to pin datasource to nodes.
9481        '''
9482        self.healthy = healthy if healthy is not None else False
9483        '''
9484         True if the datasource is reachable and the credentials are valid.
9485        '''
9486        self.hostname = hostname if hostname is not None else ''
9487        '''
9488         The host to dial to initiate a connection from the egress node to this resource.
9489        '''
9490        self.id = id if id is not None else ''
9491        '''
9492         Unique identifier of the Resource.
9493        '''
9494        self.name = name if name is not None else ''
9495        '''
9496         Unique human-readable name of the Resource.
9497        '''
9498        self.password = password if password is not None else ''
9499        '''
9500         The password to authenticate with.
9501        '''
9502        self.port = port if port is not None else 0
9503        '''
9504         The port to dial to initiate a connection from the egress node to this resource.
9505        '''
9506        self.port_override = port_override if port_override is not None else 0
9507        '''
9508         The local port used by clients to connect to this resource.
9509        '''
9510        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9511        '''
9512         ID of the proxy cluster for this resource, if any.
9513        '''
9514        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9515        '''
9516         ID of the secret store containing credentials for this resource, if any.
9517        '''
9518        self.subdomain = subdomain if subdomain is not None else ''
9519        '''
9520         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9521        '''
9522        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9523        '''
9524         Tags is a map of key, value pairs.
9525        '''
9526        self.username = username if username is not None else ''
9527        '''
9528         The username to authenticate with.
9529        '''
bind_interface

The bind interface is the IP 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)
9549    def to_dict(self):
9550        return {
9551            'bind_interface': self.bind_interface,
9552            'egress_filter': self.egress_filter,
9553            'healthy': self.healthy,
9554            'hostname': self.hostname,
9555            'id': self.id,
9556            'name': self.name,
9557            'password': self.password,
9558            'port': self.port,
9559            'port_override': self.port_override,
9560            'proxy_cluster_id': self.proxy_cluster_id,
9561            'secret_store_id': self.secret_store_id,
9562            'subdomain': self.subdomain,
9563            'tags': self.tags,
9564            'username': self.username,
9565        }
@classmethod
def from_dict(cls, d)
9567    @classmethod
9568    def from_dict(cls, d):
9569        return cls(
9570            bind_interface=d.get('bind_interface'),
9571            egress_filter=d.get('egress_filter'),
9572            healthy=d.get('healthy'),
9573            hostname=d.get('hostname'),
9574            id=d.get('id'),
9575            name=d.get('name'),
9576            password=d.get('password'),
9577            port=d.get('port'),
9578            port_override=d.get('port_override'),
9579            proxy_cluster_id=d.get('proxy_cluster_id'),
9580            secret_store_id=d.get('secret_store_id'),
9581            subdomain=d.get('subdomain'),
9582            tags=d.get('tags'),
9583            username=d.get('username'),
9584        )
class DynamoDB:
9587class DynamoDB:
9588    __slots__ = [
9589        'access_key',
9590        'bind_interface',
9591        'egress_filter',
9592        'endpoint',
9593        'healthy',
9594        'id',
9595        'name',
9596        'port_override',
9597        'proxy_cluster_id',
9598        'region',
9599        'role_arn',
9600        'role_external_id',
9601        'secret_access_key',
9602        'secret_store_id',
9603        'subdomain',
9604        'tags',
9605    ]
9606
9607    def __init__(
9608        self,
9609        access_key=None,
9610        bind_interface=None,
9611        egress_filter=None,
9612        endpoint=None,
9613        healthy=None,
9614        id=None,
9615        name=None,
9616        port_override=None,
9617        proxy_cluster_id=None,
9618        region=None,
9619        role_arn=None,
9620        role_external_id=None,
9621        secret_access_key=None,
9622        secret_store_id=None,
9623        subdomain=None,
9624        tags=None,
9625    ):
9626        self.access_key = access_key if access_key is not None else ''
9627        '''
9628         The Access Key ID to use to authenticate.
9629        '''
9630        self.bind_interface = bind_interface if bind_interface is not None else ''
9631        '''
9632         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9633        '''
9634        self.egress_filter = egress_filter if egress_filter is not None else ''
9635        '''
9636         A filter applied to the routing logic to pin datasource to nodes.
9637        '''
9638        self.endpoint = endpoint if endpoint is not None else ''
9639        '''
9640         The endpoint to dial e.g. dynamodb.region.amazonaws.com
9641        '''
9642        self.healthy = healthy if healthy is not None else False
9643        '''
9644         True if the datasource is reachable and the credentials are valid.
9645        '''
9646        self.id = id if id is not None else ''
9647        '''
9648         Unique identifier of the Resource.
9649        '''
9650        self.name = name if name is not None else ''
9651        '''
9652         Unique human-readable name of the Resource.
9653        '''
9654        self.port_override = port_override if port_override is not None else 0
9655        '''
9656         The local port used by clients to connect to this resource.
9657        '''
9658        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9659        '''
9660         ID of the proxy cluster for this resource, if any.
9661        '''
9662        self.region = region if region is not None else ''
9663        '''
9664         The region to authenticate requests against e.g. us-east-1
9665        '''
9666        self.role_arn = role_arn if role_arn is not None else ''
9667        '''
9668         The role to assume after logging in.
9669        '''
9670        self.role_external_id = role_external_id if role_external_id is not None else ''
9671        '''
9672         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
9673        '''
9674        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
9675        '''
9676         The Secret Access Key to use to authenticate.
9677        '''
9678        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9679        '''
9680         ID of the secret store containing credentials for this resource, if any.
9681        '''
9682        self.subdomain = subdomain if subdomain is not None else ''
9683        '''
9684         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9685        '''
9686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9687        '''
9688         Tags is a map of key, value pairs.
9689        '''
9690
9691    def __repr__(self):
9692        return '<sdm.DynamoDB ' + \
9693            'access_key: ' + repr(self.access_key) + ' ' +\
9694            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9695            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9696            'endpoint: ' + repr(self.endpoint) + ' ' +\
9697            'healthy: ' + repr(self.healthy) + ' ' +\
9698            'id: ' + repr(self.id) + ' ' +\
9699            'name: ' + repr(self.name) + ' ' +\
9700            'port_override: ' + repr(self.port_override) + ' ' +\
9701            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9702            'region: ' + repr(self.region) + ' ' +\
9703            'role_arn: ' + repr(self.role_arn) + ' ' +\
9704            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
9705            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
9706            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9707            'subdomain: ' + repr(self.subdomain) + ' ' +\
9708            'tags: ' + repr(self.tags) + ' ' +\
9709            '>'
9710
9711    def to_dict(self):
9712        return {
9713            'access_key': self.access_key,
9714            'bind_interface': self.bind_interface,
9715            'egress_filter': self.egress_filter,
9716            'endpoint': self.endpoint,
9717            'healthy': self.healthy,
9718            'id': self.id,
9719            'name': self.name,
9720            'port_override': self.port_override,
9721            'proxy_cluster_id': self.proxy_cluster_id,
9722            'region': self.region,
9723            'role_arn': self.role_arn,
9724            'role_external_id': self.role_external_id,
9725            'secret_access_key': self.secret_access_key,
9726            'secret_store_id': self.secret_store_id,
9727            'subdomain': self.subdomain,
9728            'tags': self.tags,
9729        }
9730
9731    @classmethod
9732    def from_dict(cls, d):
9733        return cls(
9734            access_key=d.get('access_key'),
9735            bind_interface=d.get('bind_interface'),
9736            egress_filter=d.get('egress_filter'),
9737            endpoint=d.get('endpoint'),
9738            healthy=d.get('healthy'),
9739            id=d.get('id'),
9740            name=d.get('name'),
9741            port_override=d.get('port_override'),
9742            proxy_cluster_id=d.get('proxy_cluster_id'),
9743            region=d.get('region'),
9744            role_arn=d.get('role_arn'),
9745            role_external_id=d.get('role_external_id'),
9746            secret_access_key=d.get('secret_access_key'),
9747            secret_store_id=d.get('secret_store_id'),
9748            subdomain=d.get('subdomain'),
9749            tags=d.get('tags'),
9750        )
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)
9607    def __init__(
9608        self,
9609        access_key=None,
9610        bind_interface=None,
9611        egress_filter=None,
9612        endpoint=None,
9613        healthy=None,
9614        id=None,
9615        name=None,
9616        port_override=None,
9617        proxy_cluster_id=None,
9618        region=None,
9619        role_arn=None,
9620        role_external_id=None,
9621        secret_access_key=None,
9622        secret_store_id=None,
9623        subdomain=None,
9624        tags=None,
9625    ):
9626        self.access_key = access_key if access_key is not None else ''
9627        '''
9628         The Access Key ID to use to authenticate.
9629        '''
9630        self.bind_interface = bind_interface if bind_interface is not None else ''
9631        '''
9632         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9633        '''
9634        self.egress_filter = egress_filter if egress_filter is not None else ''
9635        '''
9636         A filter applied to the routing logic to pin datasource to nodes.
9637        '''
9638        self.endpoint = endpoint if endpoint is not None else ''
9639        '''
9640         The endpoint to dial e.g. dynamodb.region.amazonaws.com
9641        '''
9642        self.healthy = healthy if healthy is not None else False
9643        '''
9644         True if the datasource is reachable and the credentials are valid.
9645        '''
9646        self.id = id if id is not None else ''
9647        '''
9648         Unique identifier of the Resource.
9649        '''
9650        self.name = name if name is not None else ''
9651        '''
9652         Unique human-readable name of the Resource.
9653        '''
9654        self.port_override = port_override if port_override is not None else 0
9655        '''
9656         The local port used by clients to connect to this resource.
9657        '''
9658        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9659        '''
9660         ID of the proxy cluster for this resource, if any.
9661        '''
9662        self.region = region if region is not None else ''
9663        '''
9664         The region to authenticate requests against e.g. us-east-1
9665        '''
9666        self.role_arn = role_arn if role_arn is not None else ''
9667        '''
9668         The role to assume after logging in.
9669        '''
9670        self.role_external_id = role_external_id if role_external_id is not None else ''
9671        '''
9672         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
9673        '''
9674        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
9675        '''
9676         The Secret Access Key to use to authenticate.
9677        '''
9678        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9679        '''
9680         ID of the secret store containing credentials for this resource, if any.
9681        '''
9682        self.subdomain = subdomain if subdomain is not None else ''
9683        '''
9684         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9685        '''
9686        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9687        '''
9688         Tags is a map of key, value pairs.
9689        '''
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)
9711    def to_dict(self):
9712        return {
9713            'access_key': self.access_key,
9714            'bind_interface': self.bind_interface,
9715            'egress_filter': self.egress_filter,
9716            'endpoint': self.endpoint,
9717            'healthy': self.healthy,
9718            'id': self.id,
9719            'name': self.name,
9720            'port_override': self.port_override,
9721            'proxy_cluster_id': self.proxy_cluster_id,
9722            'region': self.region,
9723            'role_arn': self.role_arn,
9724            'role_external_id': self.role_external_id,
9725            'secret_access_key': self.secret_access_key,
9726            'secret_store_id': self.secret_store_id,
9727            'subdomain': self.subdomain,
9728            'tags': self.tags,
9729        }
@classmethod
def from_dict(cls, d)
9731    @classmethod
9732    def from_dict(cls, d):
9733        return cls(
9734            access_key=d.get('access_key'),
9735            bind_interface=d.get('bind_interface'),
9736            egress_filter=d.get('egress_filter'),
9737            endpoint=d.get('endpoint'),
9738            healthy=d.get('healthy'),
9739            id=d.get('id'),
9740            name=d.get('name'),
9741            port_override=d.get('port_override'),
9742            proxy_cluster_id=d.get('proxy_cluster_id'),
9743            region=d.get('region'),
9744            role_arn=d.get('role_arn'),
9745            role_external_id=d.get('role_external_id'),
9746            secret_access_key=d.get('secret_access_key'),
9747            secret_store_id=d.get('secret_store_id'),
9748            subdomain=d.get('subdomain'),
9749            tags=d.get('tags'),
9750        )
class Elastic:
9753class Elastic:
9754    __slots__ = [
9755        'bind_interface',
9756        'egress_filter',
9757        'healthy',
9758        'hostname',
9759        'id',
9760        'name',
9761        'password',
9762        'port',
9763        'port_override',
9764        'proxy_cluster_id',
9765        'secret_store_id',
9766        'subdomain',
9767        'tags',
9768        'tls_required',
9769        'username',
9770    ]
9771
9772    def __init__(
9773        self,
9774        bind_interface=None,
9775        egress_filter=None,
9776        healthy=None,
9777        hostname=None,
9778        id=None,
9779        name=None,
9780        password=None,
9781        port=None,
9782        port_override=None,
9783        proxy_cluster_id=None,
9784        secret_store_id=None,
9785        subdomain=None,
9786        tags=None,
9787        tls_required=None,
9788        username=None,
9789    ):
9790        self.bind_interface = bind_interface if bind_interface is not None else ''
9791        '''
9792         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9793        '''
9794        self.egress_filter = egress_filter if egress_filter is not None else ''
9795        '''
9796         A filter applied to the routing logic to pin datasource to nodes.
9797        '''
9798        self.healthy = healthy if healthy is not None else False
9799        '''
9800         True if the datasource is reachable and the credentials are valid.
9801        '''
9802        self.hostname = hostname if hostname is not None else ''
9803        '''
9804         The host to dial to initiate a connection from the egress node to this resource.
9805        '''
9806        self.id = id if id is not None else ''
9807        '''
9808         Unique identifier of the Resource.
9809        '''
9810        self.name = name if name is not None else ''
9811        '''
9812         Unique human-readable name of the Resource.
9813        '''
9814        self.password = password if password is not None else ''
9815        '''
9816         The password to authenticate with.
9817        '''
9818        self.port = port if port is not None else 0
9819        '''
9820         The port to dial to initiate a connection from the egress node to this resource.
9821        '''
9822        self.port_override = port_override if port_override is not None else 0
9823        '''
9824         The local port used by clients to connect to this resource.
9825        '''
9826        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9827        '''
9828         ID of the proxy cluster for this resource, if any.
9829        '''
9830        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9831        '''
9832         ID of the secret store containing credentials for this resource, if any.
9833        '''
9834        self.subdomain = subdomain if subdomain is not None else ''
9835        '''
9836         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9837        '''
9838        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9839        '''
9840         Tags is a map of key, value pairs.
9841        '''
9842        self.tls_required = tls_required if tls_required is not None else False
9843        '''
9844         If set, TLS must be used to connect to this resource.
9845        '''
9846        self.username = username if username is not None else ''
9847        '''
9848         The username to authenticate with.
9849        '''
9850
9851    def __repr__(self):
9852        return '<sdm.Elastic ' + \
9853            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9854            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9855            'healthy: ' + repr(self.healthy) + ' ' +\
9856            'hostname: ' + repr(self.hostname) + ' ' +\
9857            'id: ' + repr(self.id) + ' ' +\
9858            'name: ' + repr(self.name) + ' ' +\
9859            'password: ' + repr(self.password) + ' ' +\
9860            'port: ' + repr(self.port) + ' ' +\
9861            'port_override: ' + repr(self.port_override) + ' ' +\
9862            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9863            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9864            'subdomain: ' + repr(self.subdomain) + ' ' +\
9865            'tags: ' + repr(self.tags) + ' ' +\
9866            'tls_required: ' + repr(self.tls_required) + ' ' +\
9867            'username: ' + repr(self.username) + ' ' +\
9868            '>'
9869
9870    def to_dict(self):
9871        return {
9872            'bind_interface': self.bind_interface,
9873            'egress_filter': self.egress_filter,
9874            'healthy': self.healthy,
9875            'hostname': self.hostname,
9876            'id': self.id,
9877            'name': self.name,
9878            'password': self.password,
9879            'port': self.port,
9880            'port_override': self.port_override,
9881            'proxy_cluster_id': self.proxy_cluster_id,
9882            'secret_store_id': self.secret_store_id,
9883            'subdomain': self.subdomain,
9884            'tags': self.tags,
9885            'tls_required': self.tls_required,
9886            'username': self.username,
9887        }
9888
9889    @classmethod
9890    def from_dict(cls, d):
9891        return cls(
9892            bind_interface=d.get('bind_interface'),
9893            egress_filter=d.get('egress_filter'),
9894            healthy=d.get('healthy'),
9895            hostname=d.get('hostname'),
9896            id=d.get('id'),
9897            name=d.get('name'),
9898            password=d.get('password'),
9899            port=d.get('port'),
9900            port_override=d.get('port_override'),
9901            proxy_cluster_id=d.get('proxy_cluster_id'),
9902            secret_store_id=d.get('secret_store_id'),
9903            subdomain=d.get('subdomain'),
9904            tags=d.get('tags'),
9905            tls_required=d.get('tls_required'),
9906            username=d.get('username'),
9907        )
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)
9772    def __init__(
9773        self,
9774        bind_interface=None,
9775        egress_filter=None,
9776        healthy=None,
9777        hostname=None,
9778        id=None,
9779        name=None,
9780        password=None,
9781        port=None,
9782        port_override=None,
9783        proxy_cluster_id=None,
9784        secret_store_id=None,
9785        subdomain=None,
9786        tags=None,
9787        tls_required=None,
9788        username=None,
9789    ):
9790        self.bind_interface = bind_interface if bind_interface is not None else ''
9791        '''
9792         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9793        '''
9794        self.egress_filter = egress_filter if egress_filter is not None else ''
9795        '''
9796         A filter applied to the routing logic to pin datasource to nodes.
9797        '''
9798        self.healthy = healthy if healthy is not None else False
9799        '''
9800         True if the datasource is reachable and the credentials are valid.
9801        '''
9802        self.hostname = hostname if hostname is not None else ''
9803        '''
9804         The host to dial to initiate a connection from the egress node to this resource.
9805        '''
9806        self.id = id if id is not None else ''
9807        '''
9808         Unique identifier of the Resource.
9809        '''
9810        self.name = name if name is not None else ''
9811        '''
9812         Unique human-readable name of the Resource.
9813        '''
9814        self.password = password if password is not None else ''
9815        '''
9816         The password to authenticate with.
9817        '''
9818        self.port = port if port is not None else 0
9819        '''
9820         The port to dial to initiate a connection from the egress node to this resource.
9821        '''
9822        self.port_override = port_override if port_override is not None else 0
9823        '''
9824         The local port used by clients to connect to this resource.
9825        '''
9826        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9827        '''
9828         ID of the proxy cluster for this resource, if any.
9829        '''
9830        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9831        '''
9832         ID of the secret store containing credentials for this resource, if any.
9833        '''
9834        self.subdomain = subdomain if subdomain is not None else ''
9835        '''
9836         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9837        '''
9838        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9839        '''
9840         Tags is a map of key, value pairs.
9841        '''
9842        self.tls_required = tls_required if tls_required is not None else False
9843        '''
9844         If set, TLS must be used to connect to this resource.
9845        '''
9846        self.username = username if username is not None else ''
9847        '''
9848         The username to authenticate with.
9849        '''
bind_interface

The bind interface is the IP 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)
9870    def to_dict(self):
9871        return {
9872            'bind_interface': self.bind_interface,
9873            'egress_filter': self.egress_filter,
9874            'healthy': self.healthy,
9875            'hostname': self.hostname,
9876            'id': self.id,
9877            'name': self.name,
9878            'password': self.password,
9879            'port': self.port,
9880            'port_override': self.port_override,
9881            'proxy_cluster_id': self.proxy_cluster_id,
9882            'secret_store_id': self.secret_store_id,
9883            'subdomain': self.subdomain,
9884            'tags': self.tags,
9885            'tls_required': self.tls_required,
9886            'username': self.username,
9887        }
@classmethod
def from_dict(cls, d)
9889    @classmethod
9890    def from_dict(cls, d):
9891        return cls(
9892            bind_interface=d.get('bind_interface'),
9893            egress_filter=d.get('egress_filter'),
9894            healthy=d.get('healthy'),
9895            hostname=d.get('hostname'),
9896            id=d.get('id'),
9897            name=d.get('name'),
9898            password=d.get('password'),
9899            port=d.get('port'),
9900            port_override=d.get('port_override'),
9901            proxy_cluster_id=d.get('proxy_cluster_id'),
9902            secret_store_id=d.get('secret_store_id'),
9903            subdomain=d.get('subdomain'),
9904            tags=d.get('tags'),
9905            tls_required=d.get('tls_required'),
9906            username=d.get('username'),
9907        )
class ElasticacheRedis:
 9910class ElasticacheRedis:
 9911    __slots__ = [
 9912        'bind_interface',
 9913        'egress_filter',
 9914        'healthy',
 9915        'hostname',
 9916        'id',
 9917        'name',
 9918        'password',
 9919        'port',
 9920        'port_override',
 9921        'proxy_cluster_id',
 9922        'secret_store_id',
 9923        'subdomain',
 9924        'tags',
 9925        'tls_required',
 9926        'username',
 9927    ]
 9928
 9929    def __init__(
 9930        self,
 9931        bind_interface=None,
 9932        egress_filter=None,
 9933        healthy=None,
 9934        hostname=None,
 9935        id=None,
 9936        name=None,
 9937        password=None,
 9938        port=None,
 9939        port_override=None,
 9940        proxy_cluster_id=None,
 9941        secret_store_id=None,
 9942        subdomain=None,
 9943        tags=None,
 9944        tls_required=None,
 9945        username=None,
 9946    ):
 9947        self.bind_interface = bind_interface if bind_interface is not None else ''
 9948        '''
 9949         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9950        '''
 9951        self.egress_filter = egress_filter if egress_filter is not None else ''
 9952        '''
 9953         A filter applied to the routing logic to pin datasource to nodes.
 9954        '''
 9955        self.healthy = healthy if healthy is not None else False
 9956        '''
 9957         True if the datasource is reachable and the credentials are valid.
 9958        '''
 9959        self.hostname = hostname if hostname is not None else ''
 9960        '''
 9961         The host to dial to initiate a connection from the egress node to this resource.
 9962        '''
 9963        self.id = id if id is not None else ''
 9964        '''
 9965         Unique identifier of the Resource.
 9966        '''
 9967        self.name = name if name is not None else ''
 9968        '''
 9969         Unique human-readable name of the Resource.
 9970        '''
 9971        self.password = password if password is not None else ''
 9972        '''
 9973         The password to authenticate with.
 9974        '''
 9975        self.port = port if port is not None else 0
 9976        '''
 9977         The port to dial to initiate a connection from the egress node to this resource.
 9978        '''
 9979        self.port_override = port_override if port_override is not None else 0
 9980        '''
 9981         The local port used by clients to connect to this resource.
 9982        '''
 9983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9984        '''
 9985         ID of the proxy cluster for this resource, if any.
 9986        '''
 9987        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9988        '''
 9989         ID of the secret store containing credentials for this resource, if any.
 9990        '''
 9991        self.subdomain = subdomain if subdomain is not None else ''
 9992        '''
 9993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9994        '''
 9995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9996        '''
 9997         Tags is a map of key, value pairs.
 9998        '''
 9999        self.tls_required = tls_required if tls_required is not None else False
10000        '''
10001         If set, TLS must be used to connect to this resource.
10002        '''
10003        self.username = username if username is not None else ''
10004        '''
10005         The username to authenticate with.
10006        '''
10007
10008    def __repr__(self):
10009        return '<sdm.ElasticacheRedis ' + \
10010            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10011            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10012            'healthy: ' + repr(self.healthy) + ' ' +\
10013            'hostname: ' + repr(self.hostname) + ' ' +\
10014            'id: ' + repr(self.id) + ' ' +\
10015            'name: ' + repr(self.name) + ' ' +\
10016            'password: ' + repr(self.password) + ' ' +\
10017            'port: ' + repr(self.port) + ' ' +\
10018            'port_override: ' + repr(self.port_override) + ' ' +\
10019            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10021            'subdomain: ' + repr(self.subdomain) + ' ' +\
10022            'tags: ' + repr(self.tags) + ' ' +\
10023            'tls_required: ' + repr(self.tls_required) + ' ' +\
10024            'username: ' + repr(self.username) + ' ' +\
10025            '>'
10026
10027    def to_dict(self):
10028        return {
10029            'bind_interface': self.bind_interface,
10030            'egress_filter': self.egress_filter,
10031            'healthy': self.healthy,
10032            'hostname': self.hostname,
10033            'id': self.id,
10034            'name': self.name,
10035            'password': self.password,
10036            'port': self.port,
10037            'port_override': self.port_override,
10038            'proxy_cluster_id': self.proxy_cluster_id,
10039            'secret_store_id': self.secret_store_id,
10040            'subdomain': self.subdomain,
10041            'tags': self.tags,
10042            'tls_required': self.tls_required,
10043            'username': self.username,
10044        }
10045
10046    @classmethod
10047    def from_dict(cls, d):
10048        return cls(
10049            bind_interface=d.get('bind_interface'),
10050            egress_filter=d.get('egress_filter'),
10051            healthy=d.get('healthy'),
10052            hostname=d.get('hostname'),
10053            id=d.get('id'),
10054            name=d.get('name'),
10055            password=d.get('password'),
10056            port=d.get('port'),
10057            port_override=d.get('port_override'),
10058            proxy_cluster_id=d.get('proxy_cluster_id'),
10059            secret_store_id=d.get('secret_store_id'),
10060            subdomain=d.get('subdomain'),
10061            tags=d.get('tags'),
10062            tls_required=d.get('tls_required'),
10063            username=d.get('username'),
10064        )
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)
 9929    def __init__(
 9930        self,
 9931        bind_interface=None,
 9932        egress_filter=None,
 9933        healthy=None,
 9934        hostname=None,
 9935        id=None,
 9936        name=None,
 9937        password=None,
 9938        port=None,
 9939        port_override=None,
 9940        proxy_cluster_id=None,
 9941        secret_store_id=None,
 9942        subdomain=None,
 9943        tags=None,
 9944        tls_required=None,
 9945        username=None,
 9946    ):
 9947        self.bind_interface = bind_interface if bind_interface is not None else ''
 9948        '''
 9949         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9950        '''
 9951        self.egress_filter = egress_filter if egress_filter is not None else ''
 9952        '''
 9953         A filter applied to the routing logic to pin datasource to nodes.
 9954        '''
 9955        self.healthy = healthy if healthy is not None else False
 9956        '''
 9957         True if the datasource is reachable and the credentials are valid.
 9958        '''
 9959        self.hostname = hostname if hostname is not None else ''
 9960        '''
 9961         The host to dial to initiate a connection from the egress node to this resource.
 9962        '''
 9963        self.id = id if id is not None else ''
 9964        '''
 9965         Unique identifier of the Resource.
 9966        '''
 9967        self.name = name if name is not None else ''
 9968        '''
 9969         Unique human-readable name of the Resource.
 9970        '''
 9971        self.password = password if password is not None else ''
 9972        '''
 9973         The password to authenticate with.
 9974        '''
 9975        self.port = port if port is not None else 0
 9976        '''
 9977         The port to dial to initiate a connection from the egress node to this resource.
 9978        '''
 9979        self.port_override = port_override if port_override is not None else 0
 9980        '''
 9981         The local port used by clients to connect to this resource.
 9982        '''
 9983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9984        '''
 9985         ID of the proxy cluster for this resource, if any.
 9986        '''
 9987        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9988        '''
 9989         ID of the secret store containing credentials for this resource, if any.
 9990        '''
 9991        self.subdomain = subdomain if subdomain is not None else ''
 9992        '''
 9993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9994        '''
 9995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9996        '''
 9997         Tags is a map of key, value pairs.
 9998        '''
 9999        self.tls_required = tls_required if tls_required is not None else False
10000        '''
10001         If set, TLS must be used to connect to this resource.
10002        '''
10003        self.username = username if username is not None else ''
10004        '''
10005         The username to authenticate with.
10006        '''
bind_interface

The bind interface is the IP 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)
10027    def to_dict(self):
10028        return {
10029            'bind_interface': self.bind_interface,
10030            'egress_filter': self.egress_filter,
10031            'healthy': self.healthy,
10032            'hostname': self.hostname,
10033            'id': self.id,
10034            'name': self.name,
10035            'password': self.password,
10036            'port': self.port,
10037            'port_override': self.port_override,
10038            'proxy_cluster_id': self.proxy_cluster_id,
10039            'secret_store_id': self.secret_store_id,
10040            'subdomain': self.subdomain,
10041            'tags': self.tags,
10042            'tls_required': self.tls_required,
10043            'username': self.username,
10044        }
@classmethod
def from_dict(cls, d)
10046    @classmethod
10047    def from_dict(cls, d):
10048        return cls(
10049            bind_interface=d.get('bind_interface'),
10050            egress_filter=d.get('egress_filter'),
10051            healthy=d.get('healthy'),
10052            hostname=d.get('hostname'),
10053            id=d.get('id'),
10054            name=d.get('name'),
10055            password=d.get('password'),
10056            port=d.get('port'),
10057            port_override=d.get('port_override'),
10058            proxy_cluster_id=d.get('proxy_cluster_id'),
10059            secret_store_id=d.get('secret_store_id'),
10060            subdomain=d.get('subdomain'),
10061            tags=d.get('tags'),
10062            tls_required=d.get('tls_required'),
10063            username=d.get('username'),
10064        )
class GCP:
10067class GCP:
10068    __slots__ = [
10069        'bind_interface',
10070        'egress_filter',
10071        'healthy',
10072        'id',
10073        'keyfile',
10074        'name',
10075        'port_override',
10076        'proxy_cluster_id',
10077        'scopes',
10078        'secret_store_id',
10079        'subdomain',
10080        'tags',
10081    ]
10082
10083    def __init__(
10084        self,
10085        bind_interface=None,
10086        egress_filter=None,
10087        healthy=None,
10088        id=None,
10089        keyfile=None,
10090        name=None,
10091        port_override=None,
10092        proxy_cluster_id=None,
10093        scopes=None,
10094        secret_store_id=None,
10095        subdomain=None,
10096        tags=None,
10097    ):
10098        self.bind_interface = bind_interface if bind_interface is not None else ''
10099        '''
10100         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10101        '''
10102        self.egress_filter = egress_filter if egress_filter is not None else ''
10103        '''
10104         A filter applied to the routing logic to pin datasource to nodes.
10105        '''
10106        self.healthy = healthy if healthy is not None else False
10107        '''
10108         True if the datasource is reachable and the credentials are valid.
10109        '''
10110        self.id = id if id is not None else ''
10111        '''
10112         Unique identifier of the Resource.
10113        '''
10114        self.keyfile = keyfile if keyfile is not None else ''
10115        '''
10116         The service account keyfile to authenticate with.
10117        '''
10118        self.name = name if name is not None else ''
10119        '''
10120         Unique human-readable name of the Resource.
10121        '''
10122        self.port_override = port_override if port_override is not None else 0
10123        '''
10124         The local port used by clients to connect to this resource.
10125        '''
10126        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10127        '''
10128         ID of the proxy cluster for this resource, if any.
10129        '''
10130        self.scopes = scopes if scopes is not None else ''
10131        '''
10132         Space separated scopes that this login should assume into when authenticating.
10133        '''
10134        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10135        '''
10136         ID of the secret store containing credentials for this resource, if any.
10137        '''
10138        self.subdomain = subdomain if subdomain is not None else ''
10139        '''
10140         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10141        '''
10142        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10143        '''
10144         Tags is a map of key, value pairs.
10145        '''
10146
10147    def __repr__(self):
10148        return '<sdm.GCP ' + \
10149            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10150            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10151            'healthy: ' + repr(self.healthy) + ' ' +\
10152            'id: ' + repr(self.id) + ' ' +\
10153            'keyfile: ' + repr(self.keyfile) + ' ' +\
10154            'name: ' + repr(self.name) + ' ' +\
10155            'port_override: ' + repr(self.port_override) + ' ' +\
10156            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10157            'scopes: ' + repr(self.scopes) + ' ' +\
10158            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10159            'subdomain: ' + repr(self.subdomain) + ' ' +\
10160            'tags: ' + repr(self.tags) + ' ' +\
10161            '>'
10162
10163    def to_dict(self):
10164        return {
10165            'bind_interface': self.bind_interface,
10166            'egress_filter': self.egress_filter,
10167            'healthy': self.healthy,
10168            'id': self.id,
10169            'keyfile': self.keyfile,
10170            'name': self.name,
10171            'port_override': self.port_override,
10172            'proxy_cluster_id': self.proxy_cluster_id,
10173            'scopes': self.scopes,
10174            'secret_store_id': self.secret_store_id,
10175            'subdomain': self.subdomain,
10176            'tags': self.tags,
10177        }
10178
10179    @classmethod
10180    def from_dict(cls, d):
10181        return cls(
10182            bind_interface=d.get('bind_interface'),
10183            egress_filter=d.get('egress_filter'),
10184            healthy=d.get('healthy'),
10185            id=d.get('id'),
10186            keyfile=d.get('keyfile'),
10187            name=d.get('name'),
10188            port_override=d.get('port_override'),
10189            proxy_cluster_id=d.get('proxy_cluster_id'),
10190            scopes=d.get('scopes'),
10191            secret_store_id=d.get('secret_store_id'),
10192            subdomain=d.get('subdomain'),
10193            tags=d.get('tags'),
10194        )
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)
10083    def __init__(
10084        self,
10085        bind_interface=None,
10086        egress_filter=None,
10087        healthy=None,
10088        id=None,
10089        keyfile=None,
10090        name=None,
10091        port_override=None,
10092        proxy_cluster_id=None,
10093        scopes=None,
10094        secret_store_id=None,
10095        subdomain=None,
10096        tags=None,
10097    ):
10098        self.bind_interface = bind_interface if bind_interface is not None else ''
10099        '''
10100         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10101        '''
10102        self.egress_filter = egress_filter if egress_filter is not None else ''
10103        '''
10104         A filter applied to the routing logic to pin datasource to nodes.
10105        '''
10106        self.healthy = healthy if healthy is not None else False
10107        '''
10108         True if the datasource is reachable and the credentials are valid.
10109        '''
10110        self.id = id if id is not None else ''
10111        '''
10112         Unique identifier of the Resource.
10113        '''
10114        self.keyfile = keyfile if keyfile is not None else ''
10115        '''
10116         The service account keyfile to authenticate with.
10117        '''
10118        self.name = name if name is not None else ''
10119        '''
10120         Unique human-readable name of the Resource.
10121        '''
10122        self.port_override = port_override if port_override is not None else 0
10123        '''
10124         The local port used by clients to connect to this resource.
10125        '''
10126        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10127        '''
10128         ID of the proxy cluster for this resource, if any.
10129        '''
10130        self.scopes = scopes if scopes is not None else ''
10131        '''
10132         Space separated scopes that this login should assume into when authenticating.
10133        '''
10134        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10135        '''
10136         ID of the secret store containing credentials for this resource, if any.
10137        '''
10138        self.subdomain = subdomain if subdomain is not None else ''
10139        '''
10140         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10141        '''
10142        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10143        '''
10144         Tags is a map of key, value pairs.
10145        '''
bind_interface

The bind interface is the IP 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)
10163    def to_dict(self):
10164        return {
10165            'bind_interface': self.bind_interface,
10166            'egress_filter': self.egress_filter,
10167            'healthy': self.healthy,
10168            'id': self.id,
10169            'keyfile': self.keyfile,
10170            'name': self.name,
10171            'port_override': self.port_override,
10172            'proxy_cluster_id': self.proxy_cluster_id,
10173            'scopes': self.scopes,
10174            'secret_store_id': self.secret_store_id,
10175            'subdomain': self.subdomain,
10176            'tags': self.tags,
10177        }
@classmethod
def from_dict(cls, d)
10179    @classmethod
10180    def from_dict(cls, d):
10181        return cls(
10182            bind_interface=d.get('bind_interface'),
10183            egress_filter=d.get('egress_filter'),
10184            healthy=d.get('healthy'),
10185            id=d.get('id'),
10186            keyfile=d.get('keyfile'),
10187            name=d.get('name'),
10188            port_override=d.get('port_override'),
10189            proxy_cluster_id=d.get('proxy_cluster_id'),
10190            scopes=d.get('scopes'),
10191            secret_store_id=d.get('secret_store_id'),
10192            subdomain=d.get('subdomain'),
10193            tags=d.get('tags'),
10194        )
class GCPCertX509Store:
10197class GCPCertX509Store:
10198    __slots__ = [
10199        'caid',
10200        'capoolid',
10201        'id',
10202        'issuedcertttlminutes',
10203        'location',
10204        'name',
10205        'projectid',
10206        'tags',
10207    ]
10208
10209    def __init__(
10210        self,
10211        caid=None,
10212        capoolid=None,
10213        id=None,
10214        issuedcertttlminutes=None,
10215        location=None,
10216        name=None,
10217        projectid=None,
10218        tags=None,
10219    ):
10220        self.caid = caid if caid is not None else ''
10221        '''
10222         The ID of the target CA
10223        '''
10224        self.capoolid = capoolid if capoolid is not None else ''
10225        '''
10226         The ID of the target CA pool
10227        '''
10228        self.id = id if id is not None else ''
10229        '''
10230         Unique identifier of the SecretStore.
10231        '''
10232        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
10233        '''
10234         The lifetime of certificates issued by this CA represented in minutes.
10235        '''
10236        self.location = location if location is not None else ''
10237        '''
10238         The Region for the CA in GCP format e.g. us-west1
10239        '''
10240        self.name = name if name is not None else ''
10241        '''
10242         Unique human-readable name of the SecretStore.
10243        '''
10244        self.projectid = projectid if projectid is not None else ''
10245        '''
10246         The GCP project ID to target.
10247        '''
10248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10249        '''
10250         Tags is a map of key, value pairs.
10251        '''
10252
10253    def __repr__(self):
10254        return '<sdm.GCPCertX509Store ' + \
10255            'caid: ' + repr(self.caid) + ' ' +\
10256            'capoolid: ' + repr(self.capoolid) + ' ' +\
10257            'id: ' + repr(self.id) + ' ' +\
10258            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
10259            'location: ' + repr(self.location) + ' ' +\
10260            'name: ' + repr(self.name) + ' ' +\
10261            'projectid: ' + repr(self.projectid) + ' ' +\
10262            'tags: ' + repr(self.tags) + ' ' +\
10263            '>'
10264
10265    def to_dict(self):
10266        return {
10267            'caid': self.caid,
10268            'capoolid': self.capoolid,
10269            'id': self.id,
10270            'issuedcertttlminutes': self.issuedcertttlminutes,
10271            'location': self.location,
10272            'name': self.name,
10273            'projectid': self.projectid,
10274            'tags': self.tags,
10275        }
10276
10277    @classmethod
10278    def from_dict(cls, d):
10279        return cls(
10280            caid=d.get('caid'),
10281            capoolid=d.get('capoolid'),
10282            id=d.get('id'),
10283            issuedcertttlminutes=d.get('issuedcertttlminutes'),
10284            location=d.get('location'),
10285            name=d.get('name'),
10286            projectid=d.get('projectid'),
10287            tags=d.get('tags'),
10288        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
10209    def __init__(
10210        self,
10211        caid=None,
10212        capoolid=None,
10213        id=None,
10214        issuedcertttlminutes=None,
10215        location=None,
10216        name=None,
10217        projectid=None,
10218        tags=None,
10219    ):
10220        self.caid = caid if caid is not None else ''
10221        '''
10222         The ID of the target CA
10223        '''
10224        self.capoolid = capoolid if capoolid is not None else ''
10225        '''
10226         The ID of the target CA pool
10227        '''
10228        self.id = id if id is not None else ''
10229        '''
10230         Unique identifier of the SecretStore.
10231        '''
10232        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
10233        '''
10234         The lifetime of certificates issued by this CA represented in minutes.
10235        '''
10236        self.location = location if location is not None else ''
10237        '''
10238         The Region for the CA in GCP format e.g. us-west1
10239        '''
10240        self.name = name if name is not None else ''
10241        '''
10242         Unique human-readable name of the SecretStore.
10243        '''
10244        self.projectid = projectid if projectid is not None else ''
10245        '''
10246         The GCP project ID to target.
10247        '''
10248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10249        '''
10250         Tags is a map of key, value pairs.
10251        '''
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)
10265    def to_dict(self):
10266        return {
10267            'caid': self.caid,
10268            'capoolid': self.capoolid,
10269            'id': self.id,
10270            'issuedcertttlminutes': self.issuedcertttlminutes,
10271            'location': self.location,
10272            'name': self.name,
10273            'projectid': self.projectid,
10274            'tags': self.tags,
10275        }
@classmethod
def from_dict(cls, d)
10277    @classmethod
10278    def from_dict(cls, d):
10279        return cls(
10280            caid=d.get('caid'),
10281            capoolid=d.get('capoolid'),
10282            id=d.get('id'),
10283            issuedcertttlminutes=d.get('issuedcertttlminutes'),
10284            location=d.get('location'),
10285            name=d.get('name'),
10286            projectid=d.get('projectid'),
10287            tags=d.get('tags'),
10288        )
class GCPConsole:
10291class GCPConsole:
10292    '''
10293    GCPConsole is currently unstable, and its API may change, or it may be removed,
10294    without a major version bump.
10295    '''
10296    __slots__ = [
10297        'bind_interface',
10298        'egress_filter',
10299        'healthy',
10300        'id',
10301        'identity_alias_healthcheck_username',
10302        'identity_set_id',
10303        'name',
10304        'port_override',
10305        'proxy_cluster_id',
10306        'secret_store_id',
10307        'session_expiry',
10308        'subdomain',
10309        'tags',
10310        'workforce_pool_id',
10311        'workforce_provider_id',
10312    ]
10313
10314    def __init__(
10315        self,
10316        bind_interface=None,
10317        egress_filter=None,
10318        healthy=None,
10319        id=None,
10320        identity_alias_healthcheck_username=None,
10321        identity_set_id=None,
10322        name=None,
10323        port_override=None,
10324        proxy_cluster_id=None,
10325        secret_store_id=None,
10326        session_expiry=None,
10327        subdomain=None,
10328        tags=None,
10329        workforce_pool_id=None,
10330        workforce_provider_id=None,
10331    ):
10332        self.bind_interface = bind_interface if bind_interface is not None else ''
10333        '''
10334         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10335        '''
10336        self.egress_filter = egress_filter if egress_filter is not None else ''
10337        '''
10338         A filter applied to the routing logic to pin datasource to nodes.
10339        '''
10340        self.healthy = healthy if healthy is not None else False
10341        '''
10342         True if the datasource is reachable and the credentials are valid.
10343        '''
10344        self.id = id if id is not None else ''
10345        '''
10346         Unique identifier of the Resource.
10347        '''
10348        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10349        '''
10350         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10351        '''
10352        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10353        '''
10354         The ID of the identity set to use for identity connections.
10355        '''
10356        self.name = name if name is not None else ''
10357        '''
10358         Unique human-readable name of the Resource.
10359        '''
10360        self.port_override = port_override if port_override is not None else 0
10361        '''
10362         The local port used by clients to connect to this resource.
10363        '''
10364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10365        '''
10366         ID of the proxy cluster for this resource, if any.
10367        '''
10368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10369        '''
10370         ID of the secret store containing credentials for this resource, if any.
10371        '''
10372        self.session_expiry = session_expiry if session_expiry is not None else 0
10373        '''
10374         The length of time in seconds console sessions will live before needing to reauthenticate.
10375        '''
10376        self.subdomain = subdomain if subdomain is not None else ''
10377        '''
10378         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10379        '''
10380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10381        '''
10382         Tags is a map of key, value pairs.
10383        '''
10384        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10385        '''
10386         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10387        '''
10388        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10389        '''
10390         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
10391        '''
10392
10393    def __repr__(self):
10394        return '<sdm.GCPConsole ' + \
10395            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10396            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10397            'healthy: ' + repr(self.healthy) + ' ' +\
10398            'id: ' + repr(self.id) + ' ' +\
10399            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
10400            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
10401            'name: ' + repr(self.name) + ' ' +\
10402            'port_override: ' + repr(self.port_override) + ' ' +\
10403            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10404            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10405            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
10406            'subdomain: ' + repr(self.subdomain) + ' ' +\
10407            'tags: ' + repr(self.tags) + ' ' +\
10408            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
10409            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
10410            '>'
10411
10412    def to_dict(self):
10413        return {
10414            'bind_interface': self.bind_interface,
10415            'egress_filter': self.egress_filter,
10416            'healthy': self.healthy,
10417            'id': self.id,
10418            'identity_alias_healthcheck_username':
10419            self.identity_alias_healthcheck_username,
10420            'identity_set_id': self.identity_set_id,
10421            'name': self.name,
10422            'port_override': self.port_override,
10423            'proxy_cluster_id': self.proxy_cluster_id,
10424            'secret_store_id': self.secret_store_id,
10425            'session_expiry': self.session_expiry,
10426            'subdomain': self.subdomain,
10427            'tags': self.tags,
10428            'workforce_pool_id': self.workforce_pool_id,
10429            'workforce_provider_id': self.workforce_provider_id,
10430        }
10431
10432    @classmethod
10433    def from_dict(cls, d):
10434        return cls(
10435            bind_interface=d.get('bind_interface'),
10436            egress_filter=d.get('egress_filter'),
10437            healthy=d.get('healthy'),
10438            id=d.get('id'),
10439            identity_alias_healthcheck_username=d.get(
10440                'identity_alias_healthcheck_username'),
10441            identity_set_id=d.get('identity_set_id'),
10442            name=d.get('name'),
10443            port_override=d.get('port_override'),
10444            proxy_cluster_id=d.get('proxy_cluster_id'),
10445            secret_store_id=d.get('secret_store_id'),
10446            session_expiry=d.get('session_expiry'),
10447            subdomain=d.get('subdomain'),
10448            tags=d.get('tags'),
10449            workforce_pool_id=d.get('workforce_pool_id'),
10450            workforce_provider_id=d.get('workforce_provider_id'),
10451        )

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

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)
10314    def __init__(
10315        self,
10316        bind_interface=None,
10317        egress_filter=None,
10318        healthy=None,
10319        id=None,
10320        identity_alias_healthcheck_username=None,
10321        identity_set_id=None,
10322        name=None,
10323        port_override=None,
10324        proxy_cluster_id=None,
10325        secret_store_id=None,
10326        session_expiry=None,
10327        subdomain=None,
10328        tags=None,
10329        workforce_pool_id=None,
10330        workforce_provider_id=None,
10331    ):
10332        self.bind_interface = bind_interface if bind_interface is not None else ''
10333        '''
10334         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10335        '''
10336        self.egress_filter = egress_filter if egress_filter is not None else ''
10337        '''
10338         A filter applied to the routing logic to pin datasource to nodes.
10339        '''
10340        self.healthy = healthy if healthy is not None else False
10341        '''
10342         True if the datasource is reachable and the credentials are valid.
10343        '''
10344        self.id = id if id is not None else ''
10345        '''
10346         Unique identifier of the Resource.
10347        '''
10348        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10349        '''
10350         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10351        '''
10352        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10353        '''
10354         The ID of the identity set to use for identity connections.
10355        '''
10356        self.name = name if name is not None else ''
10357        '''
10358         Unique human-readable name of the Resource.
10359        '''
10360        self.port_override = port_override if port_override is not None else 0
10361        '''
10362         The local port used by clients to connect to this resource.
10363        '''
10364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10365        '''
10366         ID of the proxy cluster for this resource, if any.
10367        '''
10368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10369        '''
10370         ID of the secret store containing credentials for this resource, if any.
10371        '''
10372        self.session_expiry = session_expiry if session_expiry is not None else 0
10373        '''
10374         The length of time in seconds console sessions will live before needing to reauthenticate.
10375        '''
10376        self.subdomain = subdomain if subdomain is not None else ''
10377        '''
10378         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10379        '''
10380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10381        '''
10382         Tags is a map of key, value pairs.
10383        '''
10384        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10385        '''
10386         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10387        '''
10388        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10389        '''
10390         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
10391        '''
bind_interface

The bind interface is the IP 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)
10412    def to_dict(self):
10413        return {
10414            'bind_interface': self.bind_interface,
10415            'egress_filter': self.egress_filter,
10416            'healthy': self.healthy,
10417            'id': self.id,
10418            'identity_alias_healthcheck_username':
10419            self.identity_alias_healthcheck_username,
10420            'identity_set_id': self.identity_set_id,
10421            'name': self.name,
10422            'port_override': self.port_override,
10423            'proxy_cluster_id': self.proxy_cluster_id,
10424            'secret_store_id': self.secret_store_id,
10425            'session_expiry': self.session_expiry,
10426            'subdomain': self.subdomain,
10427            'tags': self.tags,
10428            'workforce_pool_id': self.workforce_pool_id,
10429            'workforce_provider_id': self.workforce_provider_id,
10430        }
@classmethod
def from_dict(cls, d)
10432    @classmethod
10433    def from_dict(cls, d):
10434        return cls(
10435            bind_interface=d.get('bind_interface'),
10436            egress_filter=d.get('egress_filter'),
10437            healthy=d.get('healthy'),
10438            id=d.get('id'),
10439            identity_alias_healthcheck_username=d.get(
10440                'identity_alias_healthcheck_username'),
10441            identity_set_id=d.get('identity_set_id'),
10442            name=d.get('name'),
10443            port_override=d.get('port_override'),
10444            proxy_cluster_id=d.get('proxy_cluster_id'),
10445            secret_store_id=d.get('secret_store_id'),
10446            session_expiry=d.get('session_expiry'),
10447            subdomain=d.get('subdomain'),
10448            tags=d.get('tags'),
10449            workforce_pool_id=d.get('workforce_pool_id'),
10450            workforce_provider_id=d.get('workforce_provider_id'),
10451        )
class GCPStore:
10454class GCPStore:
10455    __slots__ = [
10456        'id',
10457        'name',
10458        'projectid',
10459        'tags',
10460    ]
10461
10462    def __init__(
10463        self,
10464        id=None,
10465        name=None,
10466        projectid=None,
10467        tags=None,
10468    ):
10469        self.id = id if id is not None else ''
10470        '''
10471         Unique identifier of the SecretStore.
10472        '''
10473        self.name = name if name is not None else ''
10474        '''
10475         Unique human-readable name of the SecretStore.
10476        '''
10477        self.projectid = projectid if projectid is not None else ''
10478        '''
10479         The GCP project ID to target.
10480        '''
10481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10482        '''
10483         Tags is a map of key, value pairs.
10484        '''
10485
10486    def __repr__(self):
10487        return '<sdm.GCPStore ' + \
10488            'id: ' + repr(self.id) + ' ' +\
10489            'name: ' + repr(self.name) + ' ' +\
10490            'projectid: ' + repr(self.projectid) + ' ' +\
10491            'tags: ' + repr(self.tags) + ' ' +\
10492            '>'
10493
10494    def to_dict(self):
10495        return {
10496            'id': self.id,
10497            'name': self.name,
10498            'projectid': self.projectid,
10499            'tags': self.tags,
10500        }
10501
10502    @classmethod
10503    def from_dict(cls, d):
10504        return cls(
10505            id=d.get('id'),
10506            name=d.get('name'),
10507            projectid=d.get('projectid'),
10508            tags=d.get('tags'),
10509        )
GCPStore(id=None, name=None, projectid=None, tags=None)
10462    def __init__(
10463        self,
10464        id=None,
10465        name=None,
10466        projectid=None,
10467        tags=None,
10468    ):
10469        self.id = id if id is not None else ''
10470        '''
10471         Unique identifier of the SecretStore.
10472        '''
10473        self.name = name if name is not None else ''
10474        '''
10475         Unique human-readable name of the SecretStore.
10476        '''
10477        self.projectid = projectid if projectid is not None else ''
10478        '''
10479         The GCP project ID to target.
10480        '''
10481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10482        '''
10483         Tags is a map of key, value pairs.
10484        '''
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)
10494    def to_dict(self):
10495        return {
10496            'id': self.id,
10497            'name': self.name,
10498            'projectid': self.projectid,
10499            'tags': self.tags,
10500        }
@classmethod
def from_dict(cls, d)
10502    @classmethod
10503    def from_dict(cls, d):
10504        return cls(
10505            id=d.get('id'),
10506            name=d.get('name'),
10507            projectid=d.get('projectid'),
10508            tags=d.get('tags'),
10509        )
class GCPWIF:
10512class GCPWIF:
10513    '''
10514    GCPWIF is currently unstable, and its API may change, or it may be removed,
10515    without a major version bump.
10516    '''
10517    __slots__ = [
10518        'bind_interface',
10519        'egress_filter',
10520        'healthy',
10521        'id',
10522        'identity_alias_healthcheck_username',
10523        'identity_set_id',
10524        'name',
10525        'port_override',
10526        'project_id',
10527        'proxy_cluster_id',
10528        'scopes',
10529        'secret_store_id',
10530        'session_expiry',
10531        'subdomain',
10532        'tags',
10533        'workforce_pool_id',
10534        'workforce_provider_id',
10535    ]
10536
10537    def __init__(
10538        self,
10539        bind_interface=None,
10540        egress_filter=None,
10541        healthy=None,
10542        id=None,
10543        identity_alias_healthcheck_username=None,
10544        identity_set_id=None,
10545        name=None,
10546        port_override=None,
10547        project_id=None,
10548        proxy_cluster_id=None,
10549        scopes=None,
10550        secret_store_id=None,
10551        session_expiry=None,
10552        subdomain=None,
10553        tags=None,
10554        workforce_pool_id=None,
10555        workforce_provider_id=None,
10556    ):
10557        self.bind_interface = bind_interface if bind_interface is not None else ''
10558        '''
10559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10560        '''
10561        self.egress_filter = egress_filter if egress_filter is not None else ''
10562        '''
10563         A filter applied to the routing logic to pin datasource to nodes.
10564        '''
10565        self.healthy = healthy if healthy is not None else False
10566        '''
10567         True if the datasource is reachable and the credentials are valid.
10568        '''
10569        self.id = id if id is not None else ''
10570        '''
10571         Unique identifier of the Resource.
10572        '''
10573        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10574        '''
10575         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10576        '''
10577        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10578        '''
10579         The ID of the identity set to use for identity connections.
10580        '''
10581        self.name = name if name is not None else ''
10582        '''
10583         Unique human-readable name of the Resource.
10584        '''
10585        self.port_override = port_override if port_override is not None else 0
10586        '''
10587         The local port used by clients to connect to this resource.
10588        '''
10589        self.project_id = project_id if project_id is not None else ''
10590        '''
10591         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
10592        '''
10593        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10594        '''
10595         ID of the proxy cluster for this resource, if any.
10596        '''
10597        self.scopes = scopes if scopes is not None else ''
10598        '''
10599         Space separated scopes that this login should assume into when authenticating.
10600        '''
10601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10602        '''
10603         ID of the secret store containing credentials for this resource, if any.
10604        '''
10605        self.session_expiry = session_expiry if session_expiry is not None else 0
10606        '''
10607         The length of time in seconds console sessions will live before needing to reauthenticate.
10608        '''
10609        self.subdomain = subdomain if subdomain is not None else ''
10610        '''
10611         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10612        '''
10613        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10614        '''
10615         Tags is a map of key, value pairs.
10616        '''
10617        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10618        '''
10619         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10620        '''
10621        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10622        '''
10623         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
10624        '''
10625
10626    def __repr__(self):
10627        return '<sdm.GCPWIF ' + \
10628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10630            'healthy: ' + repr(self.healthy) + ' ' +\
10631            'id: ' + repr(self.id) + ' ' +\
10632            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
10633            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
10634            'name: ' + repr(self.name) + ' ' +\
10635            'port_override: ' + repr(self.port_override) + ' ' +\
10636            'project_id: ' + repr(self.project_id) + ' ' +\
10637            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10638            'scopes: ' + repr(self.scopes) + ' ' +\
10639            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10640            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
10641            'subdomain: ' + repr(self.subdomain) + ' ' +\
10642            'tags: ' + repr(self.tags) + ' ' +\
10643            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
10644            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
10645            '>'
10646
10647    def to_dict(self):
10648        return {
10649            'bind_interface': self.bind_interface,
10650            'egress_filter': self.egress_filter,
10651            'healthy': self.healthy,
10652            'id': self.id,
10653            'identity_alias_healthcheck_username':
10654            self.identity_alias_healthcheck_username,
10655            'identity_set_id': self.identity_set_id,
10656            'name': self.name,
10657            'port_override': self.port_override,
10658            'project_id': self.project_id,
10659            'proxy_cluster_id': self.proxy_cluster_id,
10660            'scopes': self.scopes,
10661            'secret_store_id': self.secret_store_id,
10662            'session_expiry': self.session_expiry,
10663            'subdomain': self.subdomain,
10664            'tags': self.tags,
10665            'workforce_pool_id': self.workforce_pool_id,
10666            'workforce_provider_id': self.workforce_provider_id,
10667        }
10668
10669    @classmethod
10670    def from_dict(cls, d):
10671        return cls(
10672            bind_interface=d.get('bind_interface'),
10673            egress_filter=d.get('egress_filter'),
10674            healthy=d.get('healthy'),
10675            id=d.get('id'),
10676            identity_alias_healthcheck_username=d.get(
10677                'identity_alias_healthcheck_username'),
10678            identity_set_id=d.get('identity_set_id'),
10679            name=d.get('name'),
10680            port_override=d.get('port_override'),
10681            project_id=d.get('project_id'),
10682            proxy_cluster_id=d.get('proxy_cluster_id'),
10683            scopes=d.get('scopes'),
10684            secret_store_id=d.get('secret_store_id'),
10685            session_expiry=d.get('session_expiry'),
10686            subdomain=d.get('subdomain'),
10687            tags=d.get('tags'),
10688            workforce_pool_id=d.get('workforce_pool_id'),
10689            workforce_provider_id=d.get('workforce_provider_id'),
10690        )

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

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)
10537    def __init__(
10538        self,
10539        bind_interface=None,
10540        egress_filter=None,
10541        healthy=None,
10542        id=None,
10543        identity_alias_healthcheck_username=None,
10544        identity_set_id=None,
10545        name=None,
10546        port_override=None,
10547        project_id=None,
10548        proxy_cluster_id=None,
10549        scopes=None,
10550        secret_store_id=None,
10551        session_expiry=None,
10552        subdomain=None,
10553        tags=None,
10554        workforce_pool_id=None,
10555        workforce_provider_id=None,
10556    ):
10557        self.bind_interface = bind_interface if bind_interface is not None else ''
10558        '''
10559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10560        '''
10561        self.egress_filter = egress_filter if egress_filter is not None else ''
10562        '''
10563         A filter applied to the routing logic to pin datasource to nodes.
10564        '''
10565        self.healthy = healthy if healthy is not None else False
10566        '''
10567         True if the datasource is reachable and the credentials are valid.
10568        '''
10569        self.id = id if id is not None else ''
10570        '''
10571         Unique identifier of the Resource.
10572        '''
10573        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10574        '''
10575         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10576        '''
10577        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10578        '''
10579         The ID of the identity set to use for identity connections.
10580        '''
10581        self.name = name if name is not None else ''
10582        '''
10583         Unique human-readable name of the Resource.
10584        '''
10585        self.port_override = port_override if port_override is not None else 0
10586        '''
10587         The local port used by clients to connect to this resource.
10588        '''
10589        self.project_id = project_id if project_id is not None else ''
10590        '''
10591         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
10592        '''
10593        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10594        '''
10595         ID of the proxy cluster for this resource, if any.
10596        '''
10597        self.scopes = scopes if scopes is not None else ''
10598        '''
10599         Space separated scopes that this login should assume into when authenticating.
10600        '''
10601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10602        '''
10603         ID of the secret store containing credentials for this resource, if any.
10604        '''
10605        self.session_expiry = session_expiry if session_expiry is not None else 0
10606        '''
10607         The length of time in seconds console sessions will live before needing to reauthenticate.
10608        '''
10609        self.subdomain = subdomain if subdomain is not None else ''
10610        '''
10611         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10612        '''
10613        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10614        '''
10615         Tags is a map of key, value pairs.
10616        '''
10617        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
10618        '''
10619         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
10620        '''
10621        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
10622        '''
10623         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
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.

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)
10647    def to_dict(self):
10648        return {
10649            'bind_interface': self.bind_interface,
10650            'egress_filter': self.egress_filter,
10651            'healthy': self.healthy,
10652            'id': self.id,
10653            'identity_alias_healthcheck_username':
10654            self.identity_alias_healthcheck_username,
10655            'identity_set_id': self.identity_set_id,
10656            'name': self.name,
10657            'port_override': self.port_override,
10658            'project_id': self.project_id,
10659            'proxy_cluster_id': self.proxy_cluster_id,
10660            'scopes': self.scopes,
10661            'secret_store_id': self.secret_store_id,
10662            'session_expiry': self.session_expiry,
10663            'subdomain': self.subdomain,
10664            'tags': self.tags,
10665            'workforce_pool_id': self.workforce_pool_id,
10666            'workforce_provider_id': self.workforce_provider_id,
10667        }
@classmethod
def from_dict(cls, d)
10669    @classmethod
10670    def from_dict(cls, d):
10671        return cls(
10672            bind_interface=d.get('bind_interface'),
10673            egress_filter=d.get('egress_filter'),
10674            healthy=d.get('healthy'),
10675            id=d.get('id'),
10676            identity_alias_healthcheck_username=d.get(
10677                'identity_alias_healthcheck_username'),
10678            identity_set_id=d.get('identity_set_id'),
10679            name=d.get('name'),
10680            port_override=d.get('port_override'),
10681            project_id=d.get('project_id'),
10682            proxy_cluster_id=d.get('proxy_cluster_id'),
10683            scopes=d.get('scopes'),
10684            secret_store_id=d.get('secret_store_id'),
10685            session_expiry=d.get('session_expiry'),
10686            subdomain=d.get('subdomain'),
10687            tags=d.get('tags'),
10688            workforce_pool_id=d.get('workforce_pool_id'),
10689            workforce_provider_id=d.get('workforce_provider_id'),
10690        )
class Gateway:
10693class Gateway:
10694    '''
10695         Gateway represents a StrongDM CLI installation running in gateway mode.
10696    '''
10697    __slots__ = [
10698        'bind_address',
10699        'device',
10700        'gateway_filter',
10701        'id',
10702        'listen_address',
10703        'location',
10704        'maintenance_windows',
10705        'name',
10706        'state',
10707        'tags',
10708        'version',
10709    ]
10710
10711    def __init__(
10712        self,
10713        bind_address=None,
10714        device=None,
10715        gateway_filter=None,
10716        id=None,
10717        listen_address=None,
10718        location=None,
10719        maintenance_windows=None,
10720        name=None,
10721        state=None,
10722        tags=None,
10723        version=None,
10724    ):
10725        self.bind_address = bind_address if bind_address is not None else ''
10726        '''
10727         The hostname/port tuple which the gateway daemon will bind to.
10728         If not provided on create, set to "0.0.0.0:listen_address_port".
10729        '''
10730        self.device = device if device is not None else ''
10731        '''
10732         Device is a read only device name uploaded by the gateway process when
10733         it comes online.
10734        '''
10735        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
10736        '''
10737         GatewayFilter can be used to restrict the peering between relays and
10738         gateways. Deprecated.
10739        '''
10740        self.id = id if id is not None else ''
10741        '''
10742         Unique identifier of the Gateway.
10743        '''
10744        self.listen_address = listen_address if listen_address is not None else ''
10745        '''
10746         The public hostname/port tuple at which the gateway will be accessible to clients.
10747        '''
10748        self.location = location if location is not None else ''
10749        '''
10750         Location is a read only network location uploaded by the gateway process
10751         when it comes online.
10752        '''
10753        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
10754        '''
10755         Maintenance Windows define when this node is allowed to restart. If a node
10756         is requested to restart, it will check each window to determine if any of
10757         them permit it to restart, and if any do, it will. This check is repeated
10758         per window until the restart is successfully completed.
10759         
10760         If not set here, may be set on the command line or via an environment variable
10761         on the process itself; any server setting will take precedence over local
10762         settings. This setting is ineffective for nodes below version 38.44.0.
10763         
10764         If this setting is not applied via this remote configuration or via local
10765         configuration, the default setting is used: always allow restarts if serving
10766         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
10767        '''
10768        self.name = name if name is not None else ''
10769        '''
10770         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.
10771        '''
10772        self.state = state if state is not None else ''
10773        '''
10774         The current state of the gateway. One of: "new", "verifying_restart",
10775         "restarting", "started", "stopped", "dead", "unknown"
10776        '''
10777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10778        '''
10779         Tags is a map of key, value pairs.
10780        '''
10781        self.version = version if version is not None else ''
10782        '''
10783         Version is a read only sdm binary version uploaded by the gateway process
10784         when it comes online.
10785        '''
10786
10787    def __repr__(self):
10788        return '<sdm.Gateway ' + \
10789            'bind_address: ' + repr(self.bind_address) + ' ' +\
10790            'device: ' + repr(self.device) + ' ' +\
10791            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
10792            'id: ' + repr(self.id) + ' ' +\
10793            'listen_address: ' + repr(self.listen_address) + ' ' +\
10794            'location: ' + repr(self.location) + ' ' +\
10795            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
10796            'name: ' + repr(self.name) + ' ' +\
10797            'state: ' + repr(self.state) + ' ' +\
10798            'tags: ' + repr(self.tags) + ' ' +\
10799            'version: ' + repr(self.version) + ' ' +\
10800            '>'
10801
10802    def to_dict(self):
10803        return {
10804            'bind_address': self.bind_address,
10805            'device': self.device,
10806            'gateway_filter': self.gateway_filter,
10807            'id': self.id,
10808            'listen_address': self.listen_address,
10809            'location': self.location,
10810            'maintenance_windows': self.maintenance_windows,
10811            'name': self.name,
10812            'state': self.state,
10813            'tags': self.tags,
10814            'version': self.version,
10815        }
10816
10817    @classmethod
10818    def from_dict(cls, d):
10819        return cls(
10820            bind_address=d.get('bind_address'),
10821            device=d.get('device'),
10822            gateway_filter=d.get('gateway_filter'),
10823            id=d.get('id'),
10824            listen_address=d.get('listen_address'),
10825            location=d.get('location'),
10826            maintenance_windows=d.get('maintenance_windows'),
10827            name=d.get('name'),
10828            state=d.get('state'),
10829            tags=d.get('tags'),
10830            version=d.get('version'),
10831        )

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)
10711    def __init__(
10712        self,
10713        bind_address=None,
10714        device=None,
10715        gateway_filter=None,
10716        id=None,
10717        listen_address=None,
10718        location=None,
10719        maintenance_windows=None,
10720        name=None,
10721        state=None,
10722        tags=None,
10723        version=None,
10724    ):
10725        self.bind_address = bind_address if bind_address is not None else ''
10726        '''
10727         The hostname/port tuple which the gateway daemon will bind to.
10728         If not provided on create, set to "0.0.0.0:listen_address_port".
10729        '''
10730        self.device = device if device is not None else ''
10731        '''
10732         Device is a read only device name uploaded by the gateway process when
10733         it comes online.
10734        '''
10735        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
10736        '''
10737         GatewayFilter can be used to restrict the peering between relays and
10738         gateways. Deprecated.
10739        '''
10740        self.id = id if id is not None else ''
10741        '''
10742         Unique identifier of the Gateway.
10743        '''
10744        self.listen_address = listen_address if listen_address is not None else ''
10745        '''
10746         The public hostname/port tuple at which the gateway will be accessible to clients.
10747        '''
10748        self.location = location if location is not None else ''
10749        '''
10750         Location is a read only network location uploaded by the gateway process
10751         when it comes online.
10752        '''
10753        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
10754        '''
10755         Maintenance Windows define when this node is allowed to restart. If a node
10756         is requested to restart, it will check each window to determine if any of
10757         them permit it to restart, and if any do, it will. This check is repeated
10758         per window until the restart is successfully completed.
10759         
10760         If not set here, may be set on the command line or via an environment variable
10761         on the process itself; any server setting will take precedence over local
10762         settings. This setting is ineffective for nodes below version 38.44.0.
10763         
10764         If this setting is not applied via this remote configuration or via local
10765         configuration, the default setting is used: always allow restarts if serving
10766         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
10767        '''
10768        self.name = name if name is not None else ''
10769        '''
10770         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.
10771        '''
10772        self.state = state if state is not None else ''
10773        '''
10774         The current state of the gateway. One of: "new", "verifying_restart",
10775         "restarting", "started", "stopped", "dead", "unknown"
10776        '''
10777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10778        '''
10779         Tags is a map of key, value pairs.
10780        '''
10781        self.version = version if version is not None else ''
10782        '''
10783         Version is a read only sdm binary version uploaded by the gateway process
10784         when it comes online.
10785        '''
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)
10802    def to_dict(self):
10803        return {
10804            'bind_address': self.bind_address,
10805            'device': self.device,
10806            'gateway_filter': self.gateway_filter,
10807            'id': self.id,
10808            'listen_address': self.listen_address,
10809            'location': self.location,
10810            'maintenance_windows': self.maintenance_windows,
10811            'name': self.name,
10812            'state': self.state,
10813            'tags': self.tags,
10814            'version': self.version,
10815        }
@classmethod
def from_dict(cls, d)
10817    @classmethod
10818    def from_dict(cls, d):
10819        return cls(
10820            bind_address=d.get('bind_address'),
10821            device=d.get('device'),
10822            gateway_filter=d.get('gateway_filter'),
10823            id=d.get('id'),
10824            listen_address=d.get('listen_address'),
10825            location=d.get('location'),
10826            maintenance_windows=d.get('maintenance_windows'),
10827            name=d.get('name'),
10828            state=d.get('state'),
10829            tags=d.get('tags'),
10830            version=d.get('version'),
10831        )
class GenericResponseMetadata:
10834class GenericResponseMetadata:
10835    '''
10836         GenericResponseMetadata contains common headers for generic request
10837     responses.
10838    '''
10839    __slots__ = []
10840
10841    def __init__(self, ):
10842        pass
10843
10844    def __repr__(self):
10845        return '<sdm.GenericResponseMetadata ' + \
10846            '>'
10847
10848    def to_dict(self):
10849        return {}
10850
10851    @classmethod
10852    def from_dict(cls, d):
10853        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
10841    def __init__(self, ):
10842        pass
def to_dict(self)
10848    def to_dict(self):
10849        return {}
@classmethod
def from_dict(cls, d)
10851    @classmethod
10852    def from_dict(cls, d):
10853        return cls()
class GetResponseMetadata:
10856class GetResponseMetadata:
10857    '''
10858         GetResponseMetadata is reserved for future use.
10859    '''
10860    __slots__ = []
10861
10862    def __init__(self, ):
10863        pass
10864
10865    def __repr__(self):
10866        return '<sdm.GetResponseMetadata ' + \
10867            '>'
10868
10869    def to_dict(self):
10870        return {}
10871
10872    @classmethod
10873    def from_dict(cls, d):
10874        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
10862    def __init__(self, ):
10863        pass
def to_dict(self)
10869    def to_dict(self):
10870        return {}
@classmethod
def from_dict(cls, d)
10872    @classmethod
10873    def from_dict(cls, d):
10874        return cls()
class GoogleGKE:
10877class GoogleGKE:
10878    __slots__ = [
10879        'allow_resource_role_bypass',
10880        'bind_interface',
10881        'certificate_authority',
10882        'discovery_enabled',
10883        'discovery_username',
10884        'egress_filter',
10885        'endpoint',
10886        'healthcheck_namespace',
10887        'healthy',
10888        'id',
10889        'identity_alias_healthcheck_username',
10890        'identity_set_id',
10891        'name',
10892        'port_override',
10893        'proxy_cluster_id',
10894        'secret_store_id',
10895        'service_account_key',
10896        'subdomain',
10897        'tags',
10898    ]
10899
10900    def __init__(
10901        self,
10902        allow_resource_role_bypass=None,
10903        bind_interface=None,
10904        certificate_authority=None,
10905        discovery_enabled=None,
10906        discovery_username=None,
10907        egress_filter=None,
10908        endpoint=None,
10909        healthcheck_namespace=None,
10910        healthy=None,
10911        id=None,
10912        identity_alias_healthcheck_username=None,
10913        identity_set_id=None,
10914        name=None,
10915        port_override=None,
10916        proxy_cluster_id=None,
10917        secret_store_id=None,
10918        service_account_key=None,
10919        subdomain=None,
10920        tags=None,
10921    ):
10922        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
10923        '''
10924         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
10925         when a resource role is not provided.
10926        '''
10927        self.bind_interface = bind_interface if bind_interface is not None else ''
10928        '''
10929         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10930        '''
10931        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
10932        '''
10933         The CA to authenticate TLS connections with.
10934        '''
10935        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
10936        '''
10937         If true, configures discovery of a cluster to be run from a node.
10938        '''
10939        self.discovery_username = discovery_username if discovery_username is not None else ''
10940        '''
10941         If a cluster is configured for user impersonation, this is the user to impersonate when
10942         running discovery.
10943        '''
10944        self.egress_filter = egress_filter if egress_filter is not None else ''
10945        '''
10946         A filter applied to the routing logic to pin datasource to nodes.
10947        '''
10948        self.endpoint = endpoint if endpoint is not None else ''
10949        '''
10950         The endpoint to dial.
10951        '''
10952        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
10953        '''
10954         The path used to check the health of your connection.  Defaults to `default`.
10955        '''
10956        self.healthy = healthy if healthy is not None else False
10957        '''
10958         True if the datasource is reachable and the credentials are valid.
10959        '''
10960        self.id = id if id is not None else ''
10961        '''
10962         Unique identifier of the Resource.
10963        '''
10964        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10965        '''
10966         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10967        '''
10968        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10969        '''
10970         The ID of the identity set to use for identity connections.
10971        '''
10972        self.name = name if name is not None else ''
10973        '''
10974         Unique human-readable name of the Resource.
10975        '''
10976        self.port_override = port_override if port_override is not None else 0
10977        '''
10978         The local port used by clients to connect to this resource.
10979        '''
10980        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10981        '''
10982         ID of the proxy cluster for this resource, if any.
10983        '''
10984        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10985        '''
10986         ID of the secret store containing credentials for this resource, if any.
10987        '''
10988        self.service_account_key = service_account_key if service_account_key is not None else ''
10989        '''
10990         The service account key to authenticate with.
10991        '''
10992        self.subdomain = subdomain if subdomain is not None else ''
10993        '''
10994         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10995        '''
10996        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10997        '''
10998         Tags is a map of key, value pairs.
10999        '''
11000
11001    def __repr__(self):
11002        return '<sdm.GoogleGKE ' + \
11003            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
11004            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11005            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
11006            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
11007            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
11008            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11009            'endpoint: ' + repr(self.endpoint) + ' ' +\
11010            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
11011            'healthy: ' + repr(self.healthy) + ' ' +\
11012            'id: ' + repr(self.id) + ' ' +\
11013            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
11014            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
11015            'name: ' + repr(self.name) + ' ' +\
11016            'port_override: ' + repr(self.port_override) + ' ' +\
11017            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11018            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11019            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
11020            'subdomain: ' + repr(self.subdomain) + ' ' +\
11021            'tags: ' + repr(self.tags) + ' ' +\
11022            '>'
11023
11024    def to_dict(self):
11025        return {
11026            'allow_resource_role_bypass': self.allow_resource_role_bypass,
11027            'bind_interface': self.bind_interface,
11028            'certificate_authority': self.certificate_authority,
11029            'discovery_enabled': self.discovery_enabled,
11030            'discovery_username': self.discovery_username,
11031            'egress_filter': self.egress_filter,
11032            'endpoint': self.endpoint,
11033            'healthcheck_namespace': self.healthcheck_namespace,
11034            'healthy': self.healthy,
11035            'id': self.id,
11036            'identity_alias_healthcheck_username':
11037            self.identity_alias_healthcheck_username,
11038            'identity_set_id': self.identity_set_id,
11039            'name': self.name,
11040            'port_override': self.port_override,
11041            'proxy_cluster_id': self.proxy_cluster_id,
11042            'secret_store_id': self.secret_store_id,
11043            'service_account_key': self.service_account_key,
11044            'subdomain': self.subdomain,
11045            'tags': self.tags,
11046        }
11047
11048    @classmethod
11049    def from_dict(cls, d):
11050        return cls(
11051            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
11052            bind_interface=d.get('bind_interface'),
11053            certificate_authority=d.get('certificate_authority'),
11054            discovery_enabled=d.get('discovery_enabled'),
11055            discovery_username=d.get('discovery_username'),
11056            egress_filter=d.get('egress_filter'),
11057            endpoint=d.get('endpoint'),
11058            healthcheck_namespace=d.get('healthcheck_namespace'),
11059            healthy=d.get('healthy'),
11060            id=d.get('id'),
11061            identity_alias_healthcheck_username=d.get(
11062                'identity_alias_healthcheck_username'),
11063            identity_set_id=d.get('identity_set_id'),
11064            name=d.get('name'),
11065            port_override=d.get('port_override'),
11066            proxy_cluster_id=d.get('proxy_cluster_id'),
11067            secret_store_id=d.get('secret_store_id'),
11068            service_account_key=d.get('service_account_key'),
11069            subdomain=d.get('subdomain'),
11070            tags=d.get('tags'),
11071        )
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)
10900    def __init__(
10901        self,
10902        allow_resource_role_bypass=None,
10903        bind_interface=None,
10904        certificate_authority=None,
10905        discovery_enabled=None,
10906        discovery_username=None,
10907        egress_filter=None,
10908        endpoint=None,
10909        healthcheck_namespace=None,
10910        healthy=None,
10911        id=None,
10912        identity_alias_healthcheck_username=None,
10913        identity_set_id=None,
10914        name=None,
10915        port_override=None,
10916        proxy_cluster_id=None,
10917        secret_store_id=None,
10918        service_account_key=None,
10919        subdomain=None,
10920        tags=None,
10921    ):
10922        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
10923        '''
10924         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
10925         when a resource role is not provided.
10926        '''
10927        self.bind_interface = bind_interface if bind_interface is not None else ''
10928        '''
10929         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10930        '''
10931        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
10932        '''
10933         The CA to authenticate TLS connections with.
10934        '''
10935        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
10936        '''
10937         If true, configures discovery of a cluster to be run from a node.
10938        '''
10939        self.discovery_username = discovery_username if discovery_username is not None else ''
10940        '''
10941         If a cluster is configured for user impersonation, this is the user to impersonate when
10942         running discovery.
10943        '''
10944        self.egress_filter = egress_filter if egress_filter is not None else ''
10945        '''
10946         A filter applied to the routing logic to pin datasource to nodes.
10947        '''
10948        self.endpoint = endpoint if endpoint is not None else ''
10949        '''
10950         The endpoint to dial.
10951        '''
10952        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
10953        '''
10954         The path used to check the health of your connection.  Defaults to `default`.
10955        '''
10956        self.healthy = healthy if healthy is not None else False
10957        '''
10958         True if the datasource is reachable and the credentials are valid.
10959        '''
10960        self.id = id if id is not None else ''
10961        '''
10962         Unique identifier of the Resource.
10963        '''
10964        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
10965        '''
10966         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
10967        '''
10968        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
10969        '''
10970         The ID of the identity set to use for identity connections.
10971        '''
10972        self.name = name if name is not None else ''
10973        '''
10974         Unique human-readable name of the Resource.
10975        '''
10976        self.port_override = port_override if port_override is not None else 0
10977        '''
10978         The local port used by clients to connect to this resource.
10979        '''
10980        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10981        '''
10982         ID of the proxy cluster for this resource, if any.
10983        '''
10984        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10985        '''
10986         ID of the secret store containing credentials for this resource, if any.
10987        '''
10988        self.service_account_key = service_account_key if service_account_key is not None else ''
10989        '''
10990         The service account key to authenticate with.
10991        '''
10992        self.subdomain = subdomain if subdomain is not None else ''
10993        '''
10994         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10995        '''
10996        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10997        '''
10998         Tags is a map of key, value pairs.
10999        '''
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)
11024    def to_dict(self):
11025        return {
11026            'allow_resource_role_bypass': self.allow_resource_role_bypass,
11027            'bind_interface': self.bind_interface,
11028            'certificate_authority': self.certificate_authority,
11029            'discovery_enabled': self.discovery_enabled,
11030            'discovery_username': self.discovery_username,
11031            'egress_filter': self.egress_filter,
11032            'endpoint': self.endpoint,
11033            'healthcheck_namespace': self.healthcheck_namespace,
11034            'healthy': self.healthy,
11035            'id': self.id,
11036            'identity_alias_healthcheck_username':
11037            self.identity_alias_healthcheck_username,
11038            'identity_set_id': self.identity_set_id,
11039            'name': self.name,
11040            'port_override': self.port_override,
11041            'proxy_cluster_id': self.proxy_cluster_id,
11042            'secret_store_id': self.secret_store_id,
11043            'service_account_key': self.service_account_key,
11044            'subdomain': self.subdomain,
11045            'tags': self.tags,
11046        }
@classmethod
def from_dict(cls, d)
11048    @classmethod
11049    def from_dict(cls, d):
11050        return cls(
11051            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
11052            bind_interface=d.get('bind_interface'),
11053            certificate_authority=d.get('certificate_authority'),
11054            discovery_enabled=d.get('discovery_enabled'),
11055            discovery_username=d.get('discovery_username'),
11056            egress_filter=d.get('egress_filter'),
11057            endpoint=d.get('endpoint'),
11058            healthcheck_namespace=d.get('healthcheck_namespace'),
11059            healthy=d.get('healthy'),
11060            id=d.get('id'),
11061            identity_alias_healthcheck_username=d.get(
11062                'identity_alias_healthcheck_username'),
11063            identity_set_id=d.get('identity_set_id'),
11064            name=d.get('name'),
11065            port_override=d.get('port_override'),
11066            proxy_cluster_id=d.get('proxy_cluster_id'),
11067            secret_store_id=d.get('secret_store_id'),
11068            service_account_key=d.get('service_account_key'),
11069            subdomain=d.get('subdomain'),
11070            tags=d.get('tags'),
11071        )
class GoogleGKEUserImpersonation:
11074class GoogleGKEUserImpersonation:
11075    __slots__ = [
11076        'bind_interface',
11077        'certificate_authority',
11078        'egress_filter',
11079        'endpoint',
11080        'healthcheck_namespace',
11081        'healthy',
11082        'id',
11083        'name',
11084        'port_override',
11085        'proxy_cluster_id',
11086        'secret_store_id',
11087        'service_account_key',
11088        'subdomain',
11089        'tags',
11090    ]
11091
11092    def __init__(
11093        self,
11094        bind_interface=None,
11095        certificate_authority=None,
11096        egress_filter=None,
11097        endpoint=None,
11098        healthcheck_namespace=None,
11099        healthy=None,
11100        id=None,
11101        name=None,
11102        port_override=None,
11103        proxy_cluster_id=None,
11104        secret_store_id=None,
11105        service_account_key=None,
11106        subdomain=None,
11107        tags=None,
11108    ):
11109        self.bind_interface = bind_interface if bind_interface is not None else ''
11110        '''
11111         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11112        '''
11113        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
11114        '''
11115         The CA to authenticate TLS connections with.
11116        '''
11117        self.egress_filter = egress_filter if egress_filter is not None else ''
11118        '''
11119         A filter applied to the routing logic to pin datasource to nodes.
11120        '''
11121        self.endpoint = endpoint if endpoint is not None else ''
11122        '''
11123         The endpoint to dial.
11124        '''
11125        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
11126        '''
11127         The path used to check the health of your connection.  Defaults to `default`.
11128        '''
11129        self.healthy = healthy if healthy is not None else False
11130        '''
11131         True if the datasource is reachable and the credentials are valid.
11132        '''
11133        self.id = id if id is not None else ''
11134        '''
11135         Unique identifier of the Resource.
11136        '''
11137        self.name = name if name is not None else ''
11138        '''
11139         Unique human-readable name of the Resource.
11140        '''
11141        self.port_override = port_override if port_override is not None else 0
11142        '''
11143         The local port used by clients to connect to this resource.
11144        '''
11145        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11146        '''
11147         ID of the proxy cluster for this resource, if any.
11148        '''
11149        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11150        '''
11151         ID of the secret store containing credentials for this resource, if any.
11152        '''
11153        self.service_account_key = service_account_key if service_account_key is not None else ''
11154        '''
11155         The service account key to authenticate with.
11156        '''
11157        self.subdomain = subdomain if subdomain is not None else ''
11158        '''
11159         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11160        '''
11161        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11162        '''
11163         Tags is a map of key, value pairs.
11164        '''
11165
11166    def __repr__(self):
11167        return '<sdm.GoogleGKEUserImpersonation ' + \
11168            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11169            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
11170            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11171            'endpoint: ' + repr(self.endpoint) + ' ' +\
11172            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
11173            'healthy: ' + repr(self.healthy) + ' ' +\
11174            'id: ' + repr(self.id) + ' ' +\
11175            'name: ' + repr(self.name) + ' ' +\
11176            'port_override: ' + repr(self.port_override) + ' ' +\
11177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11179            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
11180            'subdomain: ' + repr(self.subdomain) + ' ' +\
11181            'tags: ' + repr(self.tags) + ' ' +\
11182            '>'
11183
11184    def to_dict(self):
11185        return {
11186            'bind_interface': self.bind_interface,
11187            'certificate_authority': self.certificate_authority,
11188            'egress_filter': self.egress_filter,
11189            'endpoint': self.endpoint,
11190            'healthcheck_namespace': self.healthcheck_namespace,
11191            'healthy': self.healthy,
11192            'id': self.id,
11193            'name': self.name,
11194            'port_override': self.port_override,
11195            'proxy_cluster_id': self.proxy_cluster_id,
11196            'secret_store_id': self.secret_store_id,
11197            'service_account_key': self.service_account_key,
11198            'subdomain': self.subdomain,
11199            'tags': self.tags,
11200        }
11201
11202    @classmethod
11203    def from_dict(cls, d):
11204        return cls(
11205            bind_interface=d.get('bind_interface'),
11206            certificate_authority=d.get('certificate_authority'),
11207            egress_filter=d.get('egress_filter'),
11208            endpoint=d.get('endpoint'),
11209            healthcheck_namespace=d.get('healthcheck_namespace'),
11210            healthy=d.get('healthy'),
11211            id=d.get('id'),
11212            name=d.get('name'),
11213            port_override=d.get('port_override'),
11214            proxy_cluster_id=d.get('proxy_cluster_id'),
11215            secret_store_id=d.get('secret_store_id'),
11216            service_account_key=d.get('service_account_key'),
11217            subdomain=d.get('subdomain'),
11218            tags=d.get('tags'),
11219        )
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)
11092    def __init__(
11093        self,
11094        bind_interface=None,
11095        certificate_authority=None,
11096        egress_filter=None,
11097        endpoint=None,
11098        healthcheck_namespace=None,
11099        healthy=None,
11100        id=None,
11101        name=None,
11102        port_override=None,
11103        proxy_cluster_id=None,
11104        secret_store_id=None,
11105        service_account_key=None,
11106        subdomain=None,
11107        tags=None,
11108    ):
11109        self.bind_interface = bind_interface if bind_interface is not None else ''
11110        '''
11111         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11112        '''
11113        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
11114        '''
11115         The CA to authenticate TLS connections with.
11116        '''
11117        self.egress_filter = egress_filter if egress_filter is not None else ''
11118        '''
11119         A filter applied to the routing logic to pin datasource to nodes.
11120        '''
11121        self.endpoint = endpoint if endpoint is not None else ''
11122        '''
11123         The endpoint to dial.
11124        '''
11125        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
11126        '''
11127         The path used to check the health of your connection.  Defaults to `default`.
11128        '''
11129        self.healthy = healthy if healthy is not None else False
11130        '''
11131         True if the datasource is reachable and the credentials are valid.
11132        '''
11133        self.id = id if id is not None else ''
11134        '''
11135         Unique identifier of the Resource.
11136        '''
11137        self.name = name if name is not None else ''
11138        '''
11139         Unique human-readable name of the Resource.
11140        '''
11141        self.port_override = port_override if port_override is not None else 0
11142        '''
11143         The local port used by clients to connect to this resource.
11144        '''
11145        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11146        '''
11147         ID of the proxy cluster for this resource, if any.
11148        '''
11149        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11150        '''
11151         ID of the secret store containing credentials for this resource, if any.
11152        '''
11153        self.service_account_key = service_account_key if service_account_key is not None else ''
11154        '''
11155         The service account key to authenticate with.
11156        '''
11157        self.subdomain = subdomain if subdomain is not None else ''
11158        '''
11159         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11160        '''
11161        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11162        '''
11163         Tags is a map of key, value pairs.
11164        '''
bind_interface

The bind interface is the IP 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)
11184    def to_dict(self):
11185        return {
11186            'bind_interface': self.bind_interface,
11187            'certificate_authority': self.certificate_authority,
11188            'egress_filter': self.egress_filter,
11189            'endpoint': self.endpoint,
11190            'healthcheck_namespace': self.healthcheck_namespace,
11191            'healthy': self.healthy,
11192            'id': self.id,
11193            'name': self.name,
11194            'port_override': self.port_override,
11195            'proxy_cluster_id': self.proxy_cluster_id,
11196            'secret_store_id': self.secret_store_id,
11197            'service_account_key': self.service_account_key,
11198            'subdomain': self.subdomain,
11199            'tags': self.tags,
11200        }
@classmethod
def from_dict(cls, d)
11202    @classmethod
11203    def from_dict(cls, d):
11204        return cls(
11205            bind_interface=d.get('bind_interface'),
11206            certificate_authority=d.get('certificate_authority'),
11207            egress_filter=d.get('egress_filter'),
11208            endpoint=d.get('endpoint'),
11209            healthcheck_namespace=d.get('healthcheck_namespace'),
11210            healthy=d.get('healthy'),
11211            id=d.get('id'),
11212            name=d.get('name'),
11213            port_override=d.get('port_override'),
11214            proxy_cluster_id=d.get('proxy_cluster_id'),
11215            secret_store_id=d.get('secret_store_id'),
11216            service_account_key=d.get('service_account_key'),
11217            subdomain=d.get('subdomain'),
11218            tags=d.get('tags'),
11219        )
class Greenplum:
11222class Greenplum:
11223    __slots__ = [
11224        'bind_interface',
11225        'database',
11226        'egress_filter',
11227        'healthy',
11228        'hostname',
11229        'id',
11230        'name',
11231        'override_database',
11232        'password',
11233        'port',
11234        'port_override',
11235        'proxy_cluster_id',
11236        'secret_store_id',
11237        'subdomain',
11238        'tags',
11239        'username',
11240    ]
11241
11242    def __init__(
11243        self,
11244        bind_interface=None,
11245        database=None,
11246        egress_filter=None,
11247        healthy=None,
11248        hostname=None,
11249        id=None,
11250        name=None,
11251        override_database=None,
11252        password=None,
11253        port=None,
11254        port_override=None,
11255        proxy_cluster_id=None,
11256        secret_store_id=None,
11257        subdomain=None,
11258        tags=None,
11259        username=None,
11260    ):
11261        self.bind_interface = bind_interface if bind_interface is not None else ''
11262        '''
11263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11264        '''
11265        self.database = database if database is not None else ''
11266        '''
11267         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11268        '''
11269        self.egress_filter = egress_filter if egress_filter is not None else ''
11270        '''
11271         A filter applied to the routing logic to pin datasource to nodes.
11272        '''
11273        self.healthy = healthy if healthy is not None else False
11274        '''
11275         True if the datasource is reachable and the credentials are valid.
11276        '''
11277        self.hostname = hostname if hostname is not None else ''
11278        '''
11279         The host to dial to initiate a connection from the egress node to this resource.
11280        '''
11281        self.id = id if id is not None else ''
11282        '''
11283         Unique identifier of the Resource.
11284        '''
11285        self.name = name if name is not None else ''
11286        '''
11287         Unique human-readable name of the Resource.
11288        '''
11289        self.override_database = override_database if override_database is not None else False
11290        '''
11291         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.
11292        '''
11293        self.password = password if password is not None else ''
11294        '''
11295         The password to authenticate with.
11296        '''
11297        self.port = port if port is not None else 0
11298        '''
11299         The port to dial to initiate a connection from the egress node to this resource.
11300        '''
11301        self.port_override = port_override if port_override is not None else 0
11302        '''
11303         The local port used by clients to connect to this resource.
11304        '''
11305        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11306        '''
11307         ID of the proxy cluster for this resource, if any.
11308        '''
11309        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11310        '''
11311         ID of the secret store containing credentials for this resource, if any.
11312        '''
11313        self.subdomain = subdomain if subdomain is not None else ''
11314        '''
11315         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11316        '''
11317        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11318        '''
11319         Tags is a map of key, value pairs.
11320        '''
11321        self.username = username if username is not None else ''
11322        '''
11323         The username to authenticate with.
11324        '''
11325
11326    def __repr__(self):
11327        return '<sdm.Greenplum ' + \
11328            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11329            'database: ' + repr(self.database) + ' ' +\
11330            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11331            'healthy: ' + repr(self.healthy) + ' ' +\
11332            'hostname: ' + repr(self.hostname) + ' ' +\
11333            'id: ' + repr(self.id) + ' ' +\
11334            'name: ' + repr(self.name) + ' ' +\
11335            'override_database: ' + repr(self.override_database) + ' ' +\
11336            'password: ' + repr(self.password) + ' ' +\
11337            'port: ' + repr(self.port) + ' ' +\
11338            'port_override: ' + repr(self.port_override) + ' ' +\
11339            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11340            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11341            'subdomain: ' + repr(self.subdomain) + ' ' +\
11342            'tags: ' + repr(self.tags) + ' ' +\
11343            'username: ' + repr(self.username) + ' ' +\
11344            '>'
11345
11346    def to_dict(self):
11347        return {
11348            'bind_interface': self.bind_interface,
11349            'database': self.database,
11350            'egress_filter': self.egress_filter,
11351            'healthy': self.healthy,
11352            'hostname': self.hostname,
11353            'id': self.id,
11354            'name': self.name,
11355            'override_database': self.override_database,
11356            'password': self.password,
11357            'port': self.port,
11358            'port_override': self.port_override,
11359            'proxy_cluster_id': self.proxy_cluster_id,
11360            'secret_store_id': self.secret_store_id,
11361            'subdomain': self.subdomain,
11362            'tags': self.tags,
11363            'username': self.username,
11364        }
11365
11366    @classmethod
11367    def from_dict(cls, d):
11368        return cls(
11369            bind_interface=d.get('bind_interface'),
11370            database=d.get('database'),
11371            egress_filter=d.get('egress_filter'),
11372            healthy=d.get('healthy'),
11373            hostname=d.get('hostname'),
11374            id=d.get('id'),
11375            name=d.get('name'),
11376            override_database=d.get('override_database'),
11377            password=d.get('password'),
11378            port=d.get('port'),
11379            port_override=d.get('port_override'),
11380            proxy_cluster_id=d.get('proxy_cluster_id'),
11381            secret_store_id=d.get('secret_store_id'),
11382            subdomain=d.get('subdomain'),
11383            tags=d.get('tags'),
11384            username=d.get('username'),
11385        )
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)
11242    def __init__(
11243        self,
11244        bind_interface=None,
11245        database=None,
11246        egress_filter=None,
11247        healthy=None,
11248        hostname=None,
11249        id=None,
11250        name=None,
11251        override_database=None,
11252        password=None,
11253        port=None,
11254        port_override=None,
11255        proxy_cluster_id=None,
11256        secret_store_id=None,
11257        subdomain=None,
11258        tags=None,
11259        username=None,
11260    ):
11261        self.bind_interface = bind_interface if bind_interface is not None else ''
11262        '''
11263         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11264        '''
11265        self.database = database if database is not None else ''
11266        '''
11267         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11268        '''
11269        self.egress_filter = egress_filter if egress_filter is not None else ''
11270        '''
11271         A filter applied to the routing logic to pin datasource to nodes.
11272        '''
11273        self.healthy = healthy if healthy is not None else False
11274        '''
11275         True if the datasource is reachable and the credentials are valid.
11276        '''
11277        self.hostname = hostname if hostname is not None else ''
11278        '''
11279         The host to dial to initiate a connection from the egress node to this resource.
11280        '''
11281        self.id = id if id is not None else ''
11282        '''
11283         Unique identifier of the Resource.
11284        '''
11285        self.name = name if name is not None else ''
11286        '''
11287         Unique human-readable name of the Resource.
11288        '''
11289        self.override_database = override_database if override_database is not None else False
11290        '''
11291         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.
11292        '''
11293        self.password = password if password is not None else ''
11294        '''
11295         The password to authenticate with.
11296        '''
11297        self.port = port if port is not None else 0
11298        '''
11299         The port to dial to initiate a connection from the egress node to this resource.
11300        '''
11301        self.port_override = port_override if port_override is not None else 0
11302        '''
11303         The local port used by clients to connect to this resource.
11304        '''
11305        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11306        '''
11307         ID of the proxy cluster for this resource, if any.
11308        '''
11309        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11310        '''
11311         ID of the secret store containing credentials for this resource, if any.
11312        '''
11313        self.subdomain = subdomain if subdomain is not None else ''
11314        '''
11315         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11316        '''
11317        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11318        '''
11319         Tags is a map of key, value pairs.
11320        '''
11321        self.username = username if username is not None else ''
11322        '''
11323         The username to authenticate with.
11324        '''
bind_interface

The bind interface is the IP 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)
11346    def to_dict(self):
11347        return {
11348            'bind_interface': self.bind_interface,
11349            'database': self.database,
11350            'egress_filter': self.egress_filter,
11351            'healthy': self.healthy,
11352            'hostname': self.hostname,
11353            'id': self.id,
11354            'name': self.name,
11355            'override_database': self.override_database,
11356            'password': self.password,
11357            'port': self.port,
11358            'port_override': self.port_override,
11359            'proxy_cluster_id': self.proxy_cluster_id,
11360            'secret_store_id': self.secret_store_id,
11361            'subdomain': self.subdomain,
11362            'tags': self.tags,
11363            'username': self.username,
11364        }
@classmethod
def from_dict(cls, d)
11366    @classmethod
11367    def from_dict(cls, d):
11368        return cls(
11369            bind_interface=d.get('bind_interface'),
11370            database=d.get('database'),
11371            egress_filter=d.get('egress_filter'),
11372            healthy=d.get('healthy'),
11373            hostname=d.get('hostname'),
11374            id=d.get('id'),
11375            name=d.get('name'),
11376            override_database=d.get('override_database'),
11377            password=d.get('password'),
11378            port=d.get('port'),
11379            port_override=d.get('port_override'),
11380            proxy_cluster_id=d.get('proxy_cluster_id'),
11381            secret_store_id=d.get('secret_store_id'),
11382            subdomain=d.get('subdomain'),
11383            tags=d.get('tags'),
11384            username=d.get('username'),
11385        )
class HTTPAuth:
11388class HTTPAuth:
11389    __slots__ = [
11390        'auth_header',
11391        'bind_interface',
11392        'default_path',
11393        'egress_filter',
11394        'headers_blacklist',
11395        'healthcheck_path',
11396        'healthy',
11397        'host_override',
11398        'id',
11399        'name',
11400        'proxy_cluster_id',
11401        'secret_store_id',
11402        'subdomain',
11403        'tags',
11404        'url',
11405    ]
11406
11407    def __init__(
11408        self,
11409        auth_header=None,
11410        bind_interface=None,
11411        default_path=None,
11412        egress_filter=None,
11413        headers_blacklist=None,
11414        healthcheck_path=None,
11415        healthy=None,
11416        host_override=None,
11417        id=None,
11418        name=None,
11419        proxy_cluster_id=None,
11420        secret_store_id=None,
11421        subdomain=None,
11422        tags=None,
11423        url=None,
11424    ):
11425        self.auth_header = auth_header if auth_header is not None else ''
11426        '''
11427         The content to set as the authorization header.
11428        '''
11429        self.bind_interface = bind_interface if bind_interface is not None else ''
11430        '''
11431         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11432        '''
11433        self.default_path = default_path if default_path is not None else ''
11434        '''
11435         Automatically redirect to this path upon connecting.
11436        '''
11437        self.egress_filter = egress_filter if egress_filter is not None else ''
11438        '''
11439         A filter applied to the routing logic to pin datasource to nodes.
11440        '''
11441        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11442        '''
11443         Header names (e.g. Authorization), to omit from logs.
11444        '''
11445        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11446        '''
11447         This path will be used to check the health of your site.
11448        '''
11449        self.healthy = healthy if healthy is not None else False
11450        '''
11451         True if the datasource is reachable and the credentials are valid.
11452        '''
11453        self.host_override = host_override if host_override is not None else ''
11454        '''
11455         The host header will be overwritten with this field if provided.
11456        '''
11457        self.id = id if id is not None else ''
11458        '''
11459         Unique identifier of the Resource.
11460        '''
11461        self.name = name if name is not None else ''
11462        '''
11463         Unique human-readable name of the Resource.
11464        '''
11465        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11466        '''
11467         ID of the proxy cluster for this resource, if any.
11468        '''
11469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11470        '''
11471         ID of the secret store containing credentials for this resource, if any.
11472        '''
11473        self.subdomain = subdomain if subdomain is not None else ''
11474        '''
11475         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11476        '''
11477        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11478        '''
11479         Tags is a map of key, value pairs.
11480        '''
11481        self.url = url if url is not None else ''
11482        '''
11483         The base address of your website without the path.
11484        '''
11485
11486    def __repr__(self):
11487        return '<sdm.HTTPAuth ' + \
11488            'auth_header: ' + repr(self.auth_header) + ' ' +\
11489            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11490            'default_path: ' + repr(self.default_path) + ' ' +\
11491            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11492            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11493            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11494            'healthy: ' + repr(self.healthy) + ' ' +\
11495            'host_override: ' + repr(self.host_override) + ' ' +\
11496            'id: ' + repr(self.id) + ' ' +\
11497            'name: ' + repr(self.name) + ' ' +\
11498            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11499            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11500            'subdomain: ' + repr(self.subdomain) + ' ' +\
11501            'tags: ' + repr(self.tags) + ' ' +\
11502            'url: ' + repr(self.url) + ' ' +\
11503            '>'
11504
11505    def to_dict(self):
11506        return {
11507            'auth_header': self.auth_header,
11508            'bind_interface': self.bind_interface,
11509            'default_path': self.default_path,
11510            'egress_filter': self.egress_filter,
11511            'headers_blacklist': self.headers_blacklist,
11512            'healthcheck_path': self.healthcheck_path,
11513            'healthy': self.healthy,
11514            'host_override': self.host_override,
11515            'id': self.id,
11516            'name': self.name,
11517            'proxy_cluster_id': self.proxy_cluster_id,
11518            'secret_store_id': self.secret_store_id,
11519            'subdomain': self.subdomain,
11520            'tags': self.tags,
11521            'url': self.url,
11522        }
11523
11524    @classmethod
11525    def from_dict(cls, d):
11526        return cls(
11527            auth_header=d.get('auth_header'),
11528            bind_interface=d.get('bind_interface'),
11529            default_path=d.get('default_path'),
11530            egress_filter=d.get('egress_filter'),
11531            headers_blacklist=d.get('headers_blacklist'),
11532            healthcheck_path=d.get('healthcheck_path'),
11533            healthy=d.get('healthy'),
11534            host_override=d.get('host_override'),
11535            id=d.get('id'),
11536            name=d.get('name'),
11537            proxy_cluster_id=d.get('proxy_cluster_id'),
11538            secret_store_id=d.get('secret_store_id'),
11539            subdomain=d.get('subdomain'),
11540            tags=d.get('tags'),
11541            url=d.get('url'),
11542        )
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)
11407    def __init__(
11408        self,
11409        auth_header=None,
11410        bind_interface=None,
11411        default_path=None,
11412        egress_filter=None,
11413        headers_blacklist=None,
11414        healthcheck_path=None,
11415        healthy=None,
11416        host_override=None,
11417        id=None,
11418        name=None,
11419        proxy_cluster_id=None,
11420        secret_store_id=None,
11421        subdomain=None,
11422        tags=None,
11423        url=None,
11424    ):
11425        self.auth_header = auth_header if auth_header is not None else ''
11426        '''
11427         The content to set as the authorization header.
11428        '''
11429        self.bind_interface = bind_interface if bind_interface is not None else ''
11430        '''
11431         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11432        '''
11433        self.default_path = default_path if default_path is not None else ''
11434        '''
11435         Automatically redirect to this path upon connecting.
11436        '''
11437        self.egress_filter = egress_filter if egress_filter is not None else ''
11438        '''
11439         A filter applied to the routing logic to pin datasource to nodes.
11440        '''
11441        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11442        '''
11443         Header names (e.g. Authorization), to omit from logs.
11444        '''
11445        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11446        '''
11447         This path will be used to check the health of your site.
11448        '''
11449        self.healthy = healthy if healthy is not None else False
11450        '''
11451         True if the datasource is reachable and the credentials are valid.
11452        '''
11453        self.host_override = host_override if host_override is not None else ''
11454        '''
11455         The host header will be overwritten with this field if provided.
11456        '''
11457        self.id = id if id is not None else ''
11458        '''
11459         Unique identifier of the Resource.
11460        '''
11461        self.name = name if name is not None else ''
11462        '''
11463         Unique human-readable name of the Resource.
11464        '''
11465        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11466        '''
11467         ID of the proxy cluster for this resource, if any.
11468        '''
11469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11470        '''
11471         ID of the secret store containing credentials for this resource, if any.
11472        '''
11473        self.subdomain = subdomain if subdomain is not None else ''
11474        '''
11475         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11476        '''
11477        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11478        '''
11479         Tags is a map of key, value pairs.
11480        '''
11481        self.url = url if url is not None else ''
11482        '''
11483         The base address of your website without the path.
11484        '''
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)
11505    def to_dict(self):
11506        return {
11507            'auth_header': self.auth_header,
11508            'bind_interface': self.bind_interface,
11509            'default_path': self.default_path,
11510            'egress_filter': self.egress_filter,
11511            'headers_blacklist': self.headers_blacklist,
11512            'healthcheck_path': self.healthcheck_path,
11513            'healthy': self.healthy,
11514            'host_override': self.host_override,
11515            'id': self.id,
11516            'name': self.name,
11517            'proxy_cluster_id': self.proxy_cluster_id,
11518            'secret_store_id': self.secret_store_id,
11519            'subdomain': self.subdomain,
11520            'tags': self.tags,
11521            'url': self.url,
11522        }
@classmethod
def from_dict(cls, d)
11524    @classmethod
11525    def from_dict(cls, d):
11526        return cls(
11527            auth_header=d.get('auth_header'),
11528            bind_interface=d.get('bind_interface'),
11529            default_path=d.get('default_path'),
11530            egress_filter=d.get('egress_filter'),
11531            headers_blacklist=d.get('headers_blacklist'),
11532            healthcheck_path=d.get('healthcheck_path'),
11533            healthy=d.get('healthy'),
11534            host_override=d.get('host_override'),
11535            id=d.get('id'),
11536            name=d.get('name'),
11537            proxy_cluster_id=d.get('proxy_cluster_id'),
11538            secret_store_id=d.get('secret_store_id'),
11539            subdomain=d.get('subdomain'),
11540            tags=d.get('tags'),
11541            url=d.get('url'),
11542        )
class HTTPBasicAuth:
11545class HTTPBasicAuth:
11546    __slots__ = [
11547        'bind_interface',
11548        'default_path',
11549        'egress_filter',
11550        'headers_blacklist',
11551        'healthcheck_path',
11552        'healthy',
11553        'host_override',
11554        'id',
11555        'name',
11556        'password',
11557        'proxy_cluster_id',
11558        'secret_store_id',
11559        'subdomain',
11560        'tags',
11561        'url',
11562        'username',
11563    ]
11564
11565    def __init__(
11566        self,
11567        bind_interface=None,
11568        default_path=None,
11569        egress_filter=None,
11570        headers_blacklist=None,
11571        healthcheck_path=None,
11572        healthy=None,
11573        host_override=None,
11574        id=None,
11575        name=None,
11576        password=None,
11577        proxy_cluster_id=None,
11578        secret_store_id=None,
11579        subdomain=None,
11580        tags=None,
11581        url=None,
11582        username=None,
11583    ):
11584        self.bind_interface = bind_interface if bind_interface is not None else ''
11585        '''
11586         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11587        '''
11588        self.default_path = default_path if default_path is not None else ''
11589        '''
11590         Automatically redirect to this path upon connecting.
11591        '''
11592        self.egress_filter = egress_filter if egress_filter is not None else ''
11593        '''
11594         A filter applied to the routing logic to pin datasource to nodes.
11595        '''
11596        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11597        '''
11598         Header names (e.g. Authorization), to omit from logs.
11599        '''
11600        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11601        '''
11602         This path will be used to check the health of your site.
11603        '''
11604        self.healthy = healthy if healthy is not None else False
11605        '''
11606         True if the datasource is reachable and the credentials are valid.
11607        '''
11608        self.host_override = host_override if host_override is not None else ''
11609        '''
11610         The host header will be overwritten with this field if provided.
11611        '''
11612        self.id = id if id is not None else ''
11613        '''
11614         Unique identifier of the Resource.
11615        '''
11616        self.name = name if name is not None else ''
11617        '''
11618         Unique human-readable name of the Resource.
11619        '''
11620        self.password = password if password is not None else ''
11621        '''
11622         The password to authenticate with.
11623        '''
11624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11625        '''
11626         ID of the proxy cluster for this resource, if any.
11627        '''
11628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11629        '''
11630         ID of the secret store containing credentials for this resource, if any.
11631        '''
11632        self.subdomain = subdomain if subdomain is not None else ''
11633        '''
11634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11635        '''
11636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11637        '''
11638         Tags is a map of key, value pairs.
11639        '''
11640        self.url = url if url is not None else ''
11641        '''
11642         The base address of your website without the path.
11643        '''
11644        self.username = username if username is not None else ''
11645        '''
11646         The username to authenticate with.
11647        '''
11648
11649    def __repr__(self):
11650        return '<sdm.HTTPBasicAuth ' + \
11651            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11652            'default_path: ' + repr(self.default_path) + ' ' +\
11653            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11654            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11655            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11656            'healthy: ' + repr(self.healthy) + ' ' +\
11657            'host_override: ' + repr(self.host_override) + ' ' +\
11658            'id: ' + repr(self.id) + ' ' +\
11659            'name: ' + repr(self.name) + ' ' +\
11660            'password: ' + repr(self.password) + ' ' +\
11661            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11662            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11663            'subdomain: ' + repr(self.subdomain) + ' ' +\
11664            'tags: ' + repr(self.tags) + ' ' +\
11665            'url: ' + repr(self.url) + ' ' +\
11666            'username: ' + repr(self.username) + ' ' +\
11667            '>'
11668
11669    def to_dict(self):
11670        return {
11671            'bind_interface': self.bind_interface,
11672            'default_path': self.default_path,
11673            'egress_filter': self.egress_filter,
11674            'headers_blacklist': self.headers_blacklist,
11675            'healthcheck_path': self.healthcheck_path,
11676            'healthy': self.healthy,
11677            'host_override': self.host_override,
11678            'id': self.id,
11679            'name': self.name,
11680            'password': self.password,
11681            'proxy_cluster_id': self.proxy_cluster_id,
11682            'secret_store_id': self.secret_store_id,
11683            'subdomain': self.subdomain,
11684            'tags': self.tags,
11685            'url': self.url,
11686            'username': self.username,
11687        }
11688
11689    @classmethod
11690    def from_dict(cls, d):
11691        return cls(
11692            bind_interface=d.get('bind_interface'),
11693            default_path=d.get('default_path'),
11694            egress_filter=d.get('egress_filter'),
11695            headers_blacklist=d.get('headers_blacklist'),
11696            healthcheck_path=d.get('healthcheck_path'),
11697            healthy=d.get('healthy'),
11698            host_override=d.get('host_override'),
11699            id=d.get('id'),
11700            name=d.get('name'),
11701            password=d.get('password'),
11702            proxy_cluster_id=d.get('proxy_cluster_id'),
11703            secret_store_id=d.get('secret_store_id'),
11704            subdomain=d.get('subdomain'),
11705            tags=d.get('tags'),
11706            url=d.get('url'),
11707            username=d.get('username'),
11708        )
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)
11565    def __init__(
11566        self,
11567        bind_interface=None,
11568        default_path=None,
11569        egress_filter=None,
11570        headers_blacklist=None,
11571        healthcheck_path=None,
11572        healthy=None,
11573        host_override=None,
11574        id=None,
11575        name=None,
11576        password=None,
11577        proxy_cluster_id=None,
11578        secret_store_id=None,
11579        subdomain=None,
11580        tags=None,
11581        url=None,
11582        username=None,
11583    ):
11584        self.bind_interface = bind_interface if bind_interface is not None else ''
11585        '''
11586         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11587        '''
11588        self.default_path = default_path if default_path is not None else ''
11589        '''
11590         Automatically redirect to this path upon connecting.
11591        '''
11592        self.egress_filter = egress_filter if egress_filter is not None else ''
11593        '''
11594         A filter applied to the routing logic to pin datasource to nodes.
11595        '''
11596        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11597        '''
11598         Header names (e.g. Authorization), to omit from logs.
11599        '''
11600        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11601        '''
11602         This path will be used to check the health of your site.
11603        '''
11604        self.healthy = healthy if healthy is not None else False
11605        '''
11606         True if the datasource is reachable and the credentials are valid.
11607        '''
11608        self.host_override = host_override if host_override is not None else ''
11609        '''
11610         The host header will be overwritten with this field if provided.
11611        '''
11612        self.id = id if id is not None else ''
11613        '''
11614         Unique identifier of the Resource.
11615        '''
11616        self.name = name if name is not None else ''
11617        '''
11618         Unique human-readable name of the Resource.
11619        '''
11620        self.password = password if password is not None else ''
11621        '''
11622         The password to authenticate with.
11623        '''
11624        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11625        '''
11626         ID of the proxy cluster for this resource, if any.
11627        '''
11628        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11629        '''
11630         ID of the secret store containing credentials for this resource, if any.
11631        '''
11632        self.subdomain = subdomain if subdomain is not None else ''
11633        '''
11634         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11635        '''
11636        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11637        '''
11638         Tags is a map of key, value pairs.
11639        '''
11640        self.url = url if url is not None else ''
11641        '''
11642         The base address of your website without the path.
11643        '''
11644        self.username = username if username is not None else ''
11645        '''
11646         The username to authenticate with.
11647        '''
bind_interface

The bind interface is the IP 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)
11669    def to_dict(self):
11670        return {
11671            'bind_interface': self.bind_interface,
11672            'default_path': self.default_path,
11673            'egress_filter': self.egress_filter,
11674            'headers_blacklist': self.headers_blacklist,
11675            'healthcheck_path': self.healthcheck_path,
11676            'healthy': self.healthy,
11677            'host_override': self.host_override,
11678            'id': self.id,
11679            'name': self.name,
11680            'password': self.password,
11681            'proxy_cluster_id': self.proxy_cluster_id,
11682            'secret_store_id': self.secret_store_id,
11683            'subdomain': self.subdomain,
11684            'tags': self.tags,
11685            'url': self.url,
11686            'username': self.username,
11687        }
@classmethod
def from_dict(cls, d)
11689    @classmethod
11690    def from_dict(cls, d):
11691        return cls(
11692            bind_interface=d.get('bind_interface'),
11693            default_path=d.get('default_path'),
11694            egress_filter=d.get('egress_filter'),
11695            headers_blacklist=d.get('headers_blacklist'),
11696            healthcheck_path=d.get('healthcheck_path'),
11697            healthy=d.get('healthy'),
11698            host_override=d.get('host_override'),
11699            id=d.get('id'),
11700            name=d.get('name'),
11701            password=d.get('password'),
11702            proxy_cluster_id=d.get('proxy_cluster_id'),
11703            secret_store_id=d.get('secret_store_id'),
11704            subdomain=d.get('subdomain'),
11705            tags=d.get('tags'),
11706            url=d.get('url'),
11707            username=d.get('username'),
11708        )
class HTTPNoAuth:
11711class HTTPNoAuth:
11712    __slots__ = [
11713        'bind_interface',
11714        'default_path',
11715        'egress_filter',
11716        'headers_blacklist',
11717        'healthcheck_path',
11718        'healthy',
11719        'host_override',
11720        'id',
11721        'name',
11722        'proxy_cluster_id',
11723        'secret_store_id',
11724        'subdomain',
11725        'tags',
11726        'url',
11727    ]
11728
11729    def __init__(
11730        self,
11731        bind_interface=None,
11732        default_path=None,
11733        egress_filter=None,
11734        headers_blacklist=None,
11735        healthcheck_path=None,
11736        healthy=None,
11737        host_override=None,
11738        id=None,
11739        name=None,
11740        proxy_cluster_id=None,
11741        secret_store_id=None,
11742        subdomain=None,
11743        tags=None,
11744        url=None,
11745    ):
11746        self.bind_interface = bind_interface if bind_interface is not None else ''
11747        '''
11748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11749        '''
11750        self.default_path = default_path if default_path is not None else ''
11751        '''
11752         Automatically redirect to this path upon connecting.
11753        '''
11754        self.egress_filter = egress_filter if egress_filter is not None else ''
11755        '''
11756         A filter applied to the routing logic to pin datasource to nodes.
11757        '''
11758        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11759        '''
11760         Header names (e.g. Authorization), to omit from logs.
11761        '''
11762        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11763        '''
11764         This path will be used to check the health of your site.
11765        '''
11766        self.healthy = healthy if healthy is not None else False
11767        '''
11768         True if the datasource is reachable and the credentials are valid.
11769        '''
11770        self.host_override = host_override if host_override is not None else ''
11771        '''
11772         The host header will be overwritten with this field if provided.
11773        '''
11774        self.id = id if id is not None else ''
11775        '''
11776         Unique identifier of the Resource.
11777        '''
11778        self.name = name if name is not None else ''
11779        '''
11780         Unique human-readable name of the Resource.
11781        '''
11782        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11783        '''
11784         ID of the proxy cluster for this resource, if any.
11785        '''
11786        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11787        '''
11788         ID of the secret store containing credentials for this resource, if any.
11789        '''
11790        self.subdomain = subdomain if subdomain is not None else ''
11791        '''
11792         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11793        '''
11794        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11795        '''
11796         Tags is a map of key, value pairs.
11797        '''
11798        self.url = url if url is not None else ''
11799        '''
11800         The base address of your website without the path.
11801        '''
11802
11803    def __repr__(self):
11804        return '<sdm.HTTPNoAuth ' + \
11805            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11806            'default_path: ' + repr(self.default_path) + ' ' +\
11807            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11808            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
11809            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
11810            'healthy: ' + repr(self.healthy) + ' ' +\
11811            'host_override: ' + repr(self.host_override) + ' ' +\
11812            'id: ' + repr(self.id) + ' ' +\
11813            'name: ' + repr(self.name) + ' ' +\
11814            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11815            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11816            'subdomain: ' + repr(self.subdomain) + ' ' +\
11817            'tags: ' + repr(self.tags) + ' ' +\
11818            'url: ' + repr(self.url) + ' ' +\
11819            '>'
11820
11821    def to_dict(self):
11822        return {
11823            'bind_interface': self.bind_interface,
11824            'default_path': self.default_path,
11825            'egress_filter': self.egress_filter,
11826            'headers_blacklist': self.headers_blacklist,
11827            'healthcheck_path': self.healthcheck_path,
11828            'healthy': self.healthy,
11829            'host_override': self.host_override,
11830            'id': self.id,
11831            'name': self.name,
11832            'proxy_cluster_id': self.proxy_cluster_id,
11833            'secret_store_id': self.secret_store_id,
11834            'subdomain': self.subdomain,
11835            'tags': self.tags,
11836            'url': self.url,
11837        }
11838
11839    @classmethod
11840    def from_dict(cls, d):
11841        return cls(
11842            bind_interface=d.get('bind_interface'),
11843            default_path=d.get('default_path'),
11844            egress_filter=d.get('egress_filter'),
11845            headers_blacklist=d.get('headers_blacklist'),
11846            healthcheck_path=d.get('healthcheck_path'),
11847            healthy=d.get('healthy'),
11848            host_override=d.get('host_override'),
11849            id=d.get('id'),
11850            name=d.get('name'),
11851            proxy_cluster_id=d.get('proxy_cluster_id'),
11852            secret_store_id=d.get('secret_store_id'),
11853            subdomain=d.get('subdomain'),
11854            tags=d.get('tags'),
11855            url=d.get('url'),
11856        )
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)
11729    def __init__(
11730        self,
11731        bind_interface=None,
11732        default_path=None,
11733        egress_filter=None,
11734        headers_blacklist=None,
11735        healthcheck_path=None,
11736        healthy=None,
11737        host_override=None,
11738        id=None,
11739        name=None,
11740        proxy_cluster_id=None,
11741        secret_store_id=None,
11742        subdomain=None,
11743        tags=None,
11744        url=None,
11745    ):
11746        self.bind_interface = bind_interface if bind_interface is not None else ''
11747        '''
11748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11749        '''
11750        self.default_path = default_path if default_path is not None else ''
11751        '''
11752         Automatically redirect to this path upon connecting.
11753        '''
11754        self.egress_filter = egress_filter if egress_filter is not None else ''
11755        '''
11756         A filter applied to the routing logic to pin datasource to nodes.
11757        '''
11758        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
11759        '''
11760         Header names (e.g. Authorization), to omit from logs.
11761        '''
11762        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
11763        '''
11764         This path will be used to check the health of your site.
11765        '''
11766        self.healthy = healthy if healthy is not None else False
11767        '''
11768         True if the datasource is reachable and the credentials are valid.
11769        '''
11770        self.host_override = host_override if host_override is not None else ''
11771        '''
11772         The host header will be overwritten with this field if provided.
11773        '''
11774        self.id = id if id is not None else ''
11775        '''
11776         Unique identifier of the Resource.
11777        '''
11778        self.name = name if name is not None else ''
11779        '''
11780         Unique human-readable name of the Resource.
11781        '''
11782        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11783        '''
11784         ID of the proxy cluster for this resource, if any.
11785        '''
11786        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11787        '''
11788         ID of the secret store containing credentials for this resource, if any.
11789        '''
11790        self.subdomain = subdomain if subdomain is not None else ''
11791        '''
11792         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11793        '''
11794        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11795        '''
11796         Tags is a map of key, value pairs.
11797        '''
11798        self.url = url if url is not None else ''
11799        '''
11800         The base address of your website without the path.
11801        '''
bind_interface

The bind interface is the IP 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)
11821    def to_dict(self):
11822        return {
11823            'bind_interface': self.bind_interface,
11824            'default_path': self.default_path,
11825            'egress_filter': self.egress_filter,
11826            'headers_blacklist': self.headers_blacklist,
11827            'healthcheck_path': self.healthcheck_path,
11828            'healthy': self.healthy,
11829            'host_override': self.host_override,
11830            'id': self.id,
11831            'name': self.name,
11832            'proxy_cluster_id': self.proxy_cluster_id,
11833            'secret_store_id': self.secret_store_id,
11834            'subdomain': self.subdomain,
11835            'tags': self.tags,
11836            'url': self.url,
11837        }
@classmethod
def from_dict(cls, d)
11839    @classmethod
11840    def from_dict(cls, d):
11841        return cls(
11842            bind_interface=d.get('bind_interface'),
11843            default_path=d.get('default_path'),
11844            egress_filter=d.get('egress_filter'),
11845            headers_blacklist=d.get('headers_blacklist'),
11846            healthcheck_path=d.get('healthcheck_path'),
11847            healthy=d.get('healthy'),
11848            host_override=d.get('host_override'),
11849            id=d.get('id'),
11850            name=d.get('name'),
11851            proxy_cluster_id=d.get('proxy_cluster_id'),
11852            secret_store_id=d.get('secret_store_id'),
11853            subdomain=d.get('subdomain'),
11854            tags=d.get('tags'),
11855            url=d.get('url'),
11856        )
class Healthcheck:
11859class Healthcheck:
11860    '''
11861         Healthcheck defines the status of the link between a node and a resource
11862    '''
11863    __slots__ = [
11864        'error_msg',
11865        'healthy',
11866        'id',
11867        'node_id',
11868        'node_name',
11869        'resource_id',
11870        'resource_name',
11871        'timestamp',
11872    ]
11873
11874    def __init__(
11875        self,
11876        error_msg=None,
11877        healthy=None,
11878        id=None,
11879        node_id=None,
11880        node_name=None,
11881        resource_id=None,
11882        resource_name=None,
11883        timestamp=None,
11884    ):
11885        self.error_msg = error_msg if error_msg is not None else ''
11886        '''
11887         The error if unhealthy
11888        '''
11889        self.healthy = healthy if healthy is not None else False
11890        '''
11891         Whether the healthcheck succeeded.
11892        '''
11893        self.id = id if id is not None else ''
11894        '''
11895         Unique identifier of the healthcheck.
11896        '''
11897        self.node_id = node_id if node_id is not None else ''
11898        '''
11899         Unique identifier of the healthcheck node.
11900        '''
11901        self.node_name = node_name if node_name is not None else ''
11902        '''
11903         The name of the node.
11904        '''
11905        self.resource_id = resource_id if resource_id is not None else ''
11906        '''
11907         Unique identifier of the healthcheck resource.
11908        '''
11909        self.resource_name = resource_name if resource_name is not None else ''
11910        '''
11911         The name of the resource.
11912        '''
11913        self.timestamp = timestamp if timestamp is not None else None
11914        '''
11915         The time at which the healthcheck state was recorded.
11916        '''
11917
11918    def __repr__(self):
11919        return '<sdm.Healthcheck ' + \
11920            'error_msg: ' + repr(self.error_msg) + ' ' +\
11921            'healthy: ' + repr(self.healthy) + ' ' +\
11922            'id: ' + repr(self.id) + ' ' +\
11923            'node_id: ' + repr(self.node_id) + ' ' +\
11924            'node_name: ' + repr(self.node_name) + ' ' +\
11925            'resource_id: ' + repr(self.resource_id) + ' ' +\
11926            'resource_name: ' + repr(self.resource_name) + ' ' +\
11927            'timestamp: ' + repr(self.timestamp) + ' ' +\
11928            '>'
11929
11930    def to_dict(self):
11931        return {
11932            'error_msg': self.error_msg,
11933            'healthy': self.healthy,
11934            'id': self.id,
11935            'node_id': self.node_id,
11936            'node_name': self.node_name,
11937            'resource_id': self.resource_id,
11938            'resource_name': self.resource_name,
11939            'timestamp': self.timestamp,
11940        }
11941
11942    @classmethod
11943    def from_dict(cls, d):
11944        return cls(
11945            error_msg=d.get('error_msg'),
11946            healthy=d.get('healthy'),
11947            id=d.get('id'),
11948            node_id=d.get('node_id'),
11949            node_name=d.get('node_name'),
11950            resource_id=d.get('resource_id'),
11951            resource_name=d.get('resource_name'),
11952            timestamp=d.get('timestamp'),
11953        )

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)
11874    def __init__(
11875        self,
11876        error_msg=None,
11877        healthy=None,
11878        id=None,
11879        node_id=None,
11880        node_name=None,
11881        resource_id=None,
11882        resource_name=None,
11883        timestamp=None,
11884    ):
11885        self.error_msg = error_msg if error_msg is not None else ''
11886        '''
11887         The error if unhealthy
11888        '''
11889        self.healthy = healthy if healthy is not None else False
11890        '''
11891         Whether the healthcheck succeeded.
11892        '''
11893        self.id = id if id is not None else ''
11894        '''
11895         Unique identifier of the healthcheck.
11896        '''
11897        self.node_id = node_id if node_id is not None else ''
11898        '''
11899         Unique identifier of the healthcheck node.
11900        '''
11901        self.node_name = node_name if node_name is not None else ''
11902        '''
11903         The name of the node.
11904        '''
11905        self.resource_id = resource_id if resource_id is not None else ''
11906        '''
11907         Unique identifier of the healthcheck resource.
11908        '''
11909        self.resource_name = resource_name if resource_name is not None else ''
11910        '''
11911         The name of the resource.
11912        '''
11913        self.timestamp = timestamp if timestamp is not None else None
11914        '''
11915         The time at which the healthcheck state was recorded.
11916        '''
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)
11930    def to_dict(self):
11931        return {
11932            'error_msg': self.error_msg,
11933            'healthy': self.healthy,
11934            'id': self.id,
11935            'node_id': self.node_id,
11936            'node_name': self.node_name,
11937            'resource_id': self.resource_id,
11938            'resource_name': self.resource_name,
11939            'timestamp': self.timestamp,
11940        }
@classmethod
def from_dict(cls, d)
11942    @classmethod
11943    def from_dict(cls, d):
11944        return cls(
11945            error_msg=d.get('error_msg'),
11946            healthy=d.get('healthy'),
11947            id=d.get('id'),
11948            node_id=d.get('node_id'),
11949            node_name=d.get('node_name'),
11950            resource_id=d.get('resource_id'),
11951            resource_name=d.get('resource_name'),
11952            timestamp=d.get('timestamp'),
11953        )
class HealthcheckListResponse:
11956class HealthcheckListResponse:
11957    '''
11958         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
11959     HealthcheckListRequest.
11960    '''
11961    __slots__ = [
11962        'rate_limit',
11963    ]
11964
11965    def __init__(
11966        self,
11967        rate_limit=None,
11968    ):
11969        self.rate_limit = rate_limit if rate_limit is not None else None
11970        '''
11971         Rate limit information.
11972        '''
11973
11974    def __repr__(self):
11975        return '<sdm.HealthcheckListResponse ' + \
11976            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
11977            '>'
11978
11979    def to_dict(self):
11980        return {
11981            'rate_limit': self.rate_limit,
11982        }
11983
11984    @classmethod
11985    def from_dict(cls, d):
11986        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)
11965    def __init__(
11966        self,
11967        rate_limit=None,
11968    ):
11969        self.rate_limit = rate_limit if rate_limit is not None else None
11970        '''
11971         Rate limit information.
11972        '''
rate_limit

Rate limit information.

def to_dict(self)
11979    def to_dict(self):
11980        return {
11981            'rate_limit': self.rate_limit,
11982        }
@classmethod
def from_dict(cls, d)
11984    @classmethod
11985    def from_dict(cls, d):
11986        return cls(rate_limit=d.get('rate_limit'), )
class IdentityAlias:
11989class IdentityAlias:
11990    '''
11991         IdentityAliases define the username to be used for a specific account
11992     when connecting to a remote resource using that identity set.
11993    '''
11994    __slots__ = [
11995        'account_id',
11996        'id',
11997        'identity_set_id',
11998        'username',
11999    ]
12000
12001    def __init__(
12002        self,
12003        account_id=None,
12004        id=None,
12005        identity_set_id=None,
12006        username=None,
12007    ):
12008        self.account_id = account_id if account_id is not None else ''
12009        '''
12010         The account for this identity alias.
12011        '''
12012        self.id = id if id is not None else ''
12013        '''
12014         Unique identifier of the IdentityAlias.
12015        '''
12016        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12017        '''
12018         The identity set.
12019        '''
12020        self.username = username if username is not None else ''
12021        '''
12022         The username to be used as the identity alias for this account.
12023        '''
12024
12025    def __repr__(self):
12026        return '<sdm.IdentityAlias ' + \
12027            'account_id: ' + repr(self.account_id) + ' ' +\
12028            'id: ' + repr(self.id) + ' ' +\
12029            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12030            'username: ' + repr(self.username) + ' ' +\
12031            '>'
12032
12033    def to_dict(self):
12034        return {
12035            'account_id': self.account_id,
12036            'id': self.id,
12037            'identity_set_id': self.identity_set_id,
12038            'username': self.username,
12039        }
12040
12041    @classmethod
12042    def from_dict(cls, d):
12043        return cls(
12044            account_id=d.get('account_id'),
12045            id=d.get('id'),
12046            identity_set_id=d.get('identity_set_id'),
12047            username=d.get('username'),
12048        )

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)
12001    def __init__(
12002        self,
12003        account_id=None,
12004        id=None,
12005        identity_set_id=None,
12006        username=None,
12007    ):
12008        self.account_id = account_id if account_id is not None else ''
12009        '''
12010         The account for this identity alias.
12011        '''
12012        self.id = id if id is not None else ''
12013        '''
12014         Unique identifier of the IdentityAlias.
12015        '''
12016        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12017        '''
12018         The identity set.
12019        '''
12020        self.username = username if username is not None else ''
12021        '''
12022         The username to be used as the identity alias for this account.
12023        '''
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)
12033    def to_dict(self):
12034        return {
12035            'account_id': self.account_id,
12036            'id': self.id,
12037            'identity_set_id': self.identity_set_id,
12038            'username': self.username,
12039        }
@classmethod
def from_dict(cls, d)
12041    @classmethod
12042    def from_dict(cls, d):
12043        return cls(
12044            account_id=d.get('account_id'),
12045            id=d.get('id'),
12046            identity_set_id=d.get('identity_set_id'),
12047            username=d.get('username'),
12048        )
class IdentityAliasCreateResponse:
12051class IdentityAliasCreateResponse:
12052    '''
12053         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
12054    '''
12055    __slots__ = [
12056        'identity_alias',
12057        'meta',
12058        'rate_limit',
12059    ]
12060
12061    def __init__(
12062        self,
12063        identity_alias=None,
12064        meta=None,
12065        rate_limit=None,
12066    ):
12067        self.identity_alias = identity_alias if identity_alias is not None else None
12068        '''
12069         The created IdentityAlias.
12070        '''
12071        self.meta = meta if meta is not None else None
12072        '''
12073         Reserved for future use.
12074        '''
12075        self.rate_limit = rate_limit if rate_limit is not None else None
12076        '''
12077         Rate limit information.
12078        '''
12079
12080    def __repr__(self):
12081        return '<sdm.IdentityAliasCreateResponse ' + \
12082            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12083            'meta: ' + repr(self.meta) + ' ' +\
12084            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12085            '>'
12086
12087    def to_dict(self):
12088        return {
12089            'identity_alias': self.identity_alias,
12090            'meta': self.meta,
12091            'rate_limit': self.rate_limit,
12092        }
12093
12094    @classmethod
12095    def from_dict(cls, d):
12096        return cls(
12097            identity_alias=d.get('identity_alias'),
12098            meta=d.get('meta'),
12099            rate_limit=d.get('rate_limit'),
12100        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
12061    def __init__(
12062        self,
12063        identity_alias=None,
12064        meta=None,
12065        rate_limit=None,
12066    ):
12067        self.identity_alias = identity_alias if identity_alias is not None else None
12068        '''
12069         The created IdentityAlias.
12070        '''
12071        self.meta = meta if meta is not None else None
12072        '''
12073         Reserved for future use.
12074        '''
12075        self.rate_limit = rate_limit if rate_limit is not None else None
12076        '''
12077         Rate limit information.
12078        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12087    def to_dict(self):
12088        return {
12089            'identity_alias': self.identity_alias,
12090            'meta': self.meta,
12091            'rate_limit': self.rate_limit,
12092        }
@classmethod
def from_dict(cls, d)
12094    @classmethod
12095    def from_dict(cls, d):
12096        return cls(
12097            identity_alias=d.get('identity_alias'),
12098            meta=d.get('meta'),
12099            rate_limit=d.get('rate_limit'),
12100        )
class IdentityAliasDeleteResponse:
12103class IdentityAliasDeleteResponse:
12104    '''
12105         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
12106    '''
12107    __slots__ = [
12108        'meta',
12109        'rate_limit',
12110    ]
12111
12112    def __init__(
12113        self,
12114        meta=None,
12115        rate_limit=None,
12116    ):
12117        self.meta = meta if meta is not None else None
12118        '''
12119         Reserved for future use.
12120        '''
12121        self.rate_limit = rate_limit if rate_limit is not None else None
12122        '''
12123         Rate limit information.
12124        '''
12125
12126    def __repr__(self):
12127        return '<sdm.IdentityAliasDeleteResponse ' + \
12128            'meta: ' + repr(self.meta) + ' ' +\
12129            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12130            '>'
12131
12132    def to_dict(self):
12133        return {
12134            'meta': self.meta,
12135            'rate_limit': self.rate_limit,
12136        }
12137
12138    @classmethod
12139    def from_dict(cls, d):
12140        return cls(
12141            meta=d.get('meta'),
12142            rate_limit=d.get('rate_limit'),
12143        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
12112    def __init__(
12113        self,
12114        meta=None,
12115        rate_limit=None,
12116    ):
12117        self.meta = meta if meta is not None else None
12118        '''
12119         Reserved for future use.
12120        '''
12121        self.rate_limit = rate_limit if rate_limit is not None else None
12122        '''
12123         Rate limit information.
12124        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12132    def to_dict(self):
12133        return {
12134            'meta': self.meta,
12135            'rate_limit': self.rate_limit,
12136        }
@classmethod
def from_dict(cls, d)
12138    @classmethod
12139    def from_dict(cls, d):
12140        return cls(
12141            meta=d.get('meta'),
12142            rate_limit=d.get('rate_limit'),
12143        )
class IdentityAliasGetResponse:
12146class IdentityAliasGetResponse:
12147    '''
12148         IdentityAliasGetResponse returns a requested IdentityAlias.
12149    '''
12150    __slots__ = [
12151        'identity_alias',
12152        'meta',
12153        'rate_limit',
12154    ]
12155
12156    def __init__(
12157        self,
12158        identity_alias=None,
12159        meta=None,
12160        rate_limit=None,
12161    ):
12162        self.identity_alias = identity_alias if identity_alias is not None else None
12163        '''
12164         The requested IdentityAlias.
12165        '''
12166        self.meta = meta if meta is not None else None
12167        '''
12168         Reserved for future use.
12169        '''
12170        self.rate_limit = rate_limit if rate_limit is not None else None
12171        '''
12172         Rate limit information.
12173        '''
12174
12175    def __repr__(self):
12176        return '<sdm.IdentityAliasGetResponse ' + \
12177            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12178            'meta: ' + repr(self.meta) + ' ' +\
12179            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12180            '>'
12181
12182    def to_dict(self):
12183        return {
12184            'identity_alias': self.identity_alias,
12185            'meta': self.meta,
12186            'rate_limit': self.rate_limit,
12187        }
12188
12189    @classmethod
12190    def from_dict(cls, d):
12191        return cls(
12192            identity_alias=d.get('identity_alias'),
12193            meta=d.get('meta'),
12194            rate_limit=d.get('rate_limit'),
12195        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
12156    def __init__(
12157        self,
12158        identity_alias=None,
12159        meta=None,
12160        rate_limit=None,
12161    ):
12162        self.identity_alias = identity_alias if identity_alias is not None else None
12163        '''
12164         The requested IdentityAlias.
12165        '''
12166        self.meta = meta if meta is not None else None
12167        '''
12168         Reserved for future use.
12169        '''
12170        self.rate_limit = rate_limit if rate_limit is not None else None
12171        '''
12172         Rate limit information.
12173        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12182    def to_dict(self):
12183        return {
12184            'identity_alias': self.identity_alias,
12185            'meta': self.meta,
12186            'rate_limit': self.rate_limit,
12187        }
@classmethod
def from_dict(cls, d)
12189    @classmethod
12190    def from_dict(cls, d):
12191        return cls(
12192            identity_alias=d.get('identity_alias'),
12193            meta=d.get('meta'),
12194            rate_limit=d.get('rate_limit'),
12195        )
class IdentityAliasHistory:
12198class IdentityAliasHistory:
12199    '''
12200         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
12201     where every change (create, update and delete) to a IdentityAlias produces an
12202     IdentityAliasHistory record.
12203    '''
12204    __slots__ = [
12205        'activity_id',
12206        'deleted_at',
12207        'identity_alias',
12208        'timestamp',
12209    ]
12210
12211    def __init__(
12212        self,
12213        activity_id=None,
12214        deleted_at=None,
12215        identity_alias=None,
12216        timestamp=None,
12217    ):
12218        self.activity_id = activity_id if activity_id is not None else ''
12219        '''
12220         The unique identifier of the Activity that produced this change to the IdentityAlias.
12221         May be empty for some system-initiated updates.
12222        '''
12223        self.deleted_at = deleted_at if deleted_at is not None else None
12224        '''
12225         If this IdentityAlias was deleted, the time it was deleted.
12226        '''
12227        self.identity_alias = identity_alias if identity_alias is not None else None
12228        '''
12229         The complete IdentityAlias state at this time.
12230        '''
12231        self.timestamp = timestamp if timestamp is not None else None
12232        '''
12233         The time at which the IdentityAlias state was recorded.
12234        '''
12235
12236    def __repr__(self):
12237        return '<sdm.IdentityAliasHistory ' + \
12238            'activity_id: ' + repr(self.activity_id) + ' ' +\
12239            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
12240            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12241            'timestamp: ' + repr(self.timestamp) + ' ' +\
12242            '>'
12243
12244    def to_dict(self):
12245        return {
12246            'activity_id': self.activity_id,
12247            'deleted_at': self.deleted_at,
12248            'identity_alias': self.identity_alias,
12249            'timestamp': self.timestamp,
12250        }
12251
12252    @classmethod
12253    def from_dict(cls, d):
12254        return cls(
12255            activity_id=d.get('activity_id'),
12256            deleted_at=d.get('deleted_at'),
12257            identity_alias=d.get('identity_alias'),
12258            timestamp=d.get('timestamp'),
12259        )

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)
12211    def __init__(
12212        self,
12213        activity_id=None,
12214        deleted_at=None,
12215        identity_alias=None,
12216        timestamp=None,
12217    ):
12218        self.activity_id = activity_id if activity_id is not None else ''
12219        '''
12220         The unique identifier of the Activity that produced this change to the IdentityAlias.
12221         May be empty for some system-initiated updates.
12222        '''
12223        self.deleted_at = deleted_at if deleted_at is not None else None
12224        '''
12225         If this IdentityAlias was deleted, the time it was deleted.
12226        '''
12227        self.identity_alias = identity_alias if identity_alias is not None else None
12228        '''
12229         The complete IdentityAlias state at this time.
12230        '''
12231        self.timestamp = timestamp if timestamp is not None else None
12232        '''
12233         The time at which the IdentityAlias state was recorded.
12234        '''
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)
12244    def to_dict(self):
12245        return {
12246            'activity_id': self.activity_id,
12247            'deleted_at': self.deleted_at,
12248            'identity_alias': self.identity_alias,
12249            'timestamp': self.timestamp,
12250        }
@classmethod
def from_dict(cls, d)
12252    @classmethod
12253    def from_dict(cls, d):
12254        return cls(
12255            activity_id=d.get('activity_id'),
12256            deleted_at=d.get('deleted_at'),
12257            identity_alias=d.get('identity_alias'),
12258            timestamp=d.get('timestamp'),
12259        )
class IdentityAliasUpdateResponse:
12262class IdentityAliasUpdateResponse:
12263    '''
12264         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
12265     a IdentityAliasUpdateRequest.
12266    '''
12267    __slots__ = [
12268        'identity_alias',
12269        'meta',
12270        'rate_limit',
12271    ]
12272
12273    def __init__(
12274        self,
12275        identity_alias=None,
12276        meta=None,
12277        rate_limit=None,
12278    ):
12279        self.identity_alias = identity_alias if identity_alias is not None else None
12280        '''
12281         The updated IdentityAlias.
12282        '''
12283        self.meta = meta if meta is not None else None
12284        '''
12285         Reserved for future use.
12286        '''
12287        self.rate_limit = rate_limit if rate_limit is not None else None
12288        '''
12289         Rate limit information.
12290        '''
12291
12292    def __repr__(self):
12293        return '<sdm.IdentityAliasUpdateResponse ' + \
12294            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
12295            'meta: ' + repr(self.meta) + ' ' +\
12296            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12297            '>'
12298
12299    def to_dict(self):
12300        return {
12301            'identity_alias': self.identity_alias,
12302            'meta': self.meta,
12303            'rate_limit': self.rate_limit,
12304        }
12305
12306    @classmethod
12307    def from_dict(cls, d):
12308        return cls(
12309            identity_alias=d.get('identity_alias'),
12310            meta=d.get('meta'),
12311            rate_limit=d.get('rate_limit'),
12312        )

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

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
12273    def __init__(
12274        self,
12275        identity_alias=None,
12276        meta=None,
12277        rate_limit=None,
12278    ):
12279        self.identity_alias = identity_alias if identity_alias is not None else None
12280        '''
12281         The updated IdentityAlias.
12282        '''
12283        self.meta = meta if meta is not None else None
12284        '''
12285         Reserved for future use.
12286        '''
12287        self.rate_limit = rate_limit if rate_limit is not None else None
12288        '''
12289         Rate limit information.
12290        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12299    def to_dict(self):
12300        return {
12301            'identity_alias': self.identity_alias,
12302            'meta': self.meta,
12303            'rate_limit': self.rate_limit,
12304        }
@classmethod
def from_dict(cls, d)
12306    @classmethod
12307    def from_dict(cls, d):
12308        return cls(
12309            identity_alias=d.get('identity_alias'),
12310            meta=d.get('meta'),
12311            rate_limit=d.get('rate_limit'),
12312        )
class IdentitySet:
12315class IdentitySet:
12316    '''
12317         A IdentitySet defines a group of identity aliases.
12318    '''
12319    __slots__ = [
12320        'id',
12321        'name',
12322    ]
12323
12324    def __init__(
12325        self,
12326        id=None,
12327        name=None,
12328    ):
12329        self.id = id if id is not None else ''
12330        '''
12331         Unique identifier of the IdentitySet.
12332        '''
12333        self.name = name if name is not None else ''
12334        '''
12335         Unique human-readable name of the IdentitySet.
12336        '''
12337
12338    def __repr__(self):
12339        return '<sdm.IdentitySet ' + \
12340            'id: ' + repr(self.id) + ' ' +\
12341            'name: ' + repr(self.name) + ' ' +\
12342            '>'
12343
12344    def to_dict(self):
12345        return {
12346            'id': self.id,
12347            'name': self.name,
12348        }
12349
12350    @classmethod
12351    def from_dict(cls, d):
12352        return cls(
12353            id=d.get('id'),
12354            name=d.get('name'),
12355        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
12324    def __init__(
12325        self,
12326        id=None,
12327        name=None,
12328    ):
12329        self.id = id if id is not None else ''
12330        '''
12331         Unique identifier of the IdentitySet.
12332        '''
12333        self.name = name if name is not None else ''
12334        '''
12335         Unique human-readable name of the IdentitySet.
12336        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
12344    def to_dict(self):
12345        return {
12346            'id': self.id,
12347            'name': self.name,
12348        }
@classmethod
def from_dict(cls, d)
12350    @classmethod
12351    def from_dict(cls, d):
12352        return cls(
12353            id=d.get('id'),
12354            name=d.get('name'),
12355        )
class IdentitySetCreateResponse:
12358class IdentitySetCreateResponse:
12359    '''
12360         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
12361     communicate partial successes or failures.
12362    '''
12363    __slots__ = [
12364        'identity_set',
12365        'meta',
12366        'rate_limit',
12367    ]
12368
12369    def __init__(
12370        self,
12371        identity_set=None,
12372        meta=None,
12373        rate_limit=None,
12374    ):
12375        self.identity_set = identity_set if identity_set is not None else None
12376        '''
12377         The created IdentitySet.
12378        '''
12379        self.meta = meta if meta is not None else None
12380        '''
12381         Reserved for future use.
12382        '''
12383        self.rate_limit = rate_limit if rate_limit is not None else None
12384        '''
12385         Rate limit information.
12386        '''
12387
12388    def __repr__(self):
12389        return '<sdm.IdentitySetCreateResponse ' + \
12390            'identity_set: ' + repr(self.identity_set) + ' ' +\
12391            'meta: ' + repr(self.meta) + ' ' +\
12392            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12393            '>'
12394
12395    def to_dict(self):
12396        return {
12397            'identity_set': self.identity_set,
12398            'meta': self.meta,
12399            'rate_limit': self.rate_limit,
12400        }
12401
12402    @classmethod
12403    def from_dict(cls, d):
12404        return cls(
12405            identity_set=d.get('identity_set'),
12406            meta=d.get('meta'),
12407            rate_limit=d.get('rate_limit'),
12408        )

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)
12369    def __init__(
12370        self,
12371        identity_set=None,
12372        meta=None,
12373        rate_limit=None,
12374    ):
12375        self.identity_set = identity_set if identity_set is not None else None
12376        '''
12377         The created IdentitySet.
12378        '''
12379        self.meta = meta if meta is not None else None
12380        '''
12381         Reserved for future use.
12382        '''
12383        self.rate_limit = rate_limit if rate_limit is not None else None
12384        '''
12385         Rate limit information.
12386        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12395    def to_dict(self):
12396        return {
12397            'identity_set': self.identity_set,
12398            'meta': self.meta,
12399            'rate_limit': self.rate_limit,
12400        }
@classmethod
def from_dict(cls, d)
12402    @classmethod
12403    def from_dict(cls, d):
12404        return cls(
12405            identity_set=d.get('identity_set'),
12406            meta=d.get('meta'),
12407            rate_limit=d.get('rate_limit'),
12408        )
class IdentitySetDeleteResponse:
12411class IdentitySetDeleteResponse:
12412    '''
12413         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
12414    '''
12415    __slots__ = [
12416        'meta',
12417        'rate_limit',
12418    ]
12419
12420    def __init__(
12421        self,
12422        meta=None,
12423        rate_limit=None,
12424    ):
12425        self.meta = meta if meta is not None else None
12426        '''
12427         Reserved for future use.
12428        '''
12429        self.rate_limit = rate_limit if rate_limit is not None else None
12430        '''
12431         Rate limit information.
12432        '''
12433
12434    def __repr__(self):
12435        return '<sdm.IdentitySetDeleteResponse ' + \
12436            'meta: ' + repr(self.meta) + ' ' +\
12437            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12438            '>'
12439
12440    def to_dict(self):
12441        return {
12442            'meta': self.meta,
12443            'rate_limit': self.rate_limit,
12444        }
12445
12446    @classmethod
12447    def from_dict(cls, d):
12448        return cls(
12449            meta=d.get('meta'),
12450            rate_limit=d.get('rate_limit'),
12451        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
12420    def __init__(
12421        self,
12422        meta=None,
12423        rate_limit=None,
12424    ):
12425        self.meta = meta if meta is not None else None
12426        '''
12427         Reserved for future use.
12428        '''
12429        self.rate_limit = rate_limit if rate_limit is not None else None
12430        '''
12431         Rate limit information.
12432        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12440    def to_dict(self):
12441        return {
12442            'meta': self.meta,
12443            'rate_limit': self.rate_limit,
12444        }
@classmethod
def from_dict(cls, d)
12446    @classmethod
12447    def from_dict(cls, d):
12448        return cls(
12449            meta=d.get('meta'),
12450            rate_limit=d.get('rate_limit'),
12451        )
class IdentitySetGetResponse:
12454class IdentitySetGetResponse:
12455    '''
12456         IdentitySetGetResponse returns a requested IdentitySet.
12457    '''
12458    __slots__ = [
12459        'identity_set',
12460        'meta',
12461        'rate_limit',
12462    ]
12463
12464    def __init__(
12465        self,
12466        identity_set=None,
12467        meta=None,
12468        rate_limit=None,
12469    ):
12470        self.identity_set = identity_set if identity_set is not None else None
12471        '''
12472         The requested IdentitySet.
12473        '''
12474        self.meta = meta if meta is not None else None
12475        '''
12476         Reserved for future use.
12477        '''
12478        self.rate_limit = rate_limit if rate_limit is not None else None
12479        '''
12480         Rate limit information.
12481        '''
12482
12483    def __repr__(self):
12484        return '<sdm.IdentitySetGetResponse ' + \
12485            'identity_set: ' + repr(self.identity_set) + ' ' +\
12486            'meta: ' + repr(self.meta) + ' ' +\
12487            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12488            '>'
12489
12490    def to_dict(self):
12491        return {
12492            'identity_set': self.identity_set,
12493            'meta': self.meta,
12494            'rate_limit': self.rate_limit,
12495        }
12496
12497    @classmethod
12498    def from_dict(cls, d):
12499        return cls(
12500            identity_set=d.get('identity_set'),
12501            meta=d.get('meta'),
12502            rate_limit=d.get('rate_limit'),
12503        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
12464    def __init__(
12465        self,
12466        identity_set=None,
12467        meta=None,
12468        rate_limit=None,
12469    ):
12470        self.identity_set = identity_set if identity_set is not None else None
12471        '''
12472         The requested IdentitySet.
12473        '''
12474        self.meta = meta if meta is not None else None
12475        '''
12476         Reserved for future use.
12477        '''
12478        self.rate_limit = rate_limit if rate_limit is not None else None
12479        '''
12480         Rate limit information.
12481        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12490    def to_dict(self):
12491        return {
12492            'identity_set': self.identity_set,
12493            'meta': self.meta,
12494            'rate_limit': self.rate_limit,
12495        }
@classmethod
def from_dict(cls, d)
12497    @classmethod
12498    def from_dict(cls, d):
12499        return cls(
12500            identity_set=d.get('identity_set'),
12501            meta=d.get('meta'),
12502            rate_limit=d.get('rate_limit'),
12503        )
class IdentitySetHistory:
12506class IdentitySetHistory:
12507    '''
12508         IdentitySetHistory records the state of a IdentitySet at a given point in time,
12509     where every change (create, update and delete) to a IdentitySet produces an
12510     IdentitySetHistory record.
12511    '''
12512    __slots__ = [
12513        'activity_id',
12514        'deleted_at',
12515        'identity_set',
12516        'timestamp',
12517    ]
12518
12519    def __init__(
12520        self,
12521        activity_id=None,
12522        deleted_at=None,
12523        identity_set=None,
12524        timestamp=None,
12525    ):
12526        self.activity_id = activity_id if activity_id is not None else ''
12527        '''
12528         The unique identifier of the Activity that produced this change to the IdentitySet.
12529         May be empty for some system-initiated updates.
12530        '''
12531        self.deleted_at = deleted_at if deleted_at is not None else None
12532        '''
12533         If this IdentitySet was deleted, the time it was deleted.
12534        '''
12535        self.identity_set = identity_set if identity_set is not None else None
12536        '''
12537         The complete IdentitySet state at this time.
12538        '''
12539        self.timestamp = timestamp if timestamp is not None else None
12540        '''
12541         The time at which the IdentitySet state was recorded.
12542        '''
12543
12544    def __repr__(self):
12545        return '<sdm.IdentitySetHistory ' + \
12546            'activity_id: ' + repr(self.activity_id) + ' ' +\
12547            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
12548            'identity_set: ' + repr(self.identity_set) + ' ' +\
12549            'timestamp: ' + repr(self.timestamp) + ' ' +\
12550            '>'
12551
12552    def to_dict(self):
12553        return {
12554            'activity_id': self.activity_id,
12555            'deleted_at': self.deleted_at,
12556            'identity_set': self.identity_set,
12557            'timestamp': self.timestamp,
12558        }
12559
12560    @classmethod
12561    def from_dict(cls, d):
12562        return cls(
12563            activity_id=d.get('activity_id'),
12564            deleted_at=d.get('deleted_at'),
12565            identity_set=d.get('identity_set'),
12566            timestamp=d.get('timestamp'),
12567        )

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)
12519    def __init__(
12520        self,
12521        activity_id=None,
12522        deleted_at=None,
12523        identity_set=None,
12524        timestamp=None,
12525    ):
12526        self.activity_id = activity_id if activity_id is not None else ''
12527        '''
12528         The unique identifier of the Activity that produced this change to the IdentitySet.
12529         May be empty for some system-initiated updates.
12530        '''
12531        self.deleted_at = deleted_at if deleted_at is not None else None
12532        '''
12533         If this IdentitySet was deleted, the time it was deleted.
12534        '''
12535        self.identity_set = identity_set if identity_set is not None else None
12536        '''
12537         The complete IdentitySet state at this time.
12538        '''
12539        self.timestamp = timestamp if timestamp is not None else None
12540        '''
12541         The time at which the IdentitySet state was recorded.
12542        '''
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)
12552    def to_dict(self):
12553        return {
12554            'activity_id': self.activity_id,
12555            'deleted_at': self.deleted_at,
12556            'identity_set': self.identity_set,
12557            'timestamp': self.timestamp,
12558        }
@classmethod
def from_dict(cls, d)
12560    @classmethod
12561    def from_dict(cls, d):
12562        return cls(
12563            activity_id=d.get('activity_id'),
12564            deleted_at=d.get('deleted_at'),
12565            identity_set=d.get('identity_set'),
12566            timestamp=d.get('timestamp'),
12567        )
class IdentitySetUpdateResponse:
12570class IdentitySetUpdateResponse:
12571    '''
12572         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
12573     a IdentitySetUpdateRequest.
12574    '''
12575    __slots__ = [
12576        'identity_set',
12577        'meta',
12578        'rate_limit',
12579    ]
12580
12581    def __init__(
12582        self,
12583        identity_set=None,
12584        meta=None,
12585        rate_limit=None,
12586    ):
12587        self.identity_set = identity_set if identity_set is not None else None
12588        '''
12589         The updated IdentitySet.
12590        '''
12591        self.meta = meta if meta is not None else None
12592        '''
12593         Reserved for future use.
12594        '''
12595        self.rate_limit = rate_limit if rate_limit is not None else None
12596        '''
12597         Rate limit information.
12598        '''
12599
12600    def __repr__(self):
12601        return '<sdm.IdentitySetUpdateResponse ' + \
12602            'identity_set: ' + repr(self.identity_set) + ' ' +\
12603            'meta: ' + repr(self.meta) + ' ' +\
12604            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12605            '>'
12606
12607    def to_dict(self):
12608        return {
12609            'identity_set': self.identity_set,
12610            'meta': self.meta,
12611            'rate_limit': self.rate_limit,
12612        }
12613
12614    @classmethod
12615    def from_dict(cls, d):
12616        return cls(
12617            identity_set=d.get('identity_set'),
12618            meta=d.get('meta'),
12619            rate_limit=d.get('rate_limit'),
12620        )

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

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
12581    def __init__(
12582        self,
12583        identity_set=None,
12584        meta=None,
12585        rate_limit=None,
12586    ):
12587        self.identity_set = identity_set if identity_set is not None else None
12588        '''
12589         The updated IdentitySet.
12590        '''
12591        self.meta = meta if meta is not None else None
12592        '''
12593         Reserved for future use.
12594        '''
12595        self.rate_limit = rate_limit if rate_limit is not None else None
12596        '''
12597         Rate limit information.
12598        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
12607    def to_dict(self):
12608        return {
12609            'identity_set': self.identity_set,
12610            'meta': self.meta,
12611            'rate_limit': self.rate_limit,
12612        }
@classmethod
def from_dict(cls, d)
12614    @classmethod
12615    def from_dict(cls, d):
12616        return cls(
12617            identity_set=d.get('identity_set'),
12618            meta=d.get('meta'),
12619            rate_limit=d.get('rate_limit'),
12620        )
class KeyfactorSSHStore:
12623class KeyfactorSSHStore:
12624    __slots__ = [
12625        'ca_file_path',
12626        'certificate_file_path',
12627        'default_certificate_authority_name',
12628        'default_certificate_profile_name',
12629        'default_end_entity_profile_name',
12630        'enrollment_code_env_var',
12631        'enrollment_username_env_var',
12632        'id',
12633        'key_file_path',
12634        'name',
12635        'server_address',
12636        'tags',
12637    ]
12638
12639    def __init__(
12640        self,
12641        ca_file_path=None,
12642        certificate_file_path=None,
12643        default_certificate_authority_name=None,
12644        default_certificate_profile_name=None,
12645        default_end_entity_profile_name=None,
12646        enrollment_code_env_var=None,
12647        enrollment_username_env_var=None,
12648        id=None,
12649        key_file_path=None,
12650        name=None,
12651        server_address=None,
12652        tags=None,
12653    ):
12654        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12655        '''
12656         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12657         This is not required if the CA is trusted by the host operating system. This should be a PEM
12658         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12659        '''
12660        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12661        '''
12662         Path to client certificate in PEM format. This certificate must contain a client certificate that
12663         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12664         key associated with the certificate, but KeyFile can also be set to configure the private key.
12665        '''
12666        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12667        '''
12668         Name of EJBCA certificate authority that will enroll CSR.
12669        '''
12670        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12671        '''
12672         Certificate profile name that EJBCA will enroll the CSR with.
12673        '''
12674        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12675        '''
12676         End entity profile that EJBCA will enroll the CSR with.
12677        '''
12678        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12679        '''
12680         code used by EJBCA during enrollment. May be left blank if no code is required.
12681        '''
12682        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12683        '''
12684         username that used by the EJBCA during enrollment. This can be left out. 
12685         If so, the username must be auto-generated on the Keyfactor side.
12686        '''
12687        self.id = id if id is not None else ''
12688        '''
12689         Unique identifier of the SecretStore.
12690        '''
12691        self.key_file_path = key_file_path if key_file_path is not None else ''
12692        '''
12693         Path to private key in PEM format. This file should contain the private key associated with the
12694         client certificate configured in CertificateFile.
12695        '''
12696        self.name = name if name is not None else ''
12697        '''
12698         Unique human-readable name of the SecretStore.
12699        '''
12700        self.server_address = server_address if server_address is not None else ''
12701        '''
12702         the host of the Key Factor CA
12703        '''
12704        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12705        '''
12706         Tags is a map of key, value pairs.
12707        '''
12708
12709    def __repr__(self):
12710        return '<sdm.KeyfactorSSHStore ' + \
12711            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
12712            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
12713            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
12714            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
12715            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
12716            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
12717            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
12718            'id: ' + repr(self.id) + ' ' +\
12719            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
12720            'name: ' + repr(self.name) + ' ' +\
12721            'server_address: ' + repr(self.server_address) + ' ' +\
12722            'tags: ' + repr(self.tags) + ' ' +\
12723            '>'
12724
12725    def to_dict(self):
12726        return {
12727            'ca_file_path': self.ca_file_path,
12728            'certificate_file_path': self.certificate_file_path,
12729            'default_certificate_authority_name':
12730            self.default_certificate_authority_name,
12731            'default_certificate_profile_name':
12732            self.default_certificate_profile_name,
12733            'default_end_entity_profile_name':
12734            self.default_end_entity_profile_name,
12735            'enrollment_code_env_var': self.enrollment_code_env_var,
12736            'enrollment_username_env_var': self.enrollment_username_env_var,
12737            'id': self.id,
12738            'key_file_path': self.key_file_path,
12739            'name': self.name,
12740            'server_address': self.server_address,
12741            'tags': self.tags,
12742        }
12743
12744    @classmethod
12745    def from_dict(cls, d):
12746        return cls(
12747            ca_file_path=d.get('ca_file_path'),
12748            certificate_file_path=d.get('certificate_file_path'),
12749            default_certificate_authority_name=d.get(
12750                'default_certificate_authority_name'),
12751            default_certificate_profile_name=d.get(
12752                'default_certificate_profile_name'),
12753            default_end_entity_profile_name=d.get(
12754                'default_end_entity_profile_name'),
12755            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12756            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12757            id=d.get('id'),
12758            key_file_path=d.get('key_file_path'),
12759            name=d.get('name'),
12760            server_address=d.get('server_address'),
12761            tags=d.get('tags'),
12762        )
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)
12639    def __init__(
12640        self,
12641        ca_file_path=None,
12642        certificate_file_path=None,
12643        default_certificate_authority_name=None,
12644        default_certificate_profile_name=None,
12645        default_end_entity_profile_name=None,
12646        enrollment_code_env_var=None,
12647        enrollment_username_env_var=None,
12648        id=None,
12649        key_file_path=None,
12650        name=None,
12651        server_address=None,
12652        tags=None,
12653    ):
12654        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12655        '''
12656         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12657         This is not required if the CA is trusted by the host operating system. This should be a PEM
12658         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12659        '''
12660        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12661        '''
12662         Path to client certificate in PEM format. This certificate must contain a client certificate that
12663         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12664         key associated with the certificate, but KeyFile can also be set to configure the private key.
12665        '''
12666        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12667        '''
12668         Name of EJBCA certificate authority that will enroll CSR.
12669        '''
12670        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12671        '''
12672         Certificate profile name that EJBCA will enroll the CSR with.
12673        '''
12674        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12675        '''
12676         End entity profile that EJBCA will enroll the CSR with.
12677        '''
12678        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12679        '''
12680         code used by EJBCA during enrollment. May be left blank if no code is required.
12681        '''
12682        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12683        '''
12684         username that used by the EJBCA during enrollment. This can be left out. 
12685         If so, the username must be auto-generated on the Keyfactor side.
12686        '''
12687        self.id = id if id is not None else ''
12688        '''
12689         Unique identifier of the SecretStore.
12690        '''
12691        self.key_file_path = key_file_path if key_file_path is not None else ''
12692        '''
12693         Path to private key in PEM format. This file should contain the private key associated with the
12694         client certificate configured in CertificateFile.
12695        '''
12696        self.name = name if name is not None else ''
12697        '''
12698         Unique human-readable name of the SecretStore.
12699        '''
12700        self.server_address = server_address if server_address is not None else ''
12701        '''
12702         the host of the Key Factor CA
12703        '''
12704        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12705        '''
12706         Tags is a map of key, value pairs.
12707        '''
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)
12725    def to_dict(self):
12726        return {
12727            'ca_file_path': self.ca_file_path,
12728            'certificate_file_path': self.certificate_file_path,
12729            'default_certificate_authority_name':
12730            self.default_certificate_authority_name,
12731            'default_certificate_profile_name':
12732            self.default_certificate_profile_name,
12733            'default_end_entity_profile_name':
12734            self.default_end_entity_profile_name,
12735            'enrollment_code_env_var': self.enrollment_code_env_var,
12736            'enrollment_username_env_var': self.enrollment_username_env_var,
12737            'id': self.id,
12738            'key_file_path': self.key_file_path,
12739            'name': self.name,
12740            'server_address': self.server_address,
12741            'tags': self.tags,
12742        }
@classmethod
def from_dict(cls, d)
12744    @classmethod
12745    def from_dict(cls, d):
12746        return cls(
12747            ca_file_path=d.get('ca_file_path'),
12748            certificate_file_path=d.get('certificate_file_path'),
12749            default_certificate_authority_name=d.get(
12750                'default_certificate_authority_name'),
12751            default_certificate_profile_name=d.get(
12752                'default_certificate_profile_name'),
12753            default_end_entity_profile_name=d.get(
12754                'default_end_entity_profile_name'),
12755            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12756            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12757            id=d.get('id'),
12758            key_file_path=d.get('key_file_path'),
12759            name=d.get('name'),
12760            server_address=d.get('server_address'),
12761            tags=d.get('tags'),
12762        )
class KeyfactorX509Store:
12765class KeyfactorX509Store:
12766    __slots__ = [
12767        'ca_file_path',
12768        'certificate_file_path',
12769        'default_certificate_authority_name',
12770        'default_certificate_profile_name',
12771        'default_end_entity_profile_name',
12772        'enrollment_code_env_var',
12773        'enrollment_username_env_var',
12774        'id',
12775        'key_file_path',
12776        'name',
12777        'server_address',
12778        'tags',
12779    ]
12780
12781    def __init__(
12782        self,
12783        ca_file_path=None,
12784        certificate_file_path=None,
12785        default_certificate_authority_name=None,
12786        default_certificate_profile_name=None,
12787        default_end_entity_profile_name=None,
12788        enrollment_code_env_var=None,
12789        enrollment_username_env_var=None,
12790        id=None,
12791        key_file_path=None,
12792        name=None,
12793        server_address=None,
12794        tags=None,
12795    ):
12796        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12797        '''
12798         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12799         This is not required if the CA is trusted by the host operating system. This should be a PEM
12800         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12801        '''
12802        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12803        '''
12804         Path to client certificate in PEM format. This certificate must contain a client certificate that
12805         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12806         key associated with the certificate, but KeyFile can also be set to configure the private key.
12807        '''
12808        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12809        '''
12810         Name of EJBCA certificate authority that will enroll CSR.
12811        '''
12812        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12813        '''
12814         Certificate profile name that EJBCA will enroll the CSR with.
12815        '''
12816        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12817        '''
12818         End entity profile that EJBCA will enroll the CSR with.
12819        '''
12820        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12821        '''
12822         code used by EJBCA during enrollment. May be left blank if no code is required.
12823        '''
12824        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12825        '''
12826         username that used by the EJBCA during enrollment. This can be left out. 
12827         If so, the username must be auto-generated on the Keyfactor side.
12828        '''
12829        self.id = id if id is not None else ''
12830        '''
12831         Unique identifier of the SecretStore.
12832        '''
12833        self.key_file_path = key_file_path if key_file_path is not None else ''
12834        '''
12835         Path to private key in PEM format. This file should contain the private key associated with the
12836         client certificate configured in CertificateFile.
12837        '''
12838        self.name = name if name is not None else ''
12839        '''
12840         Unique human-readable name of the SecretStore.
12841        '''
12842        self.server_address = server_address if server_address is not None else ''
12843        '''
12844         the host of the Key Factor CA
12845        '''
12846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12847        '''
12848         Tags is a map of key, value pairs.
12849        '''
12850
12851    def __repr__(self):
12852        return '<sdm.KeyfactorX509Store ' + \
12853            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
12854            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
12855            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
12856            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
12857            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
12858            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
12859            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
12860            'id: ' + repr(self.id) + ' ' +\
12861            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
12862            'name: ' + repr(self.name) + ' ' +\
12863            'server_address: ' + repr(self.server_address) + ' ' +\
12864            'tags: ' + repr(self.tags) + ' ' +\
12865            '>'
12866
12867    def to_dict(self):
12868        return {
12869            'ca_file_path': self.ca_file_path,
12870            'certificate_file_path': self.certificate_file_path,
12871            'default_certificate_authority_name':
12872            self.default_certificate_authority_name,
12873            'default_certificate_profile_name':
12874            self.default_certificate_profile_name,
12875            'default_end_entity_profile_name':
12876            self.default_end_entity_profile_name,
12877            'enrollment_code_env_var': self.enrollment_code_env_var,
12878            'enrollment_username_env_var': self.enrollment_username_env_var,
12879            'id': self.id,
12880            'key_file_path': self.key_file_path,
12881            'name': self.name,
12882            'server_address': self.server_address,
12883            'tags': self.tags,
12884        }
12885
12886    @classmethod
12887    def from_dict(cls, d):
12888        return cls(
12889            ca_file_path=d.get('ca_file_path'),
12890            certificate_file_path=d.get('certificate_file_path'),
12891            default_certificate_authority_name=d.get(
12892                'default_certificate_authority_name'),
12893            default_certificate_profile_name=d.get(
12894                'default_certificate_profile_name'),
12895            default_end_entity_profile_name=d.get(
12896                'default_end_entity_profile_name'),
12897            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12898            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12899            id=d.get('id'),
12900            key_file_path=d.get('key_file_path'),
12901            name=d.get('name'),
12902            server_address=d.get('server_address'),
12903            tags=d.get('tags'),
12904        )
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)
12781    def __init__(
12782        self,
12783        ca_file_path=None,
12784        certificate_file_path=None,
12785        default_certificate_authority_name=None,
12786        default_certificate_profile_name=None,
12787        default_end_entity_profile_name=None,
12788        enrollment_code_env_var=None,
12789        enrollment_username_env_var=None,
12790        id=None,
12791        key_file_path=None,
12792        name=None,
12793        server_address=None,
12794        tags=None,
12795    ):
12796        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
12797        '''
12798         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
12799         This is not required if the CA is trusted by the host operating system. This should be a PEM
12800         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
12801        '''
12802        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
12803        '''
12804         Path to client certificate in PEM format. This certificate must contain a client certificate that
12805         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
12806         key associated with the certificate, but KeyFile can also be set to configure the private key.
12807        '''
12808        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
12809        '''
12810         Name of EJBCA certificate authority that will enroll CSR.
12811        '''
12812        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
12813        '''
12814         Certificate profile name that EJBCA will enroll the CSR with.
12815        '''
12816        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
12817        '''
12818         End entity profile that EJBCA will enroll the CSR with.
12819        '''
12820        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
12821        '''
12822         code used by EJBCA during enrollment. May be left blank if no code is required.
12823        '''
12824        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
12825        '''
12826         username that used by the EJBCA during enrollment. This can be left out. 
12827         If so, the username must be auto-generated on the Keyfactor side.
12828        '''
12829        self.id = id if id is not None else ''
12830        '''
12831         Unique identifier of the SecretStore.
12832        '''
12833        self.key_file_path = key_file_path if key_file_path is not None else ''
12834        '''
12835         Path to private key in PEM format. This file should contain the private key associated with the
12836         client certificate configured in CertificateFile.
12837        '''
12838        self.name = name if name is not None else ''
12839        '''
12840         Unique human-readable name of the SecretStore.
12841        '''
12842        self.server_address = server_address if server_address is not None else ''
12843        '''
12844         the host of the Key Factor CA
12845        '''
12846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12847        '''
12848         Tags is a map of key, value pairs.
12849        '''
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)
12867    def to_dict(self):
12868        return {
12869            'ca_file_path': self.ca_file_path,
12870            'certificate_file_path': self.certificate_file_path,
12871            'default_certificate_authority_name':
12872            self.default_certificate_authority_name,
12873            'default_certificate_profile_name':
12874            self.default_certificate_profile_name,
12875            'default_end_entity_profile_name':
12876            self.default_end_entity_profile_name,
12877            'enrollment_code_env_var': self.enrollment_code_env_var,
12878            'enrollment_username_env_var': self.enrollment_username_env_var,
12879            'id': self.id,
12880            'key_file_path': self.key_file_path,
12881            'name': self.name,
12882            'server_address': self.server_address,
12883            'tags': self.tags,
12884        }
@classmethod
def from_dict(cls, d)
12886    @classmethod
12887    def from_dict(cls, d):
12888        return cls(
12889            ca_file_path=d.get('ca_file_path'),
12890            certificate_file_path=d.get('certificate_file_path'),
12891            default_certificate_authority_name=d.get(
12892                'default_certificate_authority_name'),
12893            default_certificate_profile_name=d.get(
12894                'default_certificate_profile_name'),
12895            default_end_entity_profile_name=d.get(
12896                'default_end_entity_profile_name'),
12897            enrollment_code_env_var=d.get('enrollment_code_env_var'),
12898            enrollment_username_env_var=d.get('enrollment_username_env_var'),
12899            id=d.get('id'),
12900            key_file_path=d.get('key_file_path'),
12901            name=d.get('name'),
12902            server_address=d.get('server_address'),
12903            tags=d.get('tags'),
12904        )
class Kubernetes:
12907class Kubernetes:
12908    __slots__ = [
12909        'allow_resource_role_bypass',
12910        'bind_interface',
12911        'certificate_authority',
12912        'client_certificate',
12913        'client_key',
12914        'discovery_enabled',
12915        'discovery_username',
12916        'egress_filter',
12917        'healthcheck_namespace',
12918        'healthy',
12919        'hostname',
12920        'id',
12921        'identity_alias_healthcheck_username',
12922        'identity_set_id',
12923        'name',
12924        'port',
12925        'port_override',
12926        'proxy_cluster_id',
12927        'secret_store_id',
12928        'subdomain',
12929        'tags',
12930    ]
12931
12932    def __init__(
12933        self,
12934        allow_resource_role_bypass=None,
12935        bind_interface=None,
12936        certificate_authority=None,
12937        client_certificate=None,
12938        client_key=None,
12939        discovery_enabled=None,
12940        discovery_username=None,
12941        egress_filter=None,
12942        healthcheck_namespace=None,
12943        healthy=None,
12944        hostname=None,
12945        id=None,
12946        identity_alias_healthcheck_username=None,
12947        identity_set_id=None,
12948        name=None,
12949        port=None,
12950        port_override=None,
12951        proxy_cluster_id=None,
12952        secret_store_id=None,
12953        subdomain=None,
12954        tags=None,
12955    ):
12956        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12957        '''
12958         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12959         when a resource role is not provided.
12960        '''
12961        self.bind_interface = bind_interface if bind_interface is not None else ''
12962        '''
12963         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12964        '''
12965        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12966        '''
12967         The CA to authenticate TLS connections with.
12968        '''
12969        self.client_certificate = client_certificate if client_certificate is not None else ''
12970        '''
12971         The certificate to authenticate TLS connections with.
12972        '''
12973        self.client_key = client_key if client_key is not None else ''
12974        '''
12975         The key to authenticate TLS connections with.
12976        '''
12977        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12978        '''
12979         If true, configures discovery of a cluster to be run from a node.
12980        '''
12981        self.discovery_username = discovery_username if discovery_username is not None else ''
12982        '''
12983         If a cluster is configured for user impersonation, this is the user to impersonate when
12984         running discovery.
12985        '''
12986        self.egress_filter = egress_filter if egress_filter is not None else ''
12987        '''
12988         A filter applied to the routing logic to pin datasource to nodes.
12989        '''
12990        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12991        '''
12992         The path used to check the health of your connection.  Defaults to `default`.
12993        '''
12994        self.healthy = healthy if healthy is not None else False
12995        '''
12996         True if the datasource is reachable and the credentials are valid.
12997        '''
12998        self.hostname = hostname if hostname is not None else ''
12999        '''
13000         The host to dial to initiate a connection from the egress node to this resource.
13001        '''
13002        self.id = id if id is not None else ''
13003        '''
13004         Unique identifier of the Resource.
13005        '''
13006        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13007        '''
13008         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13009        '''
13010        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13011        '''
13012         The ID of the identity set to use for identity connections.
13013        '''
13014        self.name = name if name is not None else ''
13015        '''
13016         Unique human-readable name of the Resource.
13017        '''
13018        self.port = port if port is not None else 0
13019        '''
13020         The port to dial to initiate a connection from the egress node to this resource.
13021        '''
13022        self.port_override = port_override if port_override is not None else 0
13023        '''
13024         The local port used by clients to connect to this resource.
13025        '''
13026        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13027        '''
13028         ID of the proxy cluster for this resource, if any.
13029        '''
13030        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13031        '''
13032         ID of the secret store containing credentials for this resource, if any.
13033        '''
13034        self.subdomain = subdomain if subdomain is not None else ''
13035        '''
13036         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13037        '''
13038        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13039        '''
13040         Tags is a map of key, value pairs.
13041        '''
13042
13043    def __repr__(self):
13044        return '<sdm.Kubernetes ' + \
13045            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13046            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13047            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13048            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13049            'client_key: ' + repr(self.client_key) + ' ' +\
13050            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13051            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13052            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13053            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13054            'healthy: ' + repr(self.healthy) + ' ' +\
13055            'hostname: ' + repr(self.hostname) + ' ' +\
13056            'id: ' + repr(self.id) + ' ' +\
13057            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13058            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13059            'name: ' + repr(self.name) + ' ' +\
13060            'port: ' + repr(self.port) + ' ' +\
13061            'port_override: ' + repr(self.port_override) + ' ' +\
13062            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13063            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13064            'subdomain: ' + repr(self.subdomain) + ' ' +\
13065            'tags: ' + repr(self.tags) + ' ' +\
13066            '>'
13067
13068    def to_dict(self):
13069        return {
13070            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13071            'bind_interface': self.bind_interface,
13072            'certificate_authority': self.certificate_authority,
13073            'client_certificate': self.client_certificate,
13074            'client_key': self.client_key,
13075            'discovery_enabled': self.discovery_enabled,
13076            'discovery_username': self.discovery_username,
13077            'egress_filter': self.egress_filter,
13078            'healthcheck_namespace': self.healthcheck_namespace,
13079            'healthy': self.healthy,
13080            'hostname': self.hostname,
13081            'id': self.id,
13082            'identity_alias_healthcheck_username':
13083            self.identity_alias_healthcheck_username,
13084            'identity_set_id': self.identity_set_id,
13085            'name': self.name,
13086            'port': self.port,
13087            'port_override': self.port_override,
13088            'proxy_cluster_id': self.proxy_cluster_id,
13089            'secret_store_id': self.secret_store_id,
13090            'subdomain': self.subdomain,
13091            'tags': self.tags,
13092        }
13093
13094    @classmethod
13095    def from_dict(cls, d):
13096        return cls(
13097            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13098            bind_interface=d.get('bind_interface'),
13099            certificate_authority=d.get('certificate_authority'),
13100            client_certificate=d.get('client_certificate'),
13101            client_key=d.get('client_key'),
13102            discovery_enabled=d.get('discovery_enabled'),
13103            discovery_username=d.get('discovery_username'),
13104            egress_filter=d.get('egress_filter'),
13105            healthcheck_namespace=d.get('healthcheck_namespace'),
13106            healthy=d.get('healthy'),
13107            hostname=d.get('hostname'),
13108            id=d.get('id'),
13109            identity_alias_healthcheck_username=d.get(
13110                'identity_alias_healthcheck_username'),
13111            identity_set_id=d.get('identity_set_id'),
13112            name=d.get('name'),
13113            port=d.get('port'),
13114            port_override=d.get('port_override'),
13115            proxy_cluster_id=d.get('proxy_cluster_id'),
13116            secret_store_id=d.get('secret_store_id'),
13117            subdomain=d.get('subdomain'),
13118            tags=d.get('tags'),
13119        )
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)
12932    def __init__(
12933        self,
12934        allow_resource_role_bypass=None,
12935        bind_interface=None,
12936        certificate_authority=None,
12937        client_certificate=None,
12938        client_key=None,
12939        discovery_enabled=None,
12940        discovery_username=None,
12941        egress_filter=None,
12942        healthcheck_namespace=None,
12943        healthy=None,
12944        hostname=None,
12945        id=None,
12946        identity_alias_healthcheck_username=None,
12947        identity_set_id=None,
12948        name=None,
12949        port=None,
12950        port_override=None,
12951        proxy_cluster_id=None,
12952        secret_store_id=None,
12953        subdomain=None,
12954        tags=None,
12955    ):
12956        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12957        '''
12958         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12959         when a resource role is not provided.
12960        '''
12961        self.bind_interface = bind_interface if bind_interface is not None else ''
12962        '''
12963         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12964        '''
12965        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12966        '''
12967         The CA to authenticate TLS connections with.
12968        '''
12969        self.client_certificate = client_certificate if client_certificate is not None else ''
12970        '''
12971         The certificate to authenticate TLS connections with.
12972        '''
12973        self.client_key = client_key if client_key is not None else ''
12974        '''
12975         The key to authenticate TLS connections with.
12976        '''
12977        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12978        '''
12979         If true, configures discovery of a cluster to be run from a node.
12980        '''
12981        self.discovery_username = discovery_username if discovery_username is not None else ''
12982        '''
12983         If a cluster is configured for user impersonation, this is the user to impersonate when
12984         running discovery.
12985        '''
12986        self.egress_filter = egress_filter if egress_filter is not None else ''
12987        '''
12988         A filter applied to the routing logic to pin datasource to nodes.
12989        '''
12990        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12991        '''
12992         The path used to check the health of your connection.  Defaults to `default`.
12993        '''
12994        self.healthy = healthy if healthy is not None else False
12995        '''
12996         True if the datasource is reachable and the credentials are valid.
12997        '''
12998        self.hostname = hostname if hostname is not None else ''
12999        '''
13000         The host to dial to initiate a connection from the egress node to this resource.
13001        '''
13002        self.id = id if id is not None else ''
13003        '''
13004         Unique identifier of the Resource.
13005        '''
13006        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13007        '''
13008         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13009        '''
13010        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13011        '''
13012         The ID of the identity set to use for identity connections.
13013        '''
13014        self.name = name if name is not None else ''
13015        '''
13016         Unique human-readable name of the Resource.
13017        '''
13018        self.port = port if port is not None else 0
13019        '''
13020         The port to dial to initiate a connection from the egress node to this resource.
13021        '''
13022        self.port_override = port_override if port_override is not None else 0
13023        '''
13024         The local port used by clients to connect to this resource.
13025        '''
13026        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13027        '''
13028         ID of the proxy cluster for this resource, if any.
13029        '''
13030        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13031        '''
13032         ID of the secret store containing credentials for this resource, if any.
13033        '''
13034        self.subdomain = subdomain if subdomain is not None else ''
13035        '''
13036         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13037        '''
13038        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13039        '''
13040         Tags is a map of key, value pairs.
13041        '''
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)
13068    def to_dict(self):
13069        return {
13070            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13071            'bind_interface': self.bind_interface,
13072            'certificate_authority': self.certificate_authority,
13073            'client_certificate': self.client_certificate,
13074            'client_key': self.client_key,
13075            'discovery_enabled': self.discovery_enabled,
13076            'discovery_username': self.discovery_username,
13077            'egress_filter': self.egress_filter,
13078            'healthcheck_namespace': self.healthcheck_namespace,
13079            'healthy': self.healthy,
13080            'hostname': self.hostname,
13081            'id': self.id,
13082            'identity_alias_healthcheck_username':
13083            self.identity_alias_healthcheck_username,
13084            'identity_set_id': self.identity_set_id,
13085            'name': self.name,
13086            'port': self.port,
13087            'port_override': self.port_override,
13088            'proxy_cluster_id': self.proxy_cluster_id,
13089            'secret_store_id': self.secret_store_id,
13090            'subdomain': self.subdomain,
13091            'tags': self.tags,
13092        }
@classmethod
def from_dict(cls, d)
13094    @classmethod
13095    def from_dict(cls, d):
13096        return cls(
13097            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13098            bind_interface=d.get('bind_interface'),
13099            certificate_authority=d.get('certificate_authority'),
13100            client_certificate=d.get('client_certificate'),
13101            client_key=d.get('client_key'),
13102            discovery_enabled=d.get('discovery_enabled'),
13103            discovery_username=d.get('discovery_username'),
13104            egress_filter=d.get('egress_filter'),
13105            healthcheck_namespace=d.get('healthcheck_namespace'),
13106            healthy=d.get('healthy'),
13107            hostname=d.get('hostname'),
13108            id=d.get('id'),
13109            identity_alias_healthcheck_username=d.get(
13110                'identity_alias_healthcheck_username'),
13111            identity_set_id=d.get('identity_set_id'),
13112            name=d.get('name'),
13113            port=d.get('port'),
13114            port_override=d.get('port_override'),
13115            proxy_cluster_id=d.get('proxy_cluster_id'),
13116            secret_store_id=d.get('secret_store_id'),
13117            subdomain=d.get('subdomain'),
13118            tags=d.get('tags'),
13119        )
class KubernetesBasicAuth:
13122class KubernetesBasicAuth:
13123    '''
13124    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
13125    without a major version bump.
13126    '''
13127    __slots__ = [
13128        'bind_interface',
13129        'egress_filter',
13130        'healthcheck_namespace',
13131        'healthy',
13132        'hostname',
13133        'id',
13134        'name',
13135        'password',
13136        'port',
13137        'port_override',
13138        'proxy_cluster_id',
13139        'secret_store_id',
13140        'subdomain',
13141        'tags',
13142        'username',
13143    ]
13144
13145    def __init__(
13146        self,
13147        bind_interface=None,
13148        egress_filter=None,
13149        healthcheck_namespace=None,
13150        healthy=None,
13151        hostname=None,
13152        id=None,
13153        name=None,
13154        password=None,
13155        port=None,
13156        port_override=None,
13157        proxy_cluster_id=None,
13158        secret_store_id=None,
13159        subdomain=None,
13160        tags=None,
13161        username=None,
13162    ):
13163        self.bind_interface = bind_interface if bind_interface is not None else ''
13164        '''
13165         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13166        '''
13167        self.egress_filter = egress_filter if egress_filter is not None else ''
13168        '''
13169         A filter applied to the routing logic to pin datasource to nodes.
13170        '''
13171        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13172        '''
13173         The path used to check the health of your connection.  Defaults to `default`.
13174        '''
13175        self.healthy = healthy if healthy is not None else False
13176        '''
13177         True if the datasource is reachable and the credentials are valid.
13178        '''
13179        self.hostname = hostname if hostname is not None else ''
13180        '''
13181         The host to dial to initiate a connection from the egress node to this resource.
13182        '''
13183        self.id = id if id is not None else ''
13184        '''
13185         Unique identifier of the Resource.
13186        '''
13187        self.name = name if name is not None else ''
13188        '''
13189         Unique human-readable name of the Resource.
13190        '''
13191        self.password = password if password is not None else ''
13192        '''
13193         The password to authenticate with.
13194        '''
13195        self.port = port if port is not None else 0
13196        '''
13197         The port to dial to initiate a connection from the egress node to this resource.
13198        '''
13199        self.port_override = port_override if port_override is not None else 0
13200        '''
13201         The local port used by clients to connect to this resource.
13202        '''
13203        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13204        '''
13205         ID of the proxy cluster for this resource, if any.
13206        '''
13207        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13208        '''
13209         ID of the secret store containing credentials for this resource, if any.
13210        '''
13211        self.subdomain = subdomain if subdomain is not None else ''
13212        '''
13213         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13214        '''
13215        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13216        '''
13217         Tags is a map of key, value pairs.
13218        '''
13219        self.username = username if username is not None else ''
13220        '''
13221         The username to authenticate with.
13222        '''
13223
13224    def __repr__(self):
13225        return '<sdm.KubernetesBasicAuth ' + \
13226            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13227            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13228            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13229            'healthy: ' + repr(self.healthy) + ' ' +\
13230            'hostname: ' + repr(self.hostname) + ' ' +\
13231            'id: ' + repr(self.id) + ' ' +\
13232            'name: ' + repr(self.name) + ' ' +\
13233            'password: ' + repr(self.password) + ' ' +\
13234            'port: ' + repr(self.port) + ' ' +\
13235            'port_override: ' + repr(self.port_override) + ' ' +\
13236            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13237            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13238            'subdomain: ' + repr(self.subdomain) + ' ' +\
13239            'tags: ' + repr(self.tags) + ' ' +\
13240            'username: ' + repr(self.username) + ' ' +\
13241            '>'
13242
13243    def to_dict(self):
13244        return {
13245            'bind_interface': self.bind_interface,
13246            'egress_filter': self.egress_filter,
13247            'healthcheck_namespace': self.healthcheck_namespace,
13248            'healthy': self.healthy,
13249            'hostname': self.hostname,
13250            'id': self.id,
13251            'name': self.name,
13252            'password': self.password,
13253            'port': self.port,
13254            'port_override': self.port_override,
13255            'proxy_cluster_id': self.proxy_cluster_id,
13256            'secret_store_id': self.secret_store_id,
13257            'subdomain': self.subdomain,
13258            'tags': self.tags,
13259            'username': self.username,
13260        }
13261
13262    @classmethod
13263    def from_dict(cls, d):
13264        return cls(
13265            bind_interface=d.get('bind_interface'),
13266            egress_filter=d.get('egress_filter'),
13267            healthcheck_namespace=d.get('healthcheck_namespace'),
13268            healthy=d.get('healthy'),
13269            hostname=d.get('hostname'),
13270            id=d.get('id'),
13271            name=d.get('name'),
13272            password=d.get('password'),
13273            port=d.get('port'),
13274            port_override=d.get('port_override'),
13275            proxy_cluster_id=d.get('proxy_cluster_id'),
13276            secret_store_id=d.get('secret_store_id'),
13277            subdomain=d.get('subdomain'),
13278            tags=d.get('tags'),
13279            username=d.get('username'),
13280        )

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)
13145    def __init__(
13146        self,
13147        bind_interface=None,
13148        egress_filter=None,
13149        healthcheck_namespace=None,
13150        healthy=None,
13151        hostname=None,
13152        id=None,
13153        name=None,
13154        password=None,
13155        port=None,
13156        port_override=None,
13157        proxy_cluster_id=None,
13158        secret_store_id=None,
13159        subdomain=None,
13160        tags=None,
13161        username=None,
13162    ):
13163        self.bind_interface = bind_interface if bind_interface is not None else ''
13164        '''
13165         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13166        '''
13167        self.egress_filter = egress_filter if egress_filter is not None else ''
13168        '''
13169         A filter applied to the routing logic to pin datasource to nodes.
13170        '''
13171        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13172        '''
13173         The path used to check the health of your connection.  Defaults to `default`.
13174        '''
13175        self.healthy = healthy if healthy is not None else False
13176        '''
13177         True if the datasource is reachable and the credentials are valid.
13178        '''
13179        self.hostname = hostname if hostname is not None else ''
13180        '''
13181         The host to dial to initiate a connection from the egress node to this resource.
13182        '''
13183        self.id = id if id is not None else ''
13184        '''
13185         Unique identifier of the Resource.
13186        '''
13187        self.name = name if name is not None else ''
13188        '''
13189         Unique human-readable name of the Resource.
13190        '''
13191        self.password = password if password is not None else ''
13192        '''
13193         The password to authenticate with.
13194        '''
13195        self.port = port if port is not None else 0
13196        '''
13197         The port to dial to initiate a connection from the egress node to this resource.
13198        '''
13199        self.port_override = port_override if port_override is not None else 0
13200        '''
13201         The local port used by clients to connect to this resource.
13202        '''
13203        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13204        '''
13205         ID of the proxy cluster for this resource, if any.
13206        '''
13207        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13208        '''
13209         ID of the secret store containing credentials for this resource, if any.
13210        '''
13211        self.subdomain = subdomain if subdomain is not None else ''
13212        '''
13213         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13214        '''
13215        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13216        '''
13217         Tags is a map of key, value pairs.
13218        '''
13219        self.username = username if username is not None else ''
13220        '''
13221         The username to authenticate with.
13222        '''
bind_interface

The bind interface is the IP 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)
13243    def to_dict(self):
13244        return {
13245            'bind_interface': self.bind_interface,
13246            'egress_filter': self.egress_filter,
13247            'healthcheck_namespace': self.healthcheck_namespace,
13248            'healthy': self.healthy,
13249            'hostname': self.hostname,
13250            'id': self.id,
13251            'name': self.name,
13252            'password': self.password,
13253            'port': self.port,
13254            'port_override': self.port_override,
13255            'proxy_cluster_id': self.proxy_cluster_id,
13256            'secret_store_id': self.secret_store_id,
13257            'subdomain': self.subdomain,
13258            'tags': self.tags,
13259            'username': self.username,
13260        }
@classmethod
def from_dict(cls, d)
13262    @classmethod
13263    def from_dict(cls, d):
13264        return cls(
13265            bind_interface=d.get('bind_interface'),
13266            egress_filter=d.get('egress_filter'),
13267            healthcheck_namespace=d.get('healthcheck_namespace'),
13268            healthy=d.get('healthy'),
13269            hostname=d.get('hostname'),
13270            id=d.get('id'),
13271            name=d.get('name'),
13272            password=d.get('password'),
13273            port=d.get('port'),
13274            port_override=d.get('port_override'),
13275            proxy_cluster_id=d.get('proxy_cluster_id'),
13276            secret_store_id=d.get('secret_store_id'),
13277            subdomain=d.get('subdomain'),
13278            tags=d.get('tags'),
13279            username=d.get('username'),
13280        )
class KubernetesServiceAccount:
13283class KubernetesServiceAccount:
13284    __slots__ = [
13285        'allow_resource_role_bypass',
13286        'bind_interface',
13287        'discovery_enabled',
13288        'discovery_username',
13289        'egress_filter',
13290        'healthcheck_namespace',
13291        'healthy',
13292        'hostname',
13293        'id',
13294        'identity_alias_healthcheck_username',
13295        'identity_set_id',
13296        'name',
13297        'port',
13298        'port_override',
13299        'proxy_cluster_id',
13300        'secret_store_id',
13301        'subdomain',
13302        'tags',
13303        'token',
13304    ]
13305
13306    def __init__(
13307        self,
13308        allow_resource_role_bypass=None,
13309        bind_interface=None,
13310        discovery_enabled=None,
13311        discovery_username=None,
13312        egress_filter=None,
13313        healthcheck_namespace=None,
13314        healthy=None,
13315        hostname=None,
13316        id=None,
13317        identity_alias_healthcheck_username=None,
13318        identity_set_id=None,
13319        name=None,
13320        port=None,
13321        port_override=None,
13322        proxy_cluster_id=None,
13323        secret_store_id=None,
13324        subdomain=None,
13325        tags=None,
13326        token=None,
13327    ):
13328        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13329        '''
13330         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13331         when a resource role is not provided.
13332        '''
13333        self.bind_interface = bind_interface if bind_interface is not None else ''
13334        '''
13335         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13336        '''
13337        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13338        '''
13339         If true, configures discovery of a cluster to be run from a node.
13340        '''
13341        self.discovery_username = discovery_username if discovery_username is not None else ''
13342        '''
13343         If a cluster is configured for user impersonation, this is the user to impersonate when
13344         running discovery.
13345        '''
13346        self.egress_filter = egress_filter if egress_filter is not None else ''
13347        '''
13348         A filter applied to the routing logic to pin datasource to nodes.
13349        '''
13350        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13351        '''
13352         The path used to check the health of your connection.  Defaults to `default`.
13353        '''
13354        self.healthy = healthy if healthy is not None else False
13355        '''
13356         True if the datasource is reachable and the credentials are valid.
13357        '''
13358        self.hostname = hostname if hostname is not None else ''
13359        '''
13360         The host to dial to initiate a connection from the egress node to this resource.
13361        '''
13362        self.id = id if id is not None else ''
13363        '''
13364         Unique identifier of the Resource.
13365        '''
13366        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13367        '''
13368         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13369        '''
13370        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13371        '''
13372         The ID of the identity set to use for identity connections.
13373        '''
13374        self.name = name if name is not None else ''
13375        '''
13376         Unique human-readable name of the Resource.
13377        '''
13378        self.port = port if port is not None else 0
13379        '''
13380         The port to dial to initiate a connection from the egress node to this resource.
13381        '''
13382        self.port_override = port_override if port_override is not None else 0
13383        '''
13384         The local port used by clients to connect to this resource.
13385        '''
13386        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13387        '''
13388         ID of the proxy cluster for this resource, if any.
13389        '''
13390        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13391        '''
13392         ID of the secret store containing credentials for this resource, if any.
13393        '''
13394        self.subdomain = subdomain if subdomain is not None else ''
13395        '''
13396         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13397        '''
13398        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13399        '''
13400         Tags is a map of key, value pairs.
13401        '''
13402        self.token = token if token is not None else ''
13403        '''
13404         The API token to authenticate with.
13405        '''
13406
13407    def __repr__(self):
13408        return '<sdm.KubernetesServiceAccount ' + \
13409            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13410            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13411            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13412            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13413            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13414            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13415            'healthy: ' + repr(self.healthy) + ' ' +\
13416            'hostname: ' + repr(self.hostname) + ' ' +\
13417            'id: ' + repr(self.id) + ' ' +\
13418            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13419            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13420            'name: ' + repr(self.name) + ' ' +\
13421            'port: ' + repr(self.port) + ' ' +\
13422            'port_override: ' + repr(self.port_override) + ' ' +\
13423            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13424            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13425            'subdomain: ' + repr(self.subdomain) + ' ' +\
13426            'tags: ' + repr(self.tags) + ' ' +\
13427            'token: ' + repr(self.token) + ' ' +\
13428            '>'
13429
13430    def to_dict(self):
13431        return {
13432            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13433            'bind_interface': self.bind_interface,
13434            'discovery_enabled': self.discovery_enabled,
13435            'discovery_username': self.discovery_username,
13436            'egress_filter': self.egress_filter,
13437            'healthcheck_namespace': self.healthcheck_namespace,
13438            'healthy': self.healthy,
13439            'hostname': self.hostname,
13440            'id': self.id,
13441            'identity_alias_healthcheck_username':
13442            self.identity_alias_healthcheck_username,
13443            'identity_set_id': self.identity_set_id,
13444            'name': self.name,
13445            'port': self.port,
13446            'port_override': self.port_override,
13447            'proxy_cluster_id': self.proxy_cluster_id,
13448            'secret_store_id': self.secret_store_id,
13449            'subdomain': self.subdomain,
13450            'tags': self.tags,
13451            'token': self.token,
13452        }
13453
13454    @classmethod
13455    def from_dict(cls, d):
13456        return cls(
13457            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13458            bind_interface=d.get('bind_interface'),
13459            discovery_enabled=d.get('discovery_enabled'),
13460            discovery_username=d.get('discovery_username'),
13461            egress_filter=d.get('egress_filter'),
13462            healthcheck_namespace=d.get('healthcheck_namespace'),
13463            healthy=d.get('healthy'),
13464            hostname=d.get('hostname'),
13465            id=d.get('id'),
13466            identity_alias_healthcheck_username=d.get(
13467                'identity_alias_healthcheck_username'),
13468            identity_set_id=d.get('identity_set_id'),
13469            name=d.get('name'),
13470            port=d.get('port'),
13471            port_override=d.get('port_override'),
13472            proxy_cluster_id=d.get('proxy_cluster_id'),
13473            secret_store_id=d.get('secret_store_id'),
13474            subdomain=d.get('subdomain'),
13475            tags=d.get('tags'),
13476            token=d.get('token'),
13477        )
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)
13306    def __init__(
13307        self,
13308        allow_resource_role_bypass=None,
13309        bind_interface=None,
13310        discovery_enabled=None,
13311        discovery_username=None,
13312        egress_filter=None,
13313        healthcheck_namespace=None,
13314        healthy=None,
13315        hostname=None,
13316        id=None,
13317        identity_alias_healthcheck_username=None,
13318        identity_set_id=None,
13319        name=None,
13320        port=None,
13321        port_override=None,
13322        proxy_cluster_id=None,
13323        secret_store_id=None,
13324        subdomain=None,
13325        tags=None,
13326        token=None,
13327    ):
13328        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13329        '''
13330         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13331         when a resource role is not provided.
13332        '''
13333        self.bind_interface = bind_interface if bind_interface is not None else ''
13334        '''
13335         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13336        '''
13337        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13338        '''
13339         If true, configures discovery of a cluster to be run from a node.
13340        '''
13341        self.discovery_username = discovery_username if discovery_username is not None else ''
13342        '''
13343         If a cluster is configured for user impersonation, this is the user to impersonate when
13344         running discovery.
13345        '''
13346        self.egress_filter = egress_filter if egress_filter is not None else ''
13347        '''
13348         A filter applied to the routing logic to pin datasource to nodes.
13349        '''
13350        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13351        '''
13352         The path used to check the health of your connection.  Defaults to `default`.
13353        '''
13354        self.healthy = healthy if healthy is not None else False
13355        '''
13356         True if the datasource is reachable and the credentials are valid.
13357        '''
13358        self.hostname = hostname if hostname is not None else ''
13359        '''
13360         The host to dial to initiate a connection from the egress node to this resource.
13361        '''
13362        self.id = id if id is not None else ''
13363        '''
13364         Unique identifier of the Resource.
13365        '''
13366        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13367        '''
13368         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13369        '''
13370        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13371        '''
13372         The ID of the identity set to use for identity connections.
13373        '''
13374        self.name = name if name is not None else ''
13375        '''
13376         Unique human-readable name of the Resource.
13377        '''
13378        self.port = port if port is not None else 0
13379        '''
13380         The port to dial to initiate a connection from the egress node to this resource.
13381        '''
13382        self.port_override = port_override if port_override is not None else 0
13383        '''
13384         The local port used by clients to connect to this resource.
13385        '''
13386        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13387        '''
13388         ID of the proxy cluster for this resource, if any.
13389        '''
13390        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13391        '''
13392         ID of the secret store containing credentials for this resource, if any.
13393        '''
13394        self.subdomain = subdomain if subdomain is not None else ''
13395        '''
13396         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13397        '''
13398        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13399        '''
13400         Tags is a map of key, value pairs.
13401        '''
13402        self.token = token if token is not None else ''
13403        '''
13404         The API token to authenticate with.
13405        '''
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)
13430    def to_dict(self):
13431        return {
13432            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13433            'bind_interface': self.bind_interface,
13434            'discovery_enabled': self.discovery_enabled,
13435            'discovery_username': self.discovery_username,
13436            'egress_filter': self.egress_filter,
13437            'healthcheck_namespace': self.healthcheck_namespace,
13438            'healthy': self.healthy,
13439            'hostname': self.hostname,
13440            'id': self.id,
13441            'identity_alias_healthcheck_username':
13442            self.identity_alias_healthcheck_username,
13443            'identity_set_id': self.identity_set_id,
13444            'name': self.name,
13445            'port': self.port,
13446            'port_override': self.port_override,
13447            'proxy_cluster_id': self.proxy_cluster_id,
13448            'secret_store_id': self.secret_store_id,
13449            'subdomain': self.subdomain,
13450            'tags': self.tags,
13451            'token': self.token,
13452        }
@classmethod
def from_dict(cls, d)
13454    @classmethod
13455    def from_dict(cls, d):
13456        return cls(
13457            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13458            bind_interface=d.get('bind_interface'),
13459            discovery_enabled=d.get('discovery_enabled'),
13460            discovery_username=d.get('discovery_username'),
13461            egress_filter=d.get('egress_filter'),
13462            healthcheck_namespace=d.get('healthcheck_namespace'),
13463            healthy=d.get('healthy'),
13464            hostname=d.get('hostname'),
13465            id=d.get('id'),
13466            identity_alias_healthcheck_username=d.get(
13467                'identity_alias_healthcheck_username'),
13468            identity_set_id=d.get('identity_set_id'),
13469            name=d.get('name'),
13470            port=d.get('port'),
13471            port_override=d.get('port_override'),
13472            proxy_cluster_id=d.get('proxy_cluster_id'),
13473            secret_store_id=d.get('secret_store_id'),
13474            subdomain=d.get('subdomain'),
13475            tags=d.get('tags'),
13476            token=d.get('token'),
13477        )
class KubernetesServiceAccountUserImpersonation:
13480class KubernetesServiceAccountUserImpersonation:
13481    __slots__ = [
13482        'bind_interface',
13483        'egress_filter',
13484        'healthcheck_namespace',
13485        'healthy',
13486        'hostname',
13487        'id',
13488        'name',
13489        'port',
13490        'port_override',
13491        'proxy_cluster_id',
13492        'secret_store_id',
13493        'subdomain',
13494        'tags',
13495        'token',
13496    ]
13497
13498    def __init__(
13499        self,
13500        bind_interface=None,
13501        egress_filter=None,
13502        healthcheck_namespace=None,
13503        healthy=None,
13504        hostname=None,
13505        id=None,
13506        name=None,
13507        port=None,
13508        port_override=None,
13509        proxy_cluster_id=None,
13510        secret_store_id=None,
13511        subdomain=None,
13512        tags=None,
13513        token=None,
13514    ):
13515        self.bind_interface = bind_interface if bind_interface is not None else ''
13516        '''
13517         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13518        '''
13519        self.egress_filter = egress_filter if egress_filter is not None else ''
13520        '''
13521         A filter applied to the routing logic to pin datasource to nodes.
13522        '''
13523        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13524        '''
13525         The path used to check the health of your connection.  Defaults to `default`.
13526        '''
13527        self.healthy = healthy if healthy is not None else False
13528        '''
13529         True if the datasource is reachable and the credentials are valid.
13530        '''
13531        self.hostname = hostname if hostname is not None else ''
13532        '''
13533         The host to dial to initiate a connection from the egress node to this resource.
13534        '''
13535        self.id = id if id is not None else ''
13536        '''
13537         Unique identifier of the Resource.
13538        '''
13539        self.name = name if name is not None else ''
13540        '''
13541         Unique human-readable name of the Resource.
13542        '''
13543        self.port = port if port is not None else 0
13544        '''
13545         The port to dial to initiate a connection from the egress node to this resource.
13546        '''
13547        self.port_override = port_override if port_override is not None else 0
13548        '''
13549         The local port used by clients to connect to this resource.
13550        '''
13551        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13552        '''
13553         ID of the proxy cluster for this resource, if any.
13554        '''
13555        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13556        '''
13557         ID of the secret store containing credentials for this resource, if any.
13558        '''
13559        self.subdomain = subdomain if subdomain is not None else ''
13560        '''
13561         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13562        '''
13563        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13564        '''
13565         Tags is a map of key, value pairs.
13566        '''
13567        self.token = token if token is not None else ''
13568        '''
13569         The API token to authenticate with.
13570        '''
13571
13572    def __repr__(self):
13573        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
13574            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13575            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13576            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13577            'healthy: ' + repr(self.healthy) + ' ' +\
13578            'hostname: ' + repr(self.hostname) + ' ' +\
13579            'id: ' + repr(self.id) + ' ' +\
13580            'name: ' + repr(self.name) + ' ' +\
13581            'port: ' + repr(self.port) + ' ' +\
13582            'port_override: ' + repr(self.port_override) + ' ' +\
13583            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13584            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13585            'subdomain: ' + repr(self.subdomain) + ' ' +\
13586            'tags: ' + repr(self.tags) + ' ' +\
13587            'token: ' + repr(self.token) + ' ' +\
13588            '>'
13589
13590    def to_dict(self):
13591        return {
13592            'bind_interface': self.bind_interface,
13593            'egress_filter': self.egress_filter,
13594            'healthcheck_namespace': self.healthcheck_namespace,
13595            'healthy': self.healthy,
13596            'hostname': self.hostname,
13597            'id': self.id,
13598            'name': self.name,
13599            'port': self.port,
13600            'port_override': self.port_override,
13601            'proxy_cluster_id': self.proxy_cluster_id,
13602            'secret_store_id': self.secret_store_id,
13603            'subdomain': self.subdomain,
13604            'tags': self.tags,
13605            'token': self.token,
13606        }
13607
13608    @classmethod
13609    def from_dict(cls, d):
13610        return cls(
13611            bind_interface=d.get('bind_interface'),
13612            egress_filter=d.get('egress_filter'),
13613            healthcheck_namespace=d.get('healthcheck_namespace'),
13614            healthy=d.get('healthy'),
13615            hostname=d.get('hostname'),
13616            id=d.get('id'),
13617            name=d.get('name'),
13618            port=d.get('port'),
13619            port_override=d.get('port_override'),
13620            proxy_cluster_id=d.get('proxy_cluster_id'),
13621            secret_store_id=d.get('secret_store_id'),
13622            subdomain=d.get('subdomain'),
13623            tags=d.get('tags'),
13624            token=d.get('token'),
13625        )
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)
13498    def __init__(
13499        self,
13500        bind_interface=None,
13501        egress_filter=None,
13502        healthcheck_namespace=None,
13503        healthy=None,
13504        hostname=None,
13505        id=None,
13506        name=None,
13507        port=None,
13508        port_override=None,
13509        proxy_cluster_id=None,
13510        secret_store_id=None,
13511        subdomain=None,
13512        tags=None,
13513        token=None,
13514    ):
13515        self.bind_interface = bind_interface if bind_interface is not None else ''
13516        '''
13517         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13518        '''
13519        self.egress_filter = egress_filter if egress_filter is not None else ''
13520        '''
13521         A filter applied to the routing logic to pin datasource to nodes.
13522        '''
13523        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13524        '''
13525         The path used to check the health of your connection.  Defaults to `default`.
13526        '''
13527        self.healthy = healthy if healthy is not None else False
13528        '''
13529         True if the datasource is reachable and the credentials are valid.
13530        '''
13531        self.hostname = hostname if hostname is not None else ''
13532        '''
13533         The host to dial to initiate a connection from the egress node to this resource.
13534        '''
13535        self.id = id if id is not None else ''
13536        '''
13537         Unique identifier of the Resource.
13538        '''
13539        self.name = name if name is not None else ''
13540        '''
13541         Unique human-readable name of the Resource.
13542        '''
13543        self.port = port if port is not None else 0
13544        '''
13545         The port to dial to initiate a connection from the egress node to this resource.
13546        '''
13547        self.port_override = port_override if port_override is not None else 0
13548        '''
13549         The local port used by clients to connect to this resource.
13550        '''
13551        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13552        '''
13553         ID of the proxy cluster for this resource, if any.
13554        '''
13555        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13556        '''
13557         ID of the secret store containing credentials for this resource, if any.
13558        '''
13559        self.subdomain = subdomain if subdomain is not None else ''
13560        '''
13561         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13562        '''
13563        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13564        '''
13565         Tags is a map of key, value pairs.
13566        '''
13567        self.token = token if token is not None else ''
13568        '''
13569         The API token to authenticate with.
13570        '''
bind_interface

The bind interface is the IP 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)
13590    def to_dict(self):
13591        return {
13592            'bind_interface': self.bind_interface,
13593            'egress_filter': self.egress_filter,
13594            'healthcheck_namespace': self.healthcheck_namespace,
13595            'healthy': self.healthy,
13596            'hostname': self.hostname,
13597            'id': self.id,
13598            'name': self.name,
13599            'port': self.port,
13600            'port_override': self.port_override,
13601            'proxy_cluster_id': self.proxy_cluster_id,
13602            'secret_store_id': self.secret_store_id,
13603            'subdomain': self.subdomain,
13604            'tags': self.tags,
13605            'token': self.token,
13606        }
@classmethod
def from_dict(cls, d)
13608    @classmethod
13609    def from_dict(cls, d):
13610        return cls(
13611            bind_interface=d.get('bind_interface'),
13612            egress_filter=d.get('egress_filter'),
13613            healthcheck_namespace=d.get('healthcheck_namespace'),
13614            healthy=d.get('healthy'),
13615            hostname=d.get('hostname'),
13616            id=d.get('id'),
13617            name=d.get('name'),
13618            port=d.get('port'),
13619            port_override=d.get('port_override'),
13620            proxy_cluster_id=d.get('proxy_cluster_id'),
13621            secret_store_id=d.get('secret_store_id'),
13622            subdomain=d.get('subdomain'),
13623            tags=d.get('tags'),
13624            token=d.get('token'),
13625        )
class KubernetesUserImpersonation:
13628class KubernetesUserImpersonation:
13629    __slots__ = [
13630        'bind_interface',
13631        'certificate_authority',
13632        'client_certificate',
13633        'client_key',
13634        'egress_filter',
13635        'healthcheck_namespace',
13636        'healthy',
13637        'hostname',
13638        'id',
13639        'name',
13640        'port',
13641        'port_override',
13642        'proxy_cluster_id',
13643        'secret_store_id',
13644        'subdomain',
13645        'tags',
13646    ]
13647
13648    def __init__(
13649        self,
13650        bind_interface=None,
13651        certificate_authority=None,
13652        client_certificate=None,
13653        client_key=None,
13654        egress_filter=None,
13655        healthcheck_namespace=None,
13656        healthy=None,
13657        hostname=None,
13658        id=None,
13659        name=None,
13660        port=None,
13661        port_override=None,
13662        proxy_cluster_id=None,
13663        secret_store_id=None,
13664        subdomain=None,
13665        tags=None,
13666    ):
13667        self.bind_interface = bind_interface if bind_interface is not None else ''
13668        '''
13669         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13670        '''
13671        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13672        '''
13673         The CA to authenticate TLS connections with.
13674        '''
13675        self.client_certificate = client_certificate if client_certificate is not None else ''
13676        '''
13677         The certificate to authenticate TLS connections with.
13678        '''
13679        self.client_key = client_key if client_key is not None else ''
13680        '''
13681         The key to authenticate TLS connections with.
13682        '''
13683        self.egress_filter = egress_filter if egress_filter is not None else ''
13684        '''
13685         A filter applied to the routing logic to pin datasource to nodes.
13686        '''
13687        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13688        '''
13689         The path used to check the health of your connection.  Defaults to `default`.
13690        '''
13691        self.healthy = healthy if healthy is not None else False
13692        '''
13693         True if the datasource is reachable and the credentials are valid.
13694        '''
13695        self.hostname = hostname if hostname is not None else ''
13696        '''
13697         The host to dial to initiate a connection from the egress node to this resource.
13698        '''
13699        self.id = id if id is not None else ''
13700        '''
13701         Unique identifier of the Resource.
13702        '''
13703        self.name = name if name is not None else ''
13704        '''
13705         Unique human-readable name of the Resource.
13706        '''
13707        self.port = port if port is not None else 0
13708        '''
13709         The port to dial to initiate a connection from the egress node to this resource.
13710        '''
13711        self.port_override = port_override if port_override is not None else 0
13712        '''
13713         The local port used by clients to connect to this resource.
13714        '''
13715        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13716        '''
13717         ID of the proxy cluster for this resource, if any.
13718        '''
13719        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13720        '''
13721         ID of the secret store containing credentials for this resource, if any.
13722        '''
13723        self.subdomain = subdomain if subdomain is not None else ''
13724        '''
13725         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13726        '''
13727        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13728        '''
13729         Tags is a map of key, value pairs.
13730        '''
13731
13732    def __repr__(self):
13733        return '<sdm.KubernetesUserImpersonation ' + \
13734            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13735            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13736            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13737            'client_key: ' + repr(self.client_key) + ' ' +\
13738            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13739            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13740            'healthy: ' + repr(self.healthy) + ' ' +\
13741            'hostname: ' + repr(self.hostname) + ' ' +\
13742            'id: ' + repr(self.id) + ' ' +\
13743            'name: ' + repr(self.name) + ' ' +\
13744            'port: ' + repr(self.port) + ' ' +\
13745            'port_override: ' + repr(self.port_override) + ' ' +\
13746            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13747            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13748            'subdomain: ' + repr(self.subdomain) + ' ' +\
13749            'tags: ' + repr(self.tags) + ' ' +\
13750            '>'
13751
13752    def to_dict(self):
13753        return {
13754            'bind_interface': self.bind_interface,
13755            'certificate_authority': self.certificate_authority,
13756            'client_certificate': self.client_certificate,
13757            'client_key': self.client_key,
13758            'egress_filter': self.egress_filter,
13759            'healthcheck_namespace': self.healthcheck_namespace,
13760            'healthy': self.healthy,
13761            'hostname': self.hostname,
13762            'id': self.id,
13763            'name': self.name,
13764            'port': self.port,
13765            'port_override': self.port_override,
13766            'proxy_cluster_id': self.proxy_cluster_id,
13767            'secret_store_id': self.secret_store_id,
13768            'subdomain': self.subdomain,
13769            'tags': self.tags,
13770        }
13771
13772    @classmethod
13773    def from_dict(cls, d):
13774        return cls(
13775            bind_interface=d.get('bind_interface'),
13776            certificate_authority=d.get('certificate_authority'),
13777            client_certificate=d.get('client_certificate'),
13778            client_key=d.get('client_key'),
13779            egress_filter=d.get('egress_filter'),
13780            healthcheck_namespace=d.get('healthcheck_namespace'),
13781            healthy=d.get('healthy'),
13782            hostname=d.get('hostname'),
13783            id=d.get('id'),
13784            name=d.get('name'),
13785            port=d.get('port'),
13786            port_override=d.get('port_override'),
13787            proxy_cluster_id=d.get('proxy_cluster_id'),
13788            secret_store_id=d.get('secret_store_id'),
13789            subdomain=d.get('subdomain'),
13790            tags=d.get('tags'),
13791        )
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)
13648    def __init__(
13649        self,
13650        bind_interface=None,
13651        certificate_authority=None,
13652        client_certificate=None,
13653        client_key=None,
13654        egress_filter=None,
13655        healthcheck_namespace=None,
13656        healthy=None,
13657        hostname=None,
13658        id=None,
13659        name=None,
13660        port=None,
13661        port_override=None,
13662        proxy_cluster_id=None,
13663        secret_store_id=None,
13664        subdomain=None,
13665        tags=None,
13666    ):
13667        self.bind_interface = bind_interface if bind_interface is not None else ''
13668        '''
13669         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13670        '''
13671        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13672        '''
13673         The CA to authenticate TLS connections with.
13674        '''
13675        self.client_certificate = client_certificate if client_certificate is not None else ''
13676        '''
13677         The certificate to authenticate TLS connections with.
13678        '''
13679        self.client_key = client_key if client_key is not None else ''
13680        '''
13681         The key to authenticate TLS connections with.
13682        '''
13683        self.egress_filter = egress_filter if egress_filter is not None else ''
13684        '''
13685         A filter applied to the routing logic to pin datasource to nodes.
13686        '''
13687        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13688        '''
13689         The path used to check the health of your connection.  Defaults to `default`.
13690        '''
13691        self.healthy = healthy if healthy is not None else False
13692        '''
13693         True if the datasource is reachable and the credentials are valid.
13694        '''
13695        self.hostname = hostname if hostname is not None else ''
13696        '''
13697         The host to dial to initiate a connection from the egress node to this resource.
13698        '''
13699        self.id = id if id is not None else ''
13700        '''
13701         Unique identifier of the Resource.
13702        '''
13703        self.name = name if name is not None else ''
13704        '''
13705         Unique human-readable name of the Resource.
13706        '''
13707        self.port = port if port is not None else 0
13708        '''
13709         The port to dial to initiate a connection from the egress node to this resource.
13710        '''
13711        self.port_override = port_override if port_override is not None else 0
13712        '''
13713         The local port used by clients to connect to this resource.
13714        '''
13715        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13716        '''
13717         ID of the proxy cluster for this resource, if any.
13718        '''
13719        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13720        '''
13721         ID of the secret store containing credentials for this resource, if any.
13722        '''
13723        self.subdomain = subdomain if subdomain is not None else ''
13724        '''
13725         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13726        '''
13727        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13728        '''
13729         Tags is a map of key, value pairs.
13730        '''
bind_interface

The bind interface is the IP 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)
13752    def to_dict(self):
13753        return {
13754            'bind_interface': self.bind_interface,
13755            'certificate_authority': self.certificate_authority,
13756            'client_certificate': self.client_certificate,
13757            'client_key': self.client_key,
13758            'egress_filter': self.egress_filter,
13759            'healthcheck_namespace': self.healthcheck_namespace,
13760            'healthy': self.healthy,
13761            'hostname': self.hostname,
13762            'id': self.id,
13763            'name': self.name,
13764            'port': self.port,
13765            'port_override': self.port_override,
13766            'proxy_cluster_id': self.proxy_cluster_id,
13767            'secret_store_id': self.secret_store_id,
13768            'subdomain': self.subdomain,
13769            'tags': self.tags,
13770        }
@classmethod
def from_dict(cls, d)
13772    @classmethod
13773    def from_dict(cls, d):
13774        return cls(
13775            bind_interface=d.get('bind_interface'),
13776            certificate_authority=d.get('certificate_authority'),
13777            client_certificate=d.get('client_certificate'),
13778            client_key=d.get('client_key'),
13779            egress_filter=d.get('egress_filter'),
13780            healthcheck_namespace=d.get('healthcheck_namespace'),
13781            healthy=d.get('healthy'),
13782            hostname=d.get('hostname'),
13783            id=d.get('id'),
13784            name=d.get('name'),
13785            port=d.get('port'),
13786            port_override=d.get('port_override'),
13787            proxy_cluster_id=d.get('proxy_cluster_id'),
13788            secret_store_id=d.get('secret_store_id'),
13789            subdomain=d.get('subdomain'),
13790            tags=d.get('tags'),
13791        )
class MTLSMysql:
13794class MTLSMysql:
13795    '''
13796    MTLSMysql is currently unstable, and its API may change, or it may be removed,
13797    without a major version bump.
13798    '''
13799    __slots__ = [
13800        'bind_interface',
13801        'certificate_authority',
13802        'client_certificate',
13803        'client_key',
13804        'database',
13805        'egress_filter',
13806        'healthy',
13807        'hostname',
13808        'id',
13809        'name',
13810        'password',
13811        'port',
13812        'port_override',
13813        'proxy_cluster_id',
13814        'require_native_auth',
13815        'secret_store_id',
13816        'server_name',
13817        'subdomain',
13818        'tags',
13819        'use_azure_single_server_usernames',
13820        'username',
13821    ]
13822
13823    def __init__(
13824        self,
13825        bind_interface=None,
13826        certificate_authority=None,
13827        client_certificate=None,
13828        client_key=None,
13829        database=None,
13830        egress_filter=None,
13831        healthy=None,
13832        hostname=None,
13833        id=None,
13834        name=None,
13835        password=None,
13836        port=None,
13837        port_override=None,
13838        proxy_cluster_id=None,
13839        require_native_auth=None,
13840        secret_store_id=None,
13841        server_name=None,
13842        subdomain=None,
13843        tags=None,
13844        use_azure_single_server_usernames=None,
13845        username=None,
13846    ):
13847        self.bind_interface = bind_interface if bind_interface is not None else ''
13848        '''
13849         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13850        '''
13851        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13852        '''
13853         The CA to authenticate TLS connections with.
13854        '''
13855        self.client_certificate = client_certificate if client_certificate is not None else ''
13856        '''
13857         The certificate to authenticate TLS connections with.
13858        '''
13859        self.client_key = client_key if client_key is not None else ''
13860        '''
13861         The key to authenticate TLS connections with.
13862        '''
13863        self.database = database if database is not None else ''
13864        '''
13865         The database for healthchecks. Does not affect client requests.
13866        '''
13867        self.egress_filter = egress_filter if egress_filter is not None else ''
13868        '''
13869         A filter applied to the routing logic to pin datasource to nodes.
13870        '''
13871        self.healthy = healthy if healthy is not None else False
13872        '''
13873         True if the datasource is reachable and the credentials are valid.
13874        '''
13875        self.hostname = hostname if hostname is not None else ''
13876        '''
13877         The host to dial to initiate a connection from the egress node to this resource.
13878        '''
13879        self.id = id if id is not None else ''
13880        '''
13881         Unique identifier of the Resource.
13882        '''
13883        self.name = name if name is not None else ''
13884        '''
13885         Unique human-readable name of the Resource.
13886        '''
13887        self.password = password if password is not None else ''
13888        '''
13889         The password to authenticate with.
13890        '''
13891        self.port = port if port is not None else 0
13892        '''
13893         The port to dial to initiate a connection from the egress node to this resource.
13894        '''
13895        self.port_override = port_override if port_override is not None else 0
13896        '''
13897         The local port used by clients to connect to this resource.
13898        '''
13899        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13900        '''
13901         ID of the proxy cluster for this resource, if any.
13902        '''
13903        self.require_native_auth = require_native_auth if require_native_auth is not None else False
13904        '''
13905         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
13906        '''
13907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13908        '''
13909         ID of the secret store containing credentials for this resource, if any.
13910        '''
13911        self.server_name = server_name if server_name is not None else ''
13912        '''
13913         Server name for TLS verification (unverified by StrongDM if empty)
13914        '''
13915        self.subdomain = subdomain if subdomain is not None else ''
13916        '''
13917         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13918        '''
13919        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13920        '''
13921         Tags is a map of key, value pairs.
13922        '''
13923        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
13924        '''
13925         If true, appends the hostname to the username when hitting a database.azure.com address
13926        '''
13927        self.username = username if username is not None else ''
13928        '''
13929         The username to authenticate with.
13930        '''
13931
13932    def __repr__(self):
13933        return '<sdm.MTLSMysql ' + \
13934            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13935            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13936            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
13937            'client_key: ' + repr(self.client_key) + ' ' +\
13938            'database: ' + repr(self.database) + ' ' +\
13939            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13940            'healthy: ' + repr(self.healthy) + ' ' +\
13941            'hostname: ' + repr(self.hostname) + ' ' +\
13942            'id: ' + repr(self.id) + ' ' +\
13943            'name: ' + repr(self.name) + ' ' +\
13944            'password: ' + repr(self.password) + ' ' +\
13945            'port: ' + repr(self.port) + ' ' +\
13946            'port_override: ' + repr(self.port_override) + ' ' +\
13947            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13948            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
13949            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13950            'server_name: ' + repr(self.server_name) + ' ' +\
13951            'subdomain: ' + repr(self.subdomain) + ' ' +\
13952            'tags: ' + repr(self.tags) + ' ' +\
13953            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
13954            'username: ' + repr(self.username) + ' ' +\
13955            '>'
13956
13957    def to_dict(self):
13958        return {
13959            'bind_interface': self.bind_interface,
13960            'certificate_authority': self.certificate_authority,
13961            'client_certificate': self.client_certificate,
13962            'client_key': self.client_key,
13963            'database': self.database,
13964            'egress_filter': self.egress_filter,
13965            'healthy': self.healthy,
13966            'hostname': self.hostname,
13967            'id': self.id,
13968            'name': self.name,
13969            'password': self.password,
13970            'port': self.port,
13971            'port_override': self.port_override,
13972            'proxy_cluster_id': self.proxy_cluster_id,
13973            'require_native_auth': self.require_native_auth,
13974            'secret_store_id': self.secret_store_id,
13975            'server_name': self.server_name,
13976            'subdomain': self.subdomain,
13977            'tags': self.tags,
13978            'use_azure_single_server_usernames':
13979            self.use_azure_single_server_usernames,
13980            'username': self.username,
13981        }
13982
13983    @classmethod
13984    def from_dict(cls, d):
13985        return cls(
13986            bind_interface=d.get('bind_interface'),
13987            certificate_authority=d.get('certificate_authority'),
13988            client_certificate=d.get('client_certificate'),
13989            client_key=d.get('client_key'),
13990            database=d.get('database'),
13991            egress_filter=d.get('egress_filter'),
13992            healthy=d.get('healthy'),
13993            hostname=d.get('hostname'),
13994            id=d.get('id'),
13995            name=d.get('name'),
13996            password=d.get('password'),
13997            port=d.get('port'),
13998            port_override=d.get('port_override'),
13999            proxy_cluster_id=d.get('proxy_cluster_id'),
14000            require_native_auth=d.get('require_native_auth'),
14001            secret_store_id=d.get('secret_store_id'),
14002            server_name=d.get('server_name'),
14003            subdomain=d.get('subdomain'),
14004            tags=d.get('tags'),
14005            use_azure_single_server_usernames=d.get(
14006                'use_azure_single_server_usernames'),
14007            username=d.get('username'),
14008        )

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)
13823    def __init__(
13824        self,
13825        bind_interface=None,
13826        certificate_authority=None,
13827        client_certificate=None,
13828        client_key=None,
13829        database=None,
13830        egress_filter=None,
13831        healthy=None,
13832        hostname=None,
13833        id=None,
13834        name=None,
13835        password=None,
13836        port=None,
13837        port_override=None,
13838        proxy_cluster_id=None,
13839        require_native_auth=None,
13840        secret_store_id=None,
13841        server_name=None,
13842        subdomain=None,
13843        tags=None,
13844        use_azure_single_server_usernames=None,
13845        username=None,
13846    ):
13847        self.bind_interface = bind_interface if bind_interface is not None else ''
13848        '''
13849         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13850        '''
13851        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13852        '''
13853         The CA to authenticate TLS connections with.
13854        '''
13855        self.client_certificate = client_certificate if client_certificate is not None else ''
13856        '''
13857         The certificate to authenticate TLS connections with.
13858        '''
13859        self.client_key = client_key if client_key is not None else ''
13860        '''
13861         The key to authenticate TLS connections with.
13862        '''
13863        self.database = database if database is not None else ''
13864        '''
13865         The database for healthchecks. Does not affect client requests.
13866        '''
13867        self.egress_filter = egress_filter if egress_filter is not None else ''
13868        '''
13869         A filter applied to the routing logic to pin datasource to nodes.
13870        '''
13871        self.healthy = healthy if healthy is not None else False
13872        '''
13873         True if the datasource is reachable and the credentials are valid.
13874        '''
13875        self.hostname = hostname if hostname is not None else ''
13876        '''
13877         The host to dial to initiate a connection from the egress node to this resource.
13878        '''
13879        self.id = id if id is not None else ''
13880        '''
13881         Unique identifier of the Resource.
13882        '''
13883        self.name = name if name is not None else ''
13884        '''
13885         Unique human-readable name of the Resource.
13886        '''
13887        self.password = password if password is not None else ''
13888        '''
13889         The password to authenticate with.
13890        '''
13891        self.port = port if port is not None else 0
13892        '''
13893         The port to dial to initiate a connection from the egress node to this resource.
13894        '''
13895        self.port_override = port_override if port_override is not None else 0
13896        '''
13897         The local port used by clients to connect to this resource.
13898        '''
13899        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13900        '''
13901         ID of the proxy cluster for this resource, if any.
13902        '''
13903        self.require_native_auth = require_native_auth if require_native_auth is not None else False
13904        '''
13905         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
13906        '''
13907        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13908        '''
13909         ID of the secret store containing credentials for this resource, if any.
13910        '''
13911        self.server_name = server_name if server_name is not None else ''
13912        '''
13913         Server name for TLS verification (unverified by StrongDM if empty)
13914        '''
13915        self.subdomain = subdomain if subdomain is not None else ''
13916        '''
13917         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13918        '''
13919        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13920        '''
13921         Tags is a map of key, value pairs.
13922        '''
13923        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
13924        '''
13925         If true, appends the hostname to the username when hitting a database.azure.com address
13926        '''
13927        self.username = username if username is not None else ''
13928        '''
13929         The username to authenticate with.
13930        '''
bind_interface

The bind interface is the IP 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)
13957    def to_dict(self):
13958        return {
13959            'bind_interface': self.bind_interface,
13960            'certificate_authority': self.certificate_authority,
13961            'client_certificate': self.client_certificate,
13962            'client_key': self.client_key,
13963            'database': self.database,
13964            'egress_filter': self.egress_filter,
13965            'healthy': self.healthy,
13966            'hostname': self.hostname,
13967            'id': self.id,
13968            'name': self.name,
13969            'password': self.password,
13970            'port': self.port,
13971            'port_override': self.port_override,
13972            'proxy_cluster_id': self.proxy_cluster_id,
13973            'require_native_auth': self.require_native_auth,
13974            'secret_store_id': self.secret_store_id,
13975            'server_name': self.server_name,
13976            'subdomain': self.subdomain,
13977            'tags': self.tags,
13978            'use_azure_single_server_usernames':
13979            self.use_azure_single_server_usernames,
13980            'username': self.username,
13981        }
@classmethod
def from_dict(cls, d)
13983    @classmethod
13984    def from_dict(cls, d):
13985        return cls(
13986            bind_interface=d.get('bind_interface'),
13987            certificate_authority=d.get('certificate_authority'),
13988            client_certificate=d.get('client_certificate'),
13989            client_key=d.get('client_key'),
13990            database=d.get('database'),
13991            egress_filter=d.get('egress_filter'),
13992            healthy=d.get('healthy'),
13993            hostname=d.get('hostname'),
13994            id=d.get('id'),
13995            name=d.get('name'),
13996            password=d.get('password'),
13997            port=d.get('port'),
13998            port_override=d.get('port_override'),
13999            proxy_cluster_id=d.get('proxy_cluster_id'),
14000            require_native_auth=d.get('require_native_auth'),
14001            secret_store_id=d.get('secret_store_id'),
14002            server_name=d.get('server_name'),
14003            subdomain=d.get('subdomain'),
14004            tags=d.get('tags'),
14005            use_azure_single_server_usernames=d.get(
14006                'use_azure_single_server_usernames'),
14007            username=d.get('username'),
14008        )
class MTLSPostgres:
14011class MTLSPostgres:
14012    __slots__ = [
14013        'bind_interface',
14014        'certificate_authority',
14015        'client_certificate',
14016        'client_key',
14017        'database',
14018        'egress_filter',
14019        'healthy',
14020        'hostname',
14021        'id',
14022        'name',
14023        'override_database',
14024        'password',
14025        'port',
14026        'port_override',
14027        'proxy_cluster_id',
14028        'secret_store_id',
14029        'server_name',
14030        'subdomain',
14031        'tags',
14032        'username',
14033    ]
14034
14035    def __init__(
14036        self,
14037        bind_interface=None,
14038        certificate_authority=None,
14039        client_certificate=None,
14040        client_key=None,
14041        database=None,
14042        egress_filter=None,
14043        healthy=None,
14044        hostname=None,
14045        id=None,
14046        name=None,
14047        override_database=None,
14048        password=None,
14049        port=None,
14050        port_override=None,
14051        proxy_cluster_id=None,
14052        secret_store_id=None,
14053        server_name=None,
14054        subdomain=None,
14055        tags=None,
14056        username=None,
14057    ):
14058        self.bind_interface = bind_interface if bind_interface is not None else ''
14059        '''
14060         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14061        '''
14062        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14063        '''
14064         The CA to authenticate TLS connections with.
14065        '''
14066        self.client_certificate = client_certificate if client_certificate is not None else ''
14067        '''
14068         The certificate to authenticate TLS connections with.
14069        '''
14070        self.client_key = client_key if client_key is not None else ''
14071        '''
14072         The key to authenticate TLS connections with.
14073        '''
14074        self.database = database if database is not None else ''
14075        '''
14076         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14077        '''
14078        self.egress_filter = egress_filter if egress_filter is not None else ''
14079        '''
14080         A filter applied to the routing logic to pin datasource to nodes.
14081        '''
14082        self.healthy = healthy if healthy is not None else False
14083        '''
14084         True if the datasource is reachable and the credentials are valid.
14085        '''
14086        self.hostname = hostname if hostname is not None else ''
14087        '''
14088         The host to dial to initiate a connection from the egress node to this resource.
14089        '''
14090        self.id = id if id is not None else ''
14091        '''
14092         Unique identifier of the Resource.
14093        '''
14094        self.name = name if name is not None else ''
14095        '''
14096         Unique human-readable name of the Resource.
14097        '''
14098        self.override_database = override_database if override_database is not None else False
14099        '''
14100         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.
14101        '''
14102        self.password = password if password is not None else ''
14103        '''
14104         The password to authenticate with.
14105        '''
14106        self.port = port if port is not None else 0
14107        '''
14108         The port to dial to initiate a connection from the egress node to this resource.
14109        '''
14110        self.port_override = port_override if port_override is not None else 0
14111        '''
14112         The local port used by clients to connect to this resource.
14113        '''
14114        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14115        '''
14116         ID of the proxy cluster for this resource, if any.
14117        '''
14118        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14119        '''
14120         ID of the secret store containing credentials for this resource, if any.
14121        '''
14122        self.server_name = server_name if server_name is not None else ''
14123        '''
14124         Server name for TLS verification (unverified by StrongDM if empty)
14125        '''
14126        self.subdomain = subdomain if subdomain is not None else ''
14127        '''
14128         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14129        '''
14130        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14131        '''
14132         Tags is a map of key, value pairs.
14133        '''
14134        self.username = username if username is not None else ''
14135        '''
14136         The username to authenticate with.
14137        '''
14138
14139    def __repr__(self):
14140        return '<sdm.MTLSPostgres ' + \
14141            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14142            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14143            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
14144            'client_key: ' + repr(self.client_key) + ' ' +\
14145            'database: ' + repr(self.database) + ' ' +\
14146            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14147            'healthy: ' + repr(self.healthy) + ' ' +\
14148            'hostname: ' + repr(self.hostname) + ' ' +\
14149            'id: ' + repr(self.id) + ' ' +\
14150            'name: ' + repr(self.name) + ' ' +\
14151            'override_database: ' + repr(self.override_database) + ' ' +\
14152            'password: ' + repr(self.password) + ' ' +\
14153            'port: ' + repr(self.port) + ' ' +\
14154            'port_override: ' + repr(self.port_override) + ' ' +\
14155            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14156            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14157            'server_name: ' + repr(self.server_name) + ' ' +\
14158            'subdomain: ' + repr(self.subdomain) + ' ' +\
14159            'tags: ' + repr(self.tags) + ' ' +\
14160            'username: ' + repr(self.username) + ' ' +\
14161            '>'
14162
14163    def to_dict(self):
14164        return {
14165            'bind_interface': self.bind_interface,
14166            'certificate_authority': self.certificate_authority,
14167            'client_certificate': self.client_certificate,
14168            'client_key': self.client_key,
14169            'database': self.database,
14170            'egress_filter': self.egress_filter,
14171            'healthy': self.healthy,
14172            'hostname': self.hostname,
14173            'id': self.id,
14174            'name': self.name,
14175            'override_database': self.override_database,
14176            'password': self.password,
14177            'port': self.port,
14178            'port_override': self.port_override,
14179            'proxy_cluster_id': self.proxy_cluster_id,
14180            'secret_store_id': self.secret_store_id,
14181            'server_name': self.server_name,
14182            'subdomain': self.subdomain,
14183            'tags': self.tags,
14184            'username': self.username,
14185        }
14186
14187    @classmethod
14188    def from_dict(cls, d):
14189        return cls(
14190            bind_interface=d.get('bind_interface'),
14191            certificate_authority=d.get('certificate_authority'),
14192            client_certificate=d.get('client_certificate'),
14193            client_key=d.get('client_key'),
14194            database=d.get('database'),
14195            egress_filter=d.get('egress_filter'),
14196            healthy=d.get('healthy'),
14197            hostname=d.get('hostname'),
14198            id=d.get('id'),
14199            name=d.get('name'),
14200            override_database=d.get('override_database'),
14201            password=d.get('password'),
14202            port=d.get('port'),
14203            port_override=d.get('port_override'),
14204            proxy_cluster_id=d.get('proxy_cluster_id'),
14205            secret_store_id=d.get('secret_store_id'),
14206            server_name=d.get('server_name'),
14207            subdomain=d.get('subdomain'),
14208            tags=d.get('tags'),
14209            username=d.get('username'),
14210        )
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)
14035    def __init__(
14036        self,
14037        bind_interface=None,
14038        certificate_authority=None,
14039        client_certificate=None,
14040        client_key=None,
14041        database=None,
14042        egress_filter=None,
14043        healthy=None,
14044        hostname=None,
14045        id=None,
14046        name=None,
14047        override_database=None,
14048        password=None,
14049        port=None,
14050        port_override=None,
14051        proxy_cluster_id=None,
14052        secret_store_id=None,
14053        server_name=None,
14054        subdomain=None,
14055        tags=None,
14056        username=None,
14057    ):
14058        self.bind_interface = bind_interface if bind_interface is not None else ''
14059        '''
14060         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14061        '''
14062        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14063        '''
14064         The CA to authenticate TLS connections with.
14065        '''
14066        self.client_certificate = client_certificate if client_certificate is not None else ''
14067        '''
14068         The certificate to authenticate TLS connections with.
14069        '''
14070        self.client_key = client_key if client_key is not None else ''
14071        '''
14072         The key to authenticate TLS connections with.
14073        '''
14074        self.database = database if database is not None else ''
14075        '''
14076         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14077        '''
14078        self.egress_filter = egress_filter if egress_filter is not None else ''
14079        '''
14080         A filter applied to the routing logic to pin datasource to nodes.
14081        '''
14082        self.healthy = healthy if healthy is not None else False
14083        '''
14084         True if the datasource is reachable and the credentials are valid.
14085        '''
14086        self.hostname = hostname if hostname is not None else ''
14087        '''
14088         The host to dial to initiate a connection from the egress node to this resource.
14089        '''
14090        self.id = id if id is not None else ''
14091        '''
14092         Unique identifier of the Resource.
14093        '''
14094        self.name = name if name is not None else ''
14095        '''
14096         Unique human-readable name of the Resource.
14097        '''
14098        self.override_database = override_database if override_database is not None else False
14099        '''
14100         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.
14101        '''
14102        self.password = password if password is not None else ''
14103        '''
14104         The password to authenticate with.
14105        '''
14106        self.port = port if port is not None else 0
14107        '''
14108         The port to dial to initiate a connection from the egress node to this resource.
14109        '''
14110        self.port_override = port_override if port_override is not None else 0
14111        '''
14112         The local port used by clients to connect to this resource.
14113        '''
14114        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14115        '''
14116         ID of the proxy cluster for this resource, if any.
14117        '''
14118        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14119        '''
14120         ID of the secret store containing credentials for this resource, if any.
14121        '''
14122        self.server_name = server_name if server_name is not None else ''
14123        '''
14124         Server name for TLS verification (unverified by StrongDM if empty)
14125        '''
14126        self.subdomain = subdomain if subdomain is not None else ''
14127        '''
14128         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14129        '''
14130        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14131        '''
14132         Tags is a map of key, value pairs.
14133        '''
14134        self.username = username if username is not None else ''
14135        '''
14136         The username to authenticate with.
14137        '''
bind_interface

The bind interface is the IP 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)
14163    def to_dict(self):
14164        return {
14165            'bind_interface': self.bind_interface,
14166            'certificate_authority': self.certificate_authority,
14167            'client_certificate': self.client_certificate,
14168            'client_key': self.client_key,
14169            'database': self.database,
14170            'egress_filter': self.egress_filter,
14171            'healthy': self.healthy,
14172            'hostname': self.hostname,
14173            'id': self.id,
14174            'name': self.name,
14175            'override_database': self.override_database,
14176            'password': self.password,
14177            'port': self.port,
14178            'port_override': self.port_override,
14179            'proxy_cluster_id': self.proxy_cluster_id,
14180            'secret_store_id': self.secret_store_id,
14181            'server_name': self.server_name,
14182            'subdomain': self.subdomain,
14183            'tags': self.tags,
14184            'username': self.username,
14185        }
@classmethod
def from_dict(cls, d)
14187    @classmethod
14188    def from_dict(cls, d):
14189        return cls(
14190            bind_interface=d.get('bind_interface'),
14191            certificate_authority=d.get('certificate_authority'),
14192            client_certificate=d.get('client_certificate'),
14193            client_key=d.get('client_key'),
14194            database=d.get('database'),
14195            egress_filter=d.get('egress_filter'),
14196            healthy=d.get('healthy'),
14197            hostname=d.get('hostname'),
14198            id=d.get('id'),
14199            name=d.get('name'),
14200            override_database=d.get('override_database'),
14201            password=d.get('password'),
14202            port=d.get('port'),
14203            port_override=d.get('port_override'),
14204            proxy_cluster_id=d.get('proxy_cluster_id'),
14205            secret_store_id=d.get('secret_store_id'),
14206            server_name=d.get('server_name'),
14207            subdomain=d.get('subdomain'),
14208            tags=d.get('tags'),
14209            username=d.get('username'),
14210        )
class Maria:
14213class Maria:
14214    __slots__ = [
14215        'bind_interface',
14216        'database',
14217        'egress_filter',
14218        'healthy',
14219        'hostname',
14220        'id',
14221        'name',
14222        'password',
14223        'port',
14224        'port_override',
14225        'proxy_cluster_id',
14226        'require_native_auth',
14227        'secret_store_id',
14228        'subdomain',
14229        'tags',
14230        'use_azure_single_server_usernames',
14231        'username',
14232    ]
14233
14234    def __init__(
14235        self,
14236        bind_interface=None,
14237        database=None,
14238        egress_filter=None,
14239        healthy=None,
14240        hostname=None,
14241        id=None,
14242        name=None,
14243        password=None,
14244        port=None,
14245        port_override=None,
14246        proxy_cluster_id=None,
14247        require_native_auth=None,
14248        secret_store_id=None,
14249        subdomain=None,
14250        tags=None,
14251        use_azure_single_server_usernames=None,
14252        username=None,
14253    ):
14254        self.bind_interface = bind_interface if bind_interface is not None else ''
14255        '''
14256         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14257        '''
14258        self.database = database if database is not None else ''
14259        '''
14260         The database for healthchecks. Does not affect client requests.
14261        '''
14262        self.egress_filter = egress_filter if egress_filter is not None else ''
14263        '''
14264         A filter applied to the routing logic to pin datasource to nodes.
14265        '''
14266        self.healthy = healthy if healthy is not None else False
14267        '''
14268         True if the datasource is reachable and the credentials are valid.
14269        '''
14270        self.hostname = hostname if hostname is not None else ''
14271        '''
14272         The host to dial to initiate a connection from the egress node to this resource.
14273        '''
14274        self.id = id if id is not None else ''
14275        '''
14276         Unique identifier of the Resource.
14277        '''
14278        self.name = name if name is not None else ''
14279        '''
14280         Unique human-readable name of the Resource.
14281        '''
14282        self.password = password if password is not None else ''
14283        '''
14284         The password to authenticate with.
14285        '''
14286        self.port = port if port is not None else 0
14287        '''
14288         The port to dial to initiate a connection from the egress node to this resource.
14289        '''
14290        self.port_override = port_override if port_override is not None else 0
14291        '''
14292         The local port used by clients to connect to this resource.
14293        '''
14294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14295        '''
14296         ID of the proxy cluster for this resource, if any.
14297        '''
14298        self.require_native_auth = require_native_auth if require_native_auth is not None else False
14299        '''
14300         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14301        '''
14302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14303        '''
14304         ID of the secret store containing credentials for this resource, if any.
14305        '''
14306        self.subdomain = subdomain if subdomain is not None else ''
14307        '''
14308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14309        '''
14310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14311        '''
14312         Tags is a map of key, value pairs.
14313        '''
14314        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14315        '''
14316         If true, appends the hostname to the username when hitting a database.azure.com address
14317        '''
14318        self.username = username if username is not None else ''
14319        '''
14320         The username to authenticate with.
14321        '''
14322
14323    def __repr__(self):
14324        return '<sdm.Maria ' + \
14325            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14326            'database: ' + repr(self.database) + ' ' +\
14327            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14328            'healthy: ' + repr(self.healthy) + ' ' +\
14329            'hostname: ' + repr(self.hostname) + ' ' +\
14330            'id: ' + repr(self.id) + ' ' +\
14331            'name: ' + repr(self.name) + ' ' +\
14332            'password: ' + repr(self.password) + ' ' +\
14333            'port: ' + repr(self.port) + ' ' +\
14334            'port_override: ' + repr(self.port_override) + ' ' +\
14335            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14336            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
14337            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14338            'subdomain: ' + repr(self.subdomain) + ' ' +\
14339            'tags: ' + repr(self.tags) + ' ' +\
14340            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
14341            'username: ' + repr(self.username) + ' ' +\
14342            '>'
14343
14344    def to_dict(self):
14345        return {
14346            'bind_interface': self.bind_interface,
14347            'database': self.database,
14348            'egress_filter': self.egress_filter,
14349            'healthy': self.healthy,
14350            'hostname': self.hostname,
14351            'id': self.id,
14352            'name': self.name,
14353            'password': self.password,
14354            'port': self.port,
14355            'port_override': self.port_override,
14356            'proxy_cluster_id': self.proxy_cluster_id,
14357            'require_native_auth': self.require_native_auth,
14358            'secret_store_id': self.secret_store_id,
14359            'subdomain': self.subdomain,
14360            'tags': self.tags,
14361            'use_azure_single_server_usernames':
14362            self.use_azure_single_server_usernames,
14363            'username': self.username,
14364        }
14365
14366    @classmethod
14367    def from_dict(cls, d):
14368        return cls(
14369            bind_interface=d.get('bind_interface'),
14370            database=d.get('database'),
14371            egress_filter=d.get('egress_filter'),
14372            healthy=d.get('healthy'),
14373            hostname=d.get('hostname'),
14374            id=d.get('id'),
14375            name=d.get('name'),
14376            password=d.get('password'),
14377            port=d.get('port'),
14378            port_override=d.get('port_override'),
14379            proxy_cluster_id=d.get('proxy_cluster_id'),
14380            require_native_auth=d.get('require_native_auth'),
14381            secret_store_id=d.get('secret_store_id'),
14382            subdomain=d.get('subdomain'),
14383            tags=d.get('tags'),
14384            use_azure_single_server_usernames=d.get(
14385                'use_azure_single_server_usernames'),
14386            username=d.get('username'),
14387        )
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)
14234    def __init__(
14235        self,
14236        bind_interface=None,
14237        database=None,
14238        egress_filter=None,
14239        healthy=None,
14240        hostname=None,
14241        id=None,
14242        name=None,
14243        password=None,
14244        port=None,
14245        port_override=None,
14246        proxy_cluster_id=None,
14247        require_native_auth=None,
14248        secret_store_id=None,
14249        subdomain=None,
14250        tags=None,
14251        use_azure_single_server_usernames=None,
14252        username=None,
14253    ):
14254        self.bind_interface = bind_interface if bind_interface is not None else ''
14255        '''
14256         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14257        '''
14258        self.database = database if database is not None else ''
14259        '''
14260         The database for healthchecks. Does not affect client requests.
14261        '''
14262        self.egress_filter = egress_filter if egress_filter is not None else ''
14263        '''
14264         A filter applied to the routing logic to pin datasource to nodes.
14265        '''
14266        self.healthy = healthy if healthy is not None else False
14267        '''
14268         True if the datasource is reachable and the credentials are valid.
14269        '''
14270        self.hostname = hostname if hostname is not None else ''
14271        '''
14272         The host to dial to initiate a connection from the egress node to this resource.
14273        '''
14274        self.id = id if id is not None else ''
14275        '''
14276         Unique identifier of the Resource.
14277        '''
14278        self.name = name if name is not None else ''
14279        '''
14280         Unique human-readable name of the Resource.
14281        '''
14282        self.password = password if password is not None else ''
14283        '''
14284         The password to authenticate with.
14285        '''
14286        self.port = port if port is not None else 0
14287        '''
14288         The port to dial to initiate a connection from the egress node to this resource.
14289        '''
14290        self.port_override = port_override if port_override is not None else 0
14291        '''
14292         The local port used by clients to connect to this resource.
14293        '''
14294        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14295        '''
14296         ID of the proxy cluster for this resource, if any.
14297        '''
14298        self.require_native_auth = require_native_auth if require_native_auth is not None else False
14299        '''
14300         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14301        '''
14302        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14303        '''
14304         ID of the secret store containing credentials for this resource, if any.
14305        '''
14306        self.subdomain = subdomain if subdomain is not None else ''
14307        '''
14308         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14309        '''
14310        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14311        '''
14312         Tags is a map of key, value pairs.
14313        '''
14314        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14315        '''
14316         If true, appends the hostname to the username when hitting a database.azure.com address
14317        '''
14318        self.username = username if username is not None else ''
14319        '''
14320         The username to authenticate with.
14321        '''
bind_interface

The bind interface is the IP 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)
14344    def to_dict(self):
14345        return {
14346            'bind_interface': self.bind_interface,
14347            'database': self.database,
14348            'egress_filter': self.egress_filter,
14349            'healthy': self.healthy,
14350            'hostname': self.hostname,
14351            'id': self.id,
14352            'name': self.name,
14353            'password': self.password,
14354            'port': self.port,
14355            'port_override': self.port_override,
14356            'proxy_cluster_id': self.proxy_cluster_id,
14357            'require_native_auth': self.require_native_auth,
14358            'secret_store_id': self.secret_store_id,
14359            'subdomain': self.subdomain,
14360            'tags': self.tags,
14361            'use_azure_single_server_usernames':
14362            self.use_azure_single_server_usernames,
14363            'username': self.username,
14364        }
@classmethod
def from_dict(cls, d)
14366    @classmethod
14367    def from_dict(cls, d):
14368        return cls(
14369            bind_interface=d.get('bind_interface'),
14370            database=d.get('database'),
14371            egress_filter=d.get('egress_filter'),
14372            healthy=d.get('healthy'),
14373            hostname=d.get('hostname'),
14374            id=d.get('id'),
14375            name=d.get('name'),
14376            password=d.get('password'),
14377            port=d.get('port'),
14378            port_override=d.get('port_override'),
14379            proxy_cluster_id=d.get('proxy_cluster_id'),
14380            require_native_auth=d.get('require_native_auth'),
14381            secret_store_id=d.get('secret_store_id'),
14382            subdomain=d.get('subdomain'),
14383            tags=d.get('tags'),
14384            use_azure_single_server_usernames=d.get(
14385                'use_azure_single_server_usernames'),
14386            username=d.get('username'),
14387        )
class Memcached:
14390class Memcached:
14391    __slots__ = [
14392        'bind_interface',
14393        'egress_filter',
14394        'healthy',
14395        'hostname',
14396        'id',
14397        'name',
14398        'port',
14399        'port_override',
14400        'proxy_cluster_id',
14401        'secret_store_id',
14402        'subdomain',
14403        'tags',
14404    ]
14405
14406    def __init__(
14407        self,
14408        bind_interface=None,
14409        egress_filter=None,
14410        healthy=None,
14411        hostname=None,
14412        id=None,
14413        name=None,
14414        port=None,
14415        port_override=None,
14416        proxy_cluster_id=None,
14417        secret_store_id=None,
14418        subdomain=None,
14419        tags=None,
14420    ):
14421        self.bind_interface = bind_interface if bind_interface is not None else ''
14422        '''
14423         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14424        '''
14425        self.egress_filter = egress_filter if egress_filter is not None else ''
14426        '''
14427         A filter applied to the routing logic to pin datasource to nodes.
14428        '''
14429        self.healthy = healthy if healthy is not None else False
14430        '''
14431         True if the datasource is reachable and the credentials are valid.
14432        '''
14433        self.hostname = hostname if hostname is not None else ''
14434        '''
14435         The host to dial to initiate a connection from the egress node to this resource.
14436        '''
14437        self.id = id if id is not None else ''
14438        '''
14439         Unique identifier of the Resource.
14440        '''
14441        self.name = name if name is not None else ''
14442        '''
14443         Unique human-readable name of the Resource.
14444        '''
14445        self.port = port if port is not None else 0
14446        '''
14447         The port to dial to initiate a connection from the egress node to this resource.
14448        '''
14449        self.port_override = port_override if port_override is not None else 0
14450        '''
14451         The local port used by clients to connect to this resource.
14452        '''
14453        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14454        '''
14455         ID of the proxy cluster for this resource, if any.
14456        '''
14457        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14458        '''
14459         ID of the secret store containing credentials for this resource, if any.
14460        '''
14461        self.subdomain = subdomain if subdomain is not None else ''
14462        '''
14463         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14464        '''
14465        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14466        '''
14467         Tags is a map of key, value pairs.
14468        '''
14469
14470    def __repr__(self):
14471        return '<sdm.Memcached ' + \
14472            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14473            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14474            'healthy: ' + repr(self.healthy) + ' ' +\
14475            'hostname: ' + repr(self.hostname) + ' ' +\
14476            'id: ' + repr(self.id) + ' ' +\
14477            'name: ' + repr(self.name) + ' ' +\
14478            'port: ' + repr(self.port) + ' ' +\
14479            'port_override: ' + repr(self.port_override) + ' ' +\
14480            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14481            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14482            'subdomain: ' + repr(self.subdomain) + ' ' +\
14483            'tags: ' + repr(self.tags) + ' ' +\
14484            '>'
14485
14486    def to_dict(self):
14487        return {
14488            'bind_interface': self.bind_interface,
14489            'egress_filter': self.egress_filter,
14490            'healthy': self.healthy,
14491            'hostname': self.hostname,
14492            'id': self.id,
14493            'name': self.name,
14494            'port': self.port,
14495            'port_override': self.port_override,
14496            'proxy_cluster_id': self.proxy_cluster_id,
14497            'secret_store_id': self.secret_store_id,
14498            'subdomain': self.subdomain,
14499            'tags': self.tags,
14500        }
14501
14502    @classmethod
14503    def from_dict(cls, d):
14504        return cls(
14505            bind_interface=d.get('bind_interface'),
14506            egress_filter=d.get('egress_filter'),
14507            healthy=d.get('healthy'),
14508            hostname=d.get('hostname'),
14509            id=d.get('id'),
14510            name=d.get('name'),
14511            port=d.get('port'),
14512            port_override=d.get('port_override'),
14513            proxy_cluster_id=d.get('proxy_cluster_id'),
14514            secret_store_id=d.get('secret_store_id'),
14515            subdomain=d.get('subdomain'),
14516            tags=d.get('tags'),
14517        )
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)
14406    def __init__(
14407        self,
14408        bind_interface=None,
14409        egress_filter=None,
14410        healthy=None,
14411        hostname=None,
14412        id=None,
14413        name=None,
14414        port=None,
14415        port_override=None,
14416        proxy_cluster_id=None,
14417        secret_store_id=None,
14418        subdomain=None,
14419        tags=None,
14420    ):
14421        self.bind_interface = bind_interface if bind_interface is not None else ''
14422        '''
14423         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14424        '''
14425        self.egress_filter = egress_filter if egress_filter is not None else ''
14426        '''
14427         A filter applied to the routing logic to pin datasource to nodes.
14428        '''
14429        self.healthy = healthy if healthy is not None else False
14430        '''
14431         True if the datasource is reachable and the credentials are valid.
14432        '''
14433        self.hostname = hostname if hostname is not None else ''
14434        '''
14435         The host to dial to initiate a connection from the egress node to this resource.
14436        '''
14437        self.id = id if id is not None else ''
14438        '''
14439         Unique identifier of the Resource.
14440        '''
14441        self.name = name if name is not None else ''
14442        '''
14443         Unique human-readable name of the Resource.
14444        '''
14445        self.port = port if port is not None else 0
14446        '''
14447         The port to dial to initiate a connection from the egress node to this resource.
14448        '''
14449        self.port_override = port_override if port_override is not None else 0
14450        '''
14451         The local port used by clients to connect to this resource.
14452        '''
14453        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14454        '''
14455         ID of the proxy cluster for this resource, if any.
14456        '''
14457        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14458        '''
14459         ID of the secret store containing credentials for this resource, if any.
14460        '''
14461        self.subdomain = subdomain if subdomain is not None else ''
14462        '''
14463         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14464        '''
14465        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14466        '''
14467         Tags is a map of key, value pairs.
14468        '''
bind_interface

The bind interface is the IP 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)
14486    def to_dict(self):
14487        return {
14488            'bind_interface': self.bind_interface,
14489            'egress_filter': self.egress_filter,
14490            'healthy': self.healthy,
14491            'hostname': self.hostname,
14492            'id': self.id,
14493            'name': self.name,
14494            'port': self.port,
14495            'port_override': self.port_override,
14496            'proxy_cluster_id': self.proxy_cluster_id,
14497            'secret_store_id': self.secret_store_id,
14498            'subdomain': self.subdomain,
14499            'tags': self.tags,
14500        }
@classmethod
def from_dict(cls, d)
14502    @classmethod
14503    def from_dict(cls, d):
14504        return cls(
14505            bind_interface=d.get('bind_interface'),
14506            egress_filter=d.get('egress_filter'),
14507            healthy=d.get('healthy'),
14508            hostname=d.get('hostname'),
14509            id=d.get('id'),
14510            name=d.get('name'),
14511            port=d.get('port'),
14512            port_override=d.get('port_override'),
14513            proxy_cluster_id=d.get('proxy_cluster_id'),
14514            secret_store_id=d.get('secret_store_id'),
14515            subdomain=d.get('subdomain'),
14516            tags=d.get('tags'),
14517        )
class Memsql:
14520class Memsql:
14521    __slots__ = [
14522        'bind_interface',
14523        'database',
14524        'egress_filter',
14525        'healthy',
14526        'hostname',
14527        'id',
14528        'name',
14529        'password',
14530        'port',
14531        'port_override',
14532        'proxy_cluster_id',
14533        'require_native_auth',
14534        'secret_store_id',
14535        'subdomain',
14536        'tags',
14537        'use_azure_single_server_usernames',
14538        'username',
14539    ]
14540
14541    def __init__(
14542        self,
14543        bind_interface=None,
14544        database=None,
14545        egress_filter=None,
14546        healthy=None,
14547        hostname=None,
14548        id=None,
14549        name=None,
14550        password=None,
14551        port=None,
14552        port_override=None,
14553        proxy_cluster_id=None,
14554        require_native_auth=None,
14555        secret_store_id=None,
14556        subdomain=None,
14557        tags=None,
14558        use_azure_single_server_usernames=None,
14559        username=None,
14560    ):
14561        self.bind_interface = bind_interface if bind_interface is not None else ''
14562        '''
14563         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14564        '''
14565        self.database = database if database is not None else ''
14566        '''
14567         The database for healthchecks. Does not affect client requests.
14568        '''
14569        self.egress_filter = egress_filter if egress_filter is not None else ''
14570        '''
14571         A filter applied to the routing logic to pin datasource to nodes.
14572        '''
14573        self.healthy = healthy if healthy is not None else False
14574        '''
14575         True if the datasource is reachable and the credentials are valid.
14576        '''
14577        self.hostname = hostname if hostname is not None else ''
14578        '''
14579         The host to dial to initiate a connection from the egress node to this resource.
14580        '''
14581        self.id = id if id is not None else ''
14582        '''
14583         Unique identifier of the Resource.
14584        '''
14585        self.name = name if name is not None else ''
14586        '''
14587         Unique human-readable name of the Resource.
14588        '''
14589        self.password = password if password is not None else ''
14590        '''
14591         The password to authenticate with.
14592        '''
14593        self.port = port if port is not None else 0
14594        '''
14595         The port to dial to initiate a connection from the egress node to this resource.
14596        '''
14597        self.port_override = port_override if port_override is not None else 0
14598        '''
14599         The local port used by clients to connect to this resource.
14600        '''
14601        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14602        '''
14603         ID of the proxy cluster for this resource, if any.
14604        '''
14605        self.require_native_auth = require_native_auth if require_native_auth is not None else False
14606        '''
14607         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14608        '''
14609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14610        '''
14611         ID of the secret store containing credentials for this resource, if any.
14612        '''
14613        self.subdomain = subdomain if subdomain is not None else ''
14614        '''
14615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14616        '''
14617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14618        '''
14619         Tags is a map of key, value pairs.
14620        '''
14621        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14622        '''
14623         If true, appends the hostname to the username when hitting a database.azure.com address
14624        '''
14625        self.username = username if username is not None else ''
14626        '''
14627         The username to authenticate with.
14628        '''
14629
14630    def __repr__(self):
14631        return '<sdm.Memsql ' + \
14632            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14633            'database: ' + repr(self.database) + ' ' +\
14634            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14635            'healthy: ' + repr(self.healthy) + ' ' +\
14636            'hostname: ' + repr(self.hostname) + ' ' +\
14637            'id: ' + repr(self.id) + ' ' +\
14638            'name: ' + repr(self.name) + ' ' +\
14639            'password: ' + repr(self.password) + ' ' +\
14640            'port: ' + repr(self.port) + ' ' +\
14641            'port_override: ' + repr(self.port_override) + ' ' +\
14642            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14643            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
14644            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14645            'subdomain: ' + repr(self.subdomain) + ' ' +\
14646            'tags: ' + repr(self.tags) + ' ' +\
14647            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
14648            'username: ' + repr(self.username) + ' ' +\
14649            '>'
14650
14651    def to_dict(self):
14652        return {
14653            'bind_interface': self.bind_interface,
14654            'database': self.database,
14655            'egress_filter': self.egress_filter,
14656            'healthy': self.healthy,
14657            'hostname': self.hostname,
14658            'id': self.id,
14659            'name': self.name,
14660            'password': self.password,
14661            'port': self.port,
14662            'port_override': self.port_override,
14663            'proxy_cluster_id': self.proxy_cluster_id,
14664            'require_native_auth': self.require_native_auth,
14665            'secret_store_id': self.secret_store_id,
14666            'subdomain': self.subdomain,
14667            'tags': self.tags,
14668            'use_azure_single_server_usernames':
14669            self.use_azure_single_server_usernames,
14670            'username': self.username,
14671        }
14672
14673    @classmethod
14674    def from_dict(cls, d):
14675        return cls(
14676            bind_interface=d.get('bind_interface'),
14677            database=d.get('database'),
14678            egress_filter=d.get('egress_filter'),
14679            healthy=d.get('healthy'),
14680            hostname=d.get('hostname'),
14681            id=d.get('id'),
14682            name=d.get('name'),
14683            password=d.get('password'),
14684            port=d.get('port'),
14685            port_override=d.get('port_override'),
14686            proxy_cluster_id=d.get('proxy_cluster_id'),
14687            require_native_auth=d.get('require_native_auth'),
14688            secret_store_id=d.get('secret_store_id'),
14689            subdomain=d.get('subdomain'),
14690            tags=d.get('tags'),
14691            use_azure_single_server_usernames=d.get(
14692                'use_azure_single_server_usernames'),
14693            username=d.get('username'),
14694        )
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)
14541    def __init__(
14542        self,
14543        bind_interface=None,
14544        database=None,
14545        egress_filter=None,
14546        healthy=None,
14547        hostname=None,
14548        id=None,
14549        name=None,
14550        password=None,
14551        port=None,
14552        port_override=None,
14553        proxy_cluster_id=None,
14554        require_native_auth=None,
14555        secret_store_id=None,
14556        subdomain=None,
14557        tags=None,
14558        use_azure_single_server_usernames=None,
14559        username=None,
14560    ):
14561        self.bind_interface = bind_interface if bind_interface is not None else ''
14562        '''
14563         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14564        '''
14565        self.database = database if database is not None else ''
14566        '''
14567         The database for healthchecks. Does not affect client requests.
14568        '''
14569        self.egress_filter = egress_filter if egress_filter is not None else ''
14570        '''
14571         A filter applied to the routing logic to pin datasource to nodes.
14572        '''
14573        self.healthy = healthy if healthy is not None else False
14574        '''
14575         True if the datasource is reachable and the credentials are valid.
14576        '''
14577        self.hostname = hostname if hostname is not None else ''
14578        '''
14579         The host to dial to initiate a connection from the egress node to this resource.
14580        '''
14581        self.id = id if id is not None else ''
14582        '''
14583         Unique identifier of the Resource.
14584        '''
14585        self.name = name if name is not None else ''
14586        '''
14587         Unique human-readable name of the Resource.
14588        '''
14589        self.password = password if password is not None else ''
14590        '''
14591         The password to authenticate with.
14592        '''
14593        self.port = port if port is not None else 0
14594        '''
14595         The port to dial to initiate a connection from the egress node to this resource.
14596        '''
14597        self.port_override = port_override if port_override is not None else 0
14598        '''
14599         The local port used by clients to connect to this resource.
14600        '''
14601        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14602        '''
14603         ID of the proxy cluster for this resource, if any.
14604        '''
14605        self.require_native_auth = require_native_auth if require_native_auth is not None else False
14606        '''
14607         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
14608        '''
14609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14610        '''
14611         ID of the secret store containing credentials for this resource, if any.
14612        '''
14613        self.subdomain = subdomain if subdomain is not None else ''
14614        '''
14615         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14616        '''
14617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14618        '''
14619         Tags is a map of key, value pairs.
14620        '''
14621        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
14622        '''
14623         If true, appends the hostname to the username when hitting a database.azure.com address
14624        '''
14625        self.username = username if username is not None else ''
14626        '''
14627         The username to authenticate with.
14628        '''
bind_interface

The bind interface is the IP 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)
14651    def to_dict(self):
14652        return {
14653            'bind_interface': self.bind_interface,
14654            'database': self.database,
14655            'egress_filter': self.egress_filter,
14656            'healthy': self.healthy,
14657            'hostname': self.hostname,
14658            'id': self.id,
14659            'name': self.name,
14660            'password': self.password,
14661            'port': self.port,
14662            'port_override': self.port_override,
14663            'proxy_cluster_id': self.proxy_cluster_id,
14664            'require_native_auth': self.require_native_auth,
14665            'secret_store_id': self.secret_store_id,
14666            'subdomain': self.subdomain,
14667            'tags': self.tags,
14668            'use_azure_single_server_usernames':
14669            self.use_azure_single_server_usernames,
14670            'username': self.username,
14671        }
@classmethod
def from_dict(cls, d)
14673    @classmethod
14674    def from_dict(cls, d):
14675        return cls(
14676            bind_interface=d.get('bind_interface'),
14677            database=d.get('database'),
14678            egress_filter=d.get('egress_filter'),
14679            healthy=d.get('healthy'),
14680            hostname=d.get('hostname'),
14681            id=d.get('id'),
14682            name=d.get('name'),
14683            password=d.get('password'),
14684            port=d.get('port'),
14685            port_override=d.get('port_override'),
14686            proxy_cluster_id=d.get('proxy_cluster_id'),
14687            require_native_auth=d.get('require_native_auth'),
14688            secret_store_id=d.get('secret_store_id'),
14689            subdomain=d.get('subdomain'),
14690            tags=d.get('tags'),
14691            use_azure_single_server_usernames=d.get(
14692                'use_azure_single_server_usernames'),
14693            username=d.get('username'),
14694        )
class MongoHost:
14697class MongoHost:
14698    __slots__ = [
14699        'auth_database',
14700        'bind_interface',
14701        'egress_filter',
14702        'healthy',
14703        'hostname',
14704        'id',
14705        'name',
14706        'password',
14707        'port',
14708        'port_override',
14709        'proxy_cluster_id',
14710        'secret_store_id',
14711        'subdomain',
14712        'tags',
14713        'tls_required',
14714        'username',
14715    ]
14716
14717    def __init__(
14718        self,
14719        auth_database=None,
14720        bind_interface=None,
14721        egress_filter=None,
14722        healthy=None,
14723        hostname=None,
14724        id=None,
14725        name=None,
14726        password=None,
14727        port=None,
14728        port_override=None,
14729        proxy_cluster_id=None,
14730        secret_store_id=None,
14731        subdomain=None,
14732        tags=None,
14733        tls_required=None,
14734        username=None,
14735    ):
14736        self.auth_database = auth_database if auth_database is not None else ''
14737        '''
14738         The authentication database to use.
14739        '''
14740        self.bind_interface = bind_interface if bind_interface is not None else ''
14741        '''
14742         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14743        '''
14744        self.egress_filter = egress_filter if egress_filter is not None else ''
14745        '''
14746         A filter applied to the routing logic to pin datasource to nodes.
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.name = name if name is not None else ''
14761        '''
14762         Unique human-readable name of the Resource.
14763        '''
14764        self.password = password if password is not None else ''
14765        '''
14766         The password to authenticate with.
14767        '''
14768        self.port = port if port is not None else 0
14769        '''
14770         The port to dial to initiate a connection from the egress node to this resource.
14771        '''
14772        self.port_override = port_override if port_override is not None else 0
14773        '''
14774         The local port used by clients to connect to this resource.
14775        '''
14776        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14777        '''
14778         ID of the proxy cluster for this resource, if any.
14779        '''
14780        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14781        '''
14782         ID of the secret store containing credentials for this resource, if any.
14783        '''
14784        self.subdomain = subdomain if subdomain is not None else ''
14785        '''
14786         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14787        '''
14788        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14789        '''
14790         Tags is a map of key, value pairs.
14791        '''
14792        self.tls_required = tls_required if tls_required is not None else False
14793        '''
14794         If set, TLS must be used to connect to this resource.
14795        '''
14796        self.username = username if username is not None else ''
14797        '''
14798         The username to authenticate with.
14799        '''
14800
14801    def __repr__(self):
14802        return '<sdm.MongoHost ' + \
14803            'auth_database: ' + repr(self.auth_database) + ' ' +\
14804            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14805            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14806            'healthy: ' + repr(self.healthy) + ' ' +\
14807            'hostname: ' + repr(self.hostname) + ' ' +\
14808            'id: ' + repr(self.id) + ' ' +\
14809            'name: ' + repr(self.name) + ' ' +\
14810            'password: ' + repr(self.password) + ' ' +\
14811            'port: ' + repr(self.port) + ' ' +\
14812            'port_override: ' + repr(self.port_override) + ' ' +\
14813            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14814            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14815            'subdomain: ' + repr(self.subdomain) + ' ' +\
14816            'tags: ' + repr(self.tags) + ' ' +\
14817            'tls_required: ' + repr(self.tls_required) + ' ' +\
14818            'username: ' + repr(self.username) + ' ' +\
14819            '>'
14820
14821    def to_dict(self):
14822        return {
14823            'auth_database': self.auth_database,
14824            'bind_interface': self.bind_interface,
14825            'egress_filter': self.egress_filter,
14826            'healthy': self.healthy,
14827            'hostname': self.hostname,
14828            'id': self.id,
14829            'name': self.name,
14830            'password': self.password,
14831            'port': self.port,
14832            'port_override': self.port_override,
14833            'proxy_cluster_id': self.proxy_cluster_id,
14834            'secret_store_id': self.secret_store_id,
14835            'subdomain': self.subdomain,
14836            'tags': self.tags,
14837            'tls_required': self.tls_required,
14838            'username': self.username,
14839        }
14840
14841    @classmethod
14842    def from_dict(cls, d):
14843        return cls(
14844            auth_database=d.get('auth_database'),
14845            bind_interface=d.get('bind_interface'),
14846            egress_filter=d.get('egress_filter'),
14847            healthy=d.get('healthy'),
14848            hostname=d.get('hostname'),
14849            id=d.get('id'),
14850            name=d.get('name'),
14851            password=d.get('password'),
14852            port=d.get('port'),
14853            port_override=d.get('port_override'),
14854            proxy_cluster_id=d.get('proxy_cluster_id'),
14855            secret_store_id=d.get('secret_store_id'),
14856            subdomain=d.get('subdomain'),
14857            tags=d.get('tags'),
14858            tls_required=d.get('tls_required'),
14859            username=d.get('username'),
14860        )
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)
14717    def __init__(
14718        self,
14719        auth_database=None,
14720        bind_interface=None,
14721        egress_filter=None,
14722        healthy=None,
14723        hostname=None,
14724        id=None,
14725        name=None,
14726        password=None,
14727        port=None,
14728        port_override=None,
14729        proxy_cluster_id=None,
14730        secret_store_id=None,
14731        subdomain=None,
14732        tags=None,
14733        tls_required=None,
14734        username=None,
14735    ):
14736        self.auth_database = auth_database if auth_database is not None else ''
14737        '''
14738         The authentication database to use.
14739        '''
14740        self.bind_interface = bind_interface if bind_interface is not None else ''
14741        '''
14742         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
14743        '''
14744        self.egress_filter = egress_filter if egress_filter is not None else ''
14745        '''
14746         A filter applied to the routing logic to pin datasource to nodes.
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.name = name if name is not None else ''
14761        '''
14762         Unique human-readable name of the Resource.
14763        '''
14764        self.password = password if password is not None else ''
14765        '''
14766         The password to authenticate with.
14767        '''
14768        self.port = port if port is not None else 0
14769        '''
14770         The port to dial to initiate a connection from the egress node to this resource.
14771        '''
14772        self.port_override = port_override if port_override is not None else 0
14773        '''
14774         The local port used by clients to connect to this resource.
14775        '''
14776        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14777        '''
14778         ID of the proxy cluster for this resource, if any.
14779        '''
14780        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14781        '''
14782         ID of the secret store containing credentials for this resource, if any.
14783        '''
14784        self.subdomain = subdomain if subdomain is not None else ''
14785        '''
14786         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
14787        '''
14788        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14789        '''
14790         Tags is a map of key, value pairs.
14791        '''
14792        self.tls_required = tls_required if tls_required is not None else False
14793        '''
14794         If set, TLS must be used to connect to this resource.
14795        '''
14796        self.username = username if username is not None else ''
14797        '''
14798         The username to authenticate with.
14799        '''
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)
14821    def to_dict(self):
14822        return {
14823            'auth_database': self.auth_database,
14824            'bind_interface': self.bind_interface,
14825            'egress_filter': self.egress_filter,
14826            'healthy': self.healthy,
14827            'hostname': self.hostname,
14828            'id': self.id,
14829            'name': self.name,
14830            'password': self.password,
14831            'port': self.port,
14832            'port_override': self.port_override,
14833            'proxy_cluster_id': self.proxy_cluster_id,
14834            'secret_store_id': self.secret_store_id,
14835            'subdomain': self.subdomain,
14836            'tags': self.tags,
14837            'tls_required': self.tls_required,
14838            'username': self.username,
14839        }
@classmethod
def from_dict(cls, d)
14841    @classmethod
14842    def from_dict(cls, d):
14843        return cls(
14844            auth_database=d.get('auth_database'),
14845            bind_interface=d.get('bind_interface'),
14846            egress_filter=d.get('egress_filter'),
14847            healthy=d.get('healthy'),
14848            hostname=d.get('hostname'),
14849            id=d.get('id'),
14850            name=d.get('name'),
14851            password=d.get('password'),
14852            port=d.get('port'),
14853            port_override=d.get('port_override'),
14854            proxy_cluster_id=d.get('proxy_cluster_id'),
14855            secret_store_id=d.get('secret_store_id'),
14856            subdomain=d.get('subdomain'),
14857            tags=d.get('tags'),
14858            tls_required=d.get('tls_required'),
14859            username=d.get('username'),
14860        )
class MongoLegacyHost:
14863class MongoLegacyHost:
14864    '''
14865    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
14866    without a major version bump.
14867    '''
14868    __slots__ = [
14869        'auth_database',
14870        'bind_interface',
14871        'egress_filter',
14872        'healthy',
14873        'hostname',
14874        'id',
14875        'name',
14876        'password',
14877        'port',
14878        'port_override',
14879        'proxy_cluster_id',
14880        'secret_store_id',
14881        'subdomain',
14882        'tags',
14883        'tls_required',
14884        'username',
14885    ]
14886
14887    def __init__(
14888        self,
14889        auth_database=None,
14890        bind_interface=None,
14891        egress_filter=None,
14892        healthy=None,
14893        hostname=None,
14894        id=None,
14895        name=None,
14896        password=None,
14897        port=None,
14898        port_override=None,
14899        proxy_cluster_id=None,
14900        secret_store_id=None,
14901        subdomain=None,
14902        tags=None,
14903        tls_required=None,
14904        username=None,
14905    ):
14906        self.auth_database = auth_database if auth_database is not None else ''
14907        '''
14908         The authentication database to use.
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.healthy = healthy if healthy is not None else False
14919        '''
14920         True if the datasource is reachable and the credentials are valid.
14921        '''
14922        self.hostname = hostname if hostname is not None else ''
14923        '''
14924         The host to dial to initiate a connection from the egress node to this resource.
14925        '''
14926        self.id = id if id is not None else ''
14927        '''
14928         Unique identifier of the Resource.
14929        '''
14930        self.name = name if name is not None else ''
14931        '''
14932         Unique human-readable name of the Resource.
14933        '''
14934        self.password = password if password is not None else ''
14935        '''
14936         The password to authenticate with.
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.tls_required = tls_required if tls_required is not None else False
14963        '''
14964         If set, TLS must be used to connect to this resource.
14965        '''
14966        self.username = username if username is not None else ''
14967        '''
14968         The username to authenticate with.
14969        '''
14970
14971    def __repr__(self):
14972        return '<sdm.MongoLegacyHost ' + \
14973            'auth_database: ' + repr(self.auth_database) + ' ' +\
14974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14975            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14976            'healthy: ' + repr(self.healthy) + ' ' +\
14977            'hostname: ' + repr(self.hostname) + ' ' +\
14978            'id: ' + repr(self.id) + ' ' +\
14979            'name: ' + repr(self.name) + ' ' +\
14980            'password: ' + repr(self.password) + ' ' +\
14981            'port: ' + repr(self.port) + ' ' +\
14982            'port_override: ' + repr(self.port_override) + ' ' +\
14983            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14984            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14985            'subdomain: ' + repr(self.subdomain) + ' ' +\
14986            'tags: ' + repr(self.tags) + ' ' +\
14987            'tls_required: ' + repr(self.tls_required) + ' ' +\
14988            'username: ' + repr(self.username) + ' ' +\
14989            '>'
14990
14991    def to_dict(self):
14992        return {
14993            'auth_database': self.auth_database,
14994            'bind_interface': self.bind_interface,
14995            'egress_filter': self.egress_filter,
14996            'healthy': self.healthy,
14997            'hostname': self.hostname,
14998            'id': self.id,
14999            'name': self.name,
15000            'password': self.password,
15001            'port': self.port,
15002            'port_override': self.port_override,
15003            'proxy_cluster_id': self.proxy_cluster_id,
15004            'secret_store_id': self.secret_store_id,
15005            'subdomain': self.subdomain,
15006            'tags': self.tags,
15007            'tls_required': self.tls_required,
15008            'username': self.username,
15009        }
15010
15011    @classmethod
15012    def from_dict(cls, d):
15013        return cls(
15014            auth_database=d.get('auth_database'),
15015            bind_interface=d.get('bind_interface'),
15016            egress_filter=d.get('egress_filter'),
15017            healthy=d.get('healthy'),
15018            hostname=d.get('hostname'),
15019            id=d.get('id'),
15020            name=d.get('name'),
15021            password=d.get('password'),
15022            port=d.get('port'),
15023            port_override=d.get('port_override'),
15024            proxy_cluster_id=d.get('proxy_cluster_id'),
15025            secret_store_id=d.get('secret_store_id'),
15026            subdomain=d.get('subdomain'),
15027            tags=d.get('tags'),
15028            tls_required=d.get('tls_required'),
15029            username=d.get('username'),
15030        )

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)
14887    def __init__(
14888        self,
14889        auth_database=None,
14890        bind_interface=None,
14891        egress_filter=None,
14892        healthy=None,
14893        hostname=None,
14894        id=None,
14895        name=None,
14896        password=None,
14897        port=None,
14898        port_override=None,
14899        proxy_cluster_id=None,
14900        secret_store_id=None,
14901        subdomain=None,
14902        tags=None,
14903        tls_required=None,
14904        username=None,
14905    ):
14906        self.auth_database = auth_database if auth_database is not None else ''
14907        '''
14908         The authentication database to use.
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.healthy = healthy if healthy is not None else False
14919        '''
14920         True if the datasource is reachable and the credentials are valid.
14921        '''
14922        self.hostname = hostname if hostname is not None else ''
14923        '''
14924         The host to dial to initiate a connection from the egress node to this resource.
14925        '''
14926        self.id = id if id is not None else ''
14927        '''
14928         Unique identifier of the Resource.
14929        '''
14930        self.name = name if name is not None else ''
14931        '''
14932         Unique human-readable name of the Resource.
14933        '''
14934        self.password = password if password is not None else ''
14935        '''
14936         The password to authenticate with.
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.tls_required = tls_required if tls_required is not None else False
14963        '''
14964         If set, TLS must be used to connect to this resource.
14965        '''
14966        self.username = username if username is not None else ''
14967        '''
14968         The username to authenticate with.
14969        '''
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)
14991    def to_dict(self):
14992        return {
14993            'auth_database': self.auth_database,
14994            'bind_interface': self.bind_interface,
14995            'egress_filter': self.egress_filter,
14996            'healthy': self.healthy,
14997            'hostname': self.hostname,
14998            'id': self.id,
14999            'name': self.name,
15000            'password': self.password,
15001            'port': self.port,
15002            'port_override': self.port_override,
15003            'proxy_cluster_id': self.proxy_cluster_id,
15004            'secret_store_id': self.secret_store_id,
15005            'subdomain': self.subdomain,
15006            'tags': self.tags,
15007            'tls_required': self.tls_required,
15008            'username': self.username,
15009        }
@classmethod
def from_dict(cls, d)
15011    @classmethod
15012    def from_dict(cls, d):
15013        return cls(
15014            auth_database=d.get('auth_database'),
15015            bind_interface=d.get('bind_interface'),
15016            egress_filter=d.get('egress_filter'),
15017            healthy=d.get('healthy'),
15018            hostname=d.get('hostname'),
15019            id=d.get('id'),
15020            name=d.get('name'),
15021            password=d.get('password'),
15022            port=d.get('port'),
15023            port_override=d.get('port_override'),
15024            proxy_cluster_id=d.get('proxy_cluster_id'),
15025            secret_store_id=d.get('secret_store_id'),
15026            subdomain=d.get('subdomain'),
15027            tags=d.get('tags'),
15028            tls_required=d.get('tls_required'),
15029            username=d.get('username'),
15030        )
class MongoLegacyReplicaset:
15033class MongoLegacyReplicaset:
15034    '''
15035    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
15036    without a major version bump.
15037    '''
15038    __slots__ = [
15039        'auth_database',
15040        'bind_interface',
15041        'connect_to_replica',
15042        'egress_filter',
15043        'healthy',
15044        'hostname',
15045        'id',
15046        'name',
15047        'password',
15048        'port',
15049        'port_override',
15050        'proxy_cluster_id',
15051        'replica_set',
15052        'secret_store_id',
15053        'subdomain',
15054        'tags',
15055        'tls_required',
15056        'username',
15057    ]
15058
15059    def __init__(
15060        self,
15061        auth_database=None,
15062        bind_interface=None,
15063        connect_to_replica=None,
15064        egress_filter=None,
15065        healthy=None,
15066        hostname=None,
15067        id=None,
15068        name=None,
15069        password=None,
15070        port=None,
15071        port_override=None,
15072        proxy_cluster_id=None,
15073        replica_set=None,
15074        secret_store_id=None,
15075        subdomain=None,
15076        tags=None,
15077        tls_required=None,
15078        username=None,
15079    ):
15080        self.auth_database = auth_database if auth_database is not None else ''
15081        '''
15082         The authentication database to use.
15083        '''
15084        self.bind_interface = bind_interface if bind_interface is not None else ''
15085        '''
15086         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15087        '''
15088        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15089        '''
15090         Set to connect to a replica instead of the primary node.
15091        '''
15092        self.egress_filter = egress_filter if egress_filter is not None else ''
15093        '''
15094         A filter applied to the routing logic to pin datasource to nodes.
15095        '''
15096        self.healthy = healthy if healthy is not None else False
15097        '''
15098         True if the datasource is reachable and the credentials are valid.
15099        '''
15100        self.hostname = hostname if hostname is not None else ''
15101        '''
15102         The host to dial to initiate a connection from the egress node to this resource.
15103        '''
15104        self.id = id if id is not None else ''
15105        '''
15106         Unique identifier of the Resource.
15107        '''
15108        self.name = name if name is not None else ''
15109        '''
15110         Unique human-readable name of the Resource.
15111        '''
15112        self.password = password if password is not None else ''
15113        '''
15114         The password to authenticate with.
15115        '''
15116        self.port = port if port is not None else 0
15117        '''
15118         The port to dial to initiate a connection from the egress node to this resource.
15119        '''
15120        self.port_override = port_override if port_override is not None else 0
15121        '''
15122         The local port used by clients to connect to this resource.
15123        '''
15124        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15125        '''
15126         ID of the proxy cluster for this resource, if any.
15127        '''
15128        self.replica_set = replica_set if replica_set is not None else ''
15129        '''
15130         The name of the mongo replicaset.
15131        '''
15132        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15133        '''
15134         ID of the secret store containing credentials for this resource, if any.
15135        '''
15136        self.subdomain = subdomain if subdomain is not None else ''
15137        '''
15138         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15139        '''
15140        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15141        '''
15142         Tags is a map of key, value pairs.
15143        '''
15144        self.tls_required = tls_required if tls_required is not None else False
15145        '''
15146         If set, TLS must be used to connect to this resource.
15147        '''
15148        self.username = username if username is not None else ''
15149        '''
15150         The username to authenticate with.
15151        '''
15152
15153    def __repr__(self):
15154        return '<sdm.MongoLegacyReplicaset ' + \
15155            'auth_database: ' + repr(self.auth_database) + ' ' +\
15156            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15157            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
15158            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15159            'healthy: ' + repr(self.healthy) + ' ' +\
15160            'hostname: ' + repr(self.hostname) + ' ' +\
15161            'id: ' + repr(self.id) + ' ' +\
15162            'name: ' + repr(self.name) + ' ' +\
15163            'password: ' + repr(self.password) + ' ' +\
15164            'port: ' + repr(self.port) + ' ' +\
15165            'port_override: ' + repr(self.port_override) + ' ' +\
15166            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15167            'replica_set: ' + repr(self.replica_set) + ' ' +\
15168            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15169            'subdomain: ' + repr(self.subdomain) + ' ' +\
15170            'tags: ' + repr(self.tags) + ' ' +\
15171            'tls_required: ' + repr(self.tls_required) + ' ' +\
15172            'username: ' + repr(self.username) + ' ' +\
15173            '>'
15174
15175    def to_dict(self):
15176        return {
15177            'auth_database': self.auth_database,
15178            'bind_interface': self.bind_interface,
15179            'connect_to_replica': self.connect_to_replica,
15180            'egress_filter': self.egress_filter,
15181            'healthy': self.healthy,
15182            'hostname': self.hostname,
15183            'id': self.id,
15184            'name': self.name,
15185            'password': self.password,
15186            'port': self.port,
15187            'port_override': self.port_override,
15188            'proxy_cluster_id': self.proxy_cluster_id,
15189            'replica_set': self.replica_set,
15190            'secret_store_id': self.secret_store_id,
15191            'subdomain': self.subdomain,
15192            'tags': self.tags,
15193            'tls_required': self.tls_required,
15194            'username': self.username,
15195        }
15196
15197    @classmethod
15198    def from_dict(cls, d):
15199        return cls(
15200            auth_database=d.get('auth_database'),
15201            bind_interface=d.get('bind_interface'),
15202            connect_to_replica=d.get('connect_to_replica'),
15203            egress_filter=d.get('egress_filter'),
15204            healthy=d.get('healthy'),
15205            hostname=d.get('hostname'),
15206            id=d.get('id'),
15207            name=d.get('name'),
15208            password=d.get('password'),
15209            port=d.get('port'),
15210            port_override=d.get('port_override'),
15211            proxy_cluster_id=d.get('proxy_cluster_id'),
15212            replica_set=d.get('replica_set'),
15213            secret_store_id=d.get('secret_store_id'),
15214            subdomain=d.get('subdomain'),
15215            tags=d.get('tags'),
15216            tls_required=d.get('tls_required'),
15217            username=d.get('username'),
15218        )

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)
15059    def __init__(
15060        self,
15061        auth_database=None,
15062        bind_interface=None,
15063        connect_to_replica=None,
15064        egress_filter=None,
15065        healthy=None,
15066        hostname=None,
15067        id=None,
15068        name=None,
15069        password=None,
15070        port=None,
15071        port_override=None,
15072        proxy_cluster_id=None,
15073        replica_set=None,
15074        secret_store_id=None,
15075        subdomain=None,
15076        tags=None,
15077        tls_required=None,
15078        username=None,
15079    ):
15080        self.auth_database = auth_database if auth_database is not None else ''
15081        '''
15082         The authentication database to use.
15083        '''
15084        self.bind_interface = bind_interface if bind_interface is not None else ''
15085        '''
15086         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15087        '''
15088        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15089        '''
15090         Set to connect to a replica instead of the primary node.
15091        '''
15092        self.egress_filter = egress_filter if egress_filter is not None else ''
15093        '''
15094         A filter applied to the routing logic to pin datasource to nodes.
15095        '''
15096        self.healthy = healthy if healthy is not None else False
15097        '''
15098         True if the datasource is reachable and the credentials are valid.
15099        '''
15100        self.hostname = hostname if hostname is not None else ''
15101        '''
15102         The host to dial to initiate a connection from the egress node to this resource.
15103        '''
15104        self.id = id if id is not None else ''
15105        '''
15106         Unique identifier of the Resource.
15107        '''
15108        self.name = name if name is not None else ''
15109        '''
15110         Unique human-readable name of the Resource.
15111        '''
15112        self.password = password if password is not None else ''
15113        '''
15114         The password to authenticate with.
15115        '''
15116        self.port = port if port is not None else 0
15117        '''
15118         The port to dial to initiate a connection from the egress node to this resource.
15119        '''
15120        self.port_override = port_override if port_override is not None else 0
15121        '''
15122         The local port used by clients to connect to this resource.
15123        '''
15124        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15125        '''
15126         ID of the proxy cluster for this resource, if any.
15127        '''
15128        self.replica_set = replica_set if replica_set is not None else ''
15129        '''
15130         The name of the mongo replicaset.
15131        '''
15132        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15133        '''
15134         ID of the secret store containing credentials for this resource, if any.
15135        '''
15136        self.subdomain = subdomain if subdomain is not None else ''
15137        '''
15138         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15139        '''
15140        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15141        '''
15142         Tags is a map of key, value pairs.
15143        '''
15144        self.tls_required = tls_required if tls_required is not None else False
15145        '''
15146         If set, TLS must be used to connect to this resource.
15147        '''
15148        self.username = username if username is not None else ''
15149        '''
15150         The username to authenticate with.
15151        '''
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)
15175    def to_dict(self):
15176        return {
15177            'auth_database': self.auth_database,
15178            'bind_interface': self.bind_interface,
15179            'connect_to_replica': self.connect_to_replica,
15180            'egress_filter': self.egress_filter,
15181            'healthy': self.healthy,
15182            'hostname': self.hostname,
15183            'id': self.id,
15184            'name': self.name,
15185            'password': self.password,
15186            'port': self.port,
15187            'port_override': self.port_override,
15188            'proxy_cluster_id': self.proxy_cluster_id,
15189            'replica_set': self.replica_set,
15190            'secret_store_id': self.secret_store_id,
15191            'subdomain': self.subdomain,
15192            'tags': self.tags,
15193            'tls_required': self.tls_required,
15194            'username': self.username,
15195        }
@classmethod
def from_dict(cls, d)
15197    @classmethod
15198    def from_dict(cls, d):
15199        return cls(
15200            auth_database=d.get('auth_database'),
15201            bind_interface=d.get('bind_interface'),
15202            connect_to_replica=d.get('connect_to_replica'),
15203            egress_filter=d.get('egress_filter'),
15204            healthy=d.get('healthy'),
15205            hostname=d.get('hostname'),
15206            id=d.get('id'),
15207            name=d.get('name'),
15208            password=d.get('password'),
15209            port=d.get('port'),
15210            port_override=d.get('port_override'),
15211            proxy_cluster_id=d.get('proxy_cluster_id'),
15212            replica_set=d.get('replica_set'),
15213            secret_store_id=d.get('secret_store_id'),
15214            subdomain=d.get('subdomain'),
15215            tags=d.get('tags'),
15216            tls_required=d.get('tls_required'),
15217            username=d.get('username'),
15218        )
class MongoReplicaSet:
15221class MongoReplicaSet:
15222    __slots__ = [
15223        'auth_database',
15224        'bind_interface',
15225        'connect_to_replica',
15226        'egress_filter',
15227        'healthy',
15228        'hostname',
15229        'id',
15230        'name',
15231        'password',
15232        'port',
15233        'port_override',
15234        'proxy_cluster_id',
15235        'replica_set',
15236        'secret_store_id',
15237        'subdomain',
15238        'tags',
15239        'tls_required',
15240        'username',
15241    ]
15242
15243    def __init__(
15244        self,
15245        auth_database=None,
15246        bind_interface=None,
15247        connect_to_replica=None,
15248        egress_filter=None,
15249        healthy=None,
15250        hostname=None,
15251        id=None,
15252        name=None,
15253        password=None,
15254        port=None,
15255        port_override=None,
15256        proxy_cluster_id=None,
15257        replica_set=None,
15258        secret_store_id=None,
15259        subdomain=None,
15260        tags=None,
15261        tls_required=None,
15262        username=None,
15263    ):
15264        self.auth_database = auth_database if auth_database is not None else ''
15265        '''
15266         The authentication database to use.
15267        '''
15268        self.bind_interface = bind_interface if bind_interface is not None else ''
15269        '''
15270         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15271        '''
15272        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15273        '''
15274         Set to connect to a replica instead of the primary node.
15275        '''
15276        self.egress_filter = egress_filter if egress_filter is not None else ''
15277        '''
15278         A filter applied to the routing logic to pin datasource to nodes.
15279        '''
15280        self.healthy = healthy if healthy is not None else False
15281        '''
15282         True if the datasource is reachable and the credentials are valid.
15283        '''
15284        self.hostname = hostname if hostname is not None else ''
15285        '''
15286         The host to dial to initiate a connection from the egress node to this resource.
15287        '''
15288        self.id = id if id is not None else ''
15289        '''
15290         Unique identifier of the Resource.
15291        '''
15292        self.name = name if name is not None else ''
15293        '''
15294         Unique human-readable name of the Resource.
15295        '''
15296        self.password = password if password is not None else ''
15297        '''
15298         The password to authenticate with.
15299        '''
15300        self.port = port if port is not None else 0
15301        '''
15302         The port to dial to initiate a connection from the egress node to this resource.
15303        '''
15304        self.port_override = port_override if port_override is not None else 0
15305        '''
15306         The local port used by clients to connect to this resource.
15307        '''
15308        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15309        '''
15310         ID of the proxy cluster for this resource, if any.
15311        '''
15312        self.replica_set = replica_set if replica_set is not None else ''
15313        '''
15314         The name of the mongo replicaset.
15315        '''
15316        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15317        '''
15318         ID of the secret store containing credentials for this resource, if any.
15319        '''
15320        self.subdomain = subdomain if subdomain is not None else ''
15321        '''
15322         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15323        '''
15324        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15325        '''
15326         Tags is a map of key, value pairs.
15327        '''
15328        self.tls_required = tls_required if tls_required is not None else False
15329        '''
15330         If set, TLS must be used to connect to this resource.
15331        '''
15332        self.username = username if username is not None else ''
15333        '''
15334         The username to authenticate with.
15335        '''
15336
15337    def __repr__(self):
15338        return '<sdm.MongoReplicaSet ' + \
15339            'auth_database: ' + repr(self.auth_database) + ' ' +\
15340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15341            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
15342            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15343            'healthy: ' + repr(self.healthy) + ' ' +\
15344            'hostname: ' + repr(self.hostname) + ' ' +\
15345            'id: ' + repr(self.id) + ' ' +\
15346            'name: ' + repr(self.name) + ' ' +\
15347            'password: ' + repr(self.password) + ' ' +\
15348            'port: ' + repr(self.port) + ' ' +\
15349            'port_override: ' + repr(self.port_override) + ' ' +\
15350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15351            'replica_set: ' + repr(self.replica_set) + ' ' +\
15352            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15353            'subdomain: ' + repr(self.subdomain) + ' ' +\
15354            'tags: ' + repr(self.tags) + ' ' +\
15355            'tls_required: ' + repr(self.tls_required) + ' ' +\
15356            'username: ' + repr(self.username) + ' ' +\
15357            '>'
15358
15359    def to_dict(self):
15360        return {
15361            'auth_database': self.auth_database,
15362            'bind_interface': self.bind_interface,
15363            'connect_to_replica': self.connect_to_replica,
15364            'egress_filter': self.egress_filter,
15365            'healthy': self.healthy,
15366            'hostname': self.hostname,
15367            'id': self.id,
15368            'name': self.name,
15369            'password': self.password,
15370            'port': self.port,
15371            'port_override': self.port_override,
15372            'proxy_cluster_id': self.proxy_cluster_id,
15373            'replica_set': self.replica_set,
15374            'secret_store_id': self.secret_store_id,
15375            'subdomain': self.subdomain,
15376            'tags': self.tags,
15377            'tls_required': self.tls_required,
15378            'username': self.username,
15379        }
15380
15381    @classmethod
15382    def from_dict(cls, d):
15383        return cls(
15384            auth_database=d.get('auth_database'),
15385            bind_interface=d.get('bind_interface'),
15386            connect_to_replica=d.get('connect_to_replica'),
15387            egress_filter=d.get('egress_filter'),
15388            healthy=d.get('healthy'),
15389            hostname=d.get('hostname'),
15390            id=d.get('id'),
15391            name=d.get('name'),
15392            password=d.get('password'),
15393            port=d.get('port'),
15394            port_override=d.get('port_override'),
15395            proxy_cluster_id=d.get('proxy_cluster_id'),
15396            replica_set=d.get('replica_set'),
15397            secret_store_id=d.get('secret_store_id'),
15398            subdomain=d.get('subdomain'),
15399            tags=d.get('tags'),
15400            tls_required=d.get('tls_required'),
15401            username=d.get('username'),
15402        )
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)
15243    def __init__(
15244        self,
15245        auth_database=None,
15246        bind_interface=None,
15247        connect_to_replica=None,
15248        egress_filter=None,
15249        healthy=None,
15250        hostname=None,
15251        id=None,
15252        name=None,
15253        password=None,
15254        port=None,
15255        port_override=None,
15256        proxy_cluster_id=None,
15257        replica_set=None,
15258        secret_store_id=None,
15259        subdomain=None,
15260        tags=None,
15261        tls_required=None,
15262        username=None,
15263    ):
15264        self.auth_database = auth_database if auth_database is not None else ''
15265        '''
15266         The authentication database to use.
15267        '''
15268        self.bind_interface = bind_interface if bind_interface is not None else ''
15269        '''
15270         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15271        '''
15272        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
15273        '''
15274         Set to connect to a replica instead of the primary node.
15275        '''
15276        self.egress_filter = egress_filter if egress_filter is not None else ''
15277        '''
15278         A filter applied to the routing logic to pin datasource to nodes.
15279        '''
15280        self.healthy = healthy if healthy is not None else False
15281        '''
15282         True if the datasource is reachable and the credentials are valid.
15283        '''
15284        self.hostname = hostname if hostname is not None else ''
15285        '''
15286         The host to dial to initiate a connection from the egress node to this resource.
15287        '''
15288        self.id = id if id is not None else ''
15289        '''
15290         Unique identifier of the Resource.
15291        '''
15292        self.name = name if name is not None else ''
15293        '''
15294         Unique human-readable name of the Resource.
15295        '''
15296        self.password = password if password is not None else ''
15297        '''
15298         The password to authenticate with.
15299        '''
15300        self.port = port if port is not None else 0
15301        '''
15302         The port to dial to initiate a connection from the egress node to this resource.
15303        '''
15304        self.port_override = port_override if port_override is not None else 0
15305        '''
15306         The local port used by clients to connect to this resource.
15307        '''
15308        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15309        '''
15310         ID of the proxy cluster for this resource, if any.
15311        '''
15312        self.replica_set = replica_set if replica_set is not None else ''
15313        '''
15314         The name of the mongo replicaset.
15315        '''
15316        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15317        '''
15318         ID of the secret store containing credentials for this resource, if any.
15319        '''
15320        self.subdomain = subdomain if subdomain is not None else ''
15321        '''
15322         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15323        '''
15324        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15325        '''
15326         Tags is a map of key, value pairs.
15327        '''
15328        self.tls_required = tls_required if tls_required is not None else False
15329        '''
15330         If set, TLS must be used to connect to this resource.
15331        '''
15332        self.username = username if username is not None else ''
15333        '''
15334         The username to authenticate with.
15335        '''
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)
15359    def to_dict(self):
15360        return {
15361            'auth_database': self.auth_database,
15362            'bind_interface': self.bind_interface,
15363            'connect_to_replica': self.connect_to_replica,
15364            'egress_filter': self.egress_filter,
15365            'healthy': self.healthy,
15366            'hostname': self.hostname,
15367            'id': self.id,
15368            'name': self.name,
15369            'password': self.password,
15370            'port': self.port,
15371            'port_override': self.port_override,
15372            'proxy_cluster_id': self.proxy_cluster_id,
15373            'replica_set': self.replica_set,
15374            'secret_store_id': self.secret_store_id,
15375            'subdomain': self.subdomain,
15376            'tags': self.tags,
15377            'tls_required': self.tls_required,
15378            'username': self.username,
15379        }
@classmethod
def from_dict(cls, d)
15381    @classmethod
15382    def from_dict(cls, d):
15383        return cls(
15384            auth_database=d.get('auth_database'),
15385            bind_interface=d.get('bind_interface'),
15386            connect_to_replica=d.get('connect_to_replica'),
15387            egress_filter=d.get('egress_filter'),
15388            healthy=d.get('healthy'),
15389            hostname=d.get('hostname'),
15390            id=d.get('id'),
15391            name=d.get('name'),
15392            password=d.get('password'),
15393            port=d.get('port'),
15394            port_override=d.get('port_override'),
15395            proxy_cluster_id=d.get('proxy_cluster_id'),
15396            replica_set=d.get('replica_set'),
15397            secret_store_id=d.get('secret_store_id'),
15398            subdomain=d.get('subdomain'),
15399            tags=d.get('tags'),
15400            tls_required=d.get('tls_required'),
15401            username=d.get('username'),
15402        )
class MongoShardedCluster:
15405class MongoShardedCluster:
15406    __slots__ = [
15407        'auth_database',
15408        'bind_interface',
15409        'egress_filter',
15410        'healthy',
15411        'hostname',
15412        'id',
15413        'name',
15414        'password',
15415        'port_override',
15416        'proxy_cluster_id',
15417        'secret_store_id',
15418        'subdomain',
15419        'tags',
15420        'tls_required',
15421        'username',
15422    ]
15423
15424    def __init__(
15425        self,
15426        auth_database=None,
15427        bind_interface=None,
15428        egress_filter=None,
15429        healthy=None,
15430        hostname=None,
15431        id=None,
15432        name=None,
15433        password=None,
15434        port_override=None,
15435        proxy_cluster_id=None,
15436        secret_store_id=None,
15437        subdomain=None,
15438        tags=None,
15439        tls_required=None,
15440        username=None,
15441    ):
15442        self.auth_database = auth_database if auth_database is not None else ''
15443        '''
15444         The authentication database to use.
15445        '''
15446        self.bind_interface = bind_interface if bind_interface is not None else ''
15447        '''
15448         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15449        '''
15450        self.egress_filter = egress_filter if egress_filter is not None else ''
15451        '''
15452         A filter applied to the routing logic to pin datasource to nodes.
15453        '''
15454        self.healthy = healthy if healthy is not None else False
15455        '''
15456         True if the datasource is reachable and the credentials are valid.
15457        '''
15458        self.hostname = hostname if hostname is not None else ''
15459        '''
15460         The host to dial to initiate a connection from the egress node to this resource.
15461        '''
15462        self.id = id if id is not None else ''
15463        '''
15464         Unique identifier of the Resource.
15465        '''
15466        self.name = name if name is not None else ''
15467        '''
15468         Unique human-readable name of the Resource.
15469        '''
15470        self.password = password if password is not None else ''
15471        '''
15472         The password to authenticate with.
15473        '''
15474        self.port_override = port_override if port_override is not None else 0
15475        '''
15476         The local port used by clients to connect to this resource.
15477        '''
15478        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15479        '''
15480         ID of the proxy cluster for this resource, if any.
15481        '''
15482        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15483        '''
15484         ID of the secret store containing credentials for this resource, if any.
15485        '''
15486        self.subdomain = subdomain if subdomain is not None else ''
15487        '''
15488         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15489        '''
15490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15491        '''
15492         Tags is a map of key, value pairs.
15493        '''
15494        self.tls_required = tls_required if tls_required is not None else False
15495        '''
15496         If set, TLS must be used to connect to this resource.
15497        '''
15498        self.username = username if username is not None else ''
15499        '''
15500         The username to authenticate with.
15501        '''
15502
15503    def __repr__(self):
15504        return '<sdm.MongoShardedCluster ' + \
15505            'auth_database: ' + repr(self.auth_database) + ' ' +\
15506            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15507            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15508            'healthy: ' + repr(self.healthy) + ' ' +\
15509            'hostname: ' + repr(self.hostname) + ' ' +\
15510            'id: ' + repr(self.id) + ' ' +\
15511            'name: ' + repr(self.name) + ' ' +\
15512            'password: ' + repr(self.password) + ' ' +\
15513            'port_override: ' + repr(self.port_override) + ' ' +\
15514            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15515            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15516            'subdomain: ' + repr(self.subdomain) + ' ' +\
15517            'tags: ' + repr(self.tags) + ' ' +\
15518            'tls_required: ' + repr(self.tls_required) + ' ' +\
15519            'username: ' + repr(self.username) + ' ' +\
15520            '>'
15521
15522    def to_dict(self):
15523        return {
15524            'auth_database': self.auth_database,
15525            'bind_interface': self.bind_interface,
15526            'egress_filter': self.egress_filter,
15527            'healthy': self.healthy,
15528            'hostname': self.hostname,
15529            'id': self.id,
15530            'name': self.name,
15531            'password': self.password,
15532            'port_override': self.port_override,
15533            'proxy_cluster_id': self.proxy_cluster_id,
15534            'secret_store_id': self.secret_store_id,
15535            'subdomain': self.subdomain,
15536            'tags': self.tags,
15537            'tls_required': self.tls_required,
15538            'username': self.username,
15539        }
15540
15541    @classmethod
15542    def from_dict(cls, d):
15543        return cls(
15544            auth_database=d.get('auth_database'),
15545            bind_interface=d.get('bind_interface'),
15546            egress_filter=d.get('egress_filter'),
15547            healthy=d.get('healthy'),
15548            hostname=d.get('hostname'),
15549            id=d.get('id'),
15550            name=d.get('name'),
15551            password=d.get('password'),
15552            port_override=d.get('port_override'),
15553            proxy_cluster_id=d.get('proxy_cluster_id'),
15554            secret_store_id=d.get('secret_store_id'),
15555            subdomain=d.get('subdomain'),
15556            tags=d.get('tags'),
15557            tls_required=d.get('tls_required'),
15558            username=d.get('username'),
15559        )
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)
15424    def __init__(
15425        self,
15426        auth_database=None,
15427        bind_interface=None,
15428        egress_filter=None,
15429        healthy=None,
15430        hostname=None,
15431        id=None,
15432        name=None,
15433        password=None,
15434        port_override=None,
15435        proxy_cluster_id=None,
15436        secret_store_id=None,
15437        subdomain=None,
15438        tags=None,
15439        tls_required=None,
15440        username=None,
15441    ):
15442        self.auth_database = auth_database if auth_database is not None else ''
15443        '''
15444         The authentication database to use.
15445        '''
15446        self.bind_interface = bind_interface if bind_interface is not None else ''
15447        '''
15448         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15449        '''
15450        self.egress_filter = egress_filter if egress_filter is not None else ''
15451        '''
15452         A filter applied to the routing logic to pin datasource to nodes.
15453        '''
15454        self.healthy = healthy if healthy is not None else False
15455        '''
15456         True if the datasource is reachable and the credentials are valid.
15457        '''
15458        self.hostname = hostname if hostname is not None else ''
15459        '''
15460         The host to dial to initiate a connection from the egress node to this resource.
15461        '''
15462        self.id = id if id is not None else ''
15463        '''
15464         Unique identifier of the Resource.
15465        '''
15466        self.name = name if name is not None else ''
15467        '''
15468         Unique human-readable name of the Resource.
15469        '''
15470        self.password = password if password is not None else ''
15471        '''
15472         The password to authenticate with.
15473        '''
15474        self.port_override = port_override if port_override is not None else 0
15475        '''
15476         The local port used by clients to connect to this resource.
15477        '''
15478        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15479        '''
15480         ID of the proxy cluster for this resource, if any.
15481        '''
15482        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15483        '''
15484         ID of the secret store containing credentials for this resource, if any.
15485        '''
15486        self.subdomain = subdomain if subdomain is not None else ''
15487        '''
15488         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15489        '''
15490        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15491        '''
15492         Tags is a map of key, value pairs.
15493        '''
15494        self.tls_required = tls_required if tls_required is not None else False
15495        '''
15496         If set, TLS must be used to connect to this resource.
15497        '''
15498        self.username = username if username is not None else ''
15499        '''
15500         The username to authenticate with.
15501        '''
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)
15522    def to_dict(self):
15523        return {
15524            'auth_database': self.auth_database,
15525            'bind_interface': self.bind_interface,
15526            'egress_filter': self.egress_filter,
15527            'healthy': self.healthy,
15528            'hostname': self.hostname,
15529            'id': self.id,
15530            'name': self.name,
15531            'password': self.password,
15532            'port_override': self.port_override,
15533            'proxy_cluster_id': self.proxy_cluster_id,
15534            'secret_store_id': self.secret_store_id,
15535            'subdomain': self.subdomain,
15536            'tags': self.tags,
15537            'tls_required': self.tls_required,
15538            'username': self.username,
15539        }
@classmethod
def from_dict(cls, d)
15541    @classmethod
15542    def from_dict(cls, d):
15543        return cls(
15544            auth_database=d.get('auth_database'),
15545            bind_interface=d.get('bind_interface'),
15546            egress_filter=d.get('egress_filter'),
15547            healthy=d.get('healthy'),
15548            hostname=d.get('hostname'),
15549            id=d.get('id'),
15550            name=d.get('name'),
15551            password=d.get('password'),
15552            port_override=d.get('port_override'),
15553            proxy_cluster_id=d.get('proxy_cluster_id'),
15554            secret_store_id=d.get('secret_store_id'),
15555            subdomain=d.get('subdomain'),
15556            tags=d.get('tags'),
15557            tls_required=d.get('tls_required'),
15558            username=d.get('username'),
15559        )
class Mysql:
15562class Mysql:
15563    __slots__ = [
15564        'bind_interface',
15565        'database',
15566        'egress_filter',
15567        'healthy',
15568        'hostname',
15569        'id',
15570        'name',
15571        'password',
15572        'port',
15573        'port_override',
15574        'proxy_cluster_id',
15575        'require_native_auth',
15576        'secret_store_id',
15577        'subdomain',
15578        'tags',
15579        'use_azure_single_server_usernames',
15580        'username',
15581    ]
15582
15583    def __init__(
15584        self,
15585        bind_interface=None,
15586        database=None,
15587        egress_filter=None,
15588        healthy=None,
15589        hostname=None,
15590        id=None,
15591        name=None,
15592        password=None,
15593        port=None,
15594        port_override=None,
15595        proxy_cluster_id=None,
15596        require_native_auth=None,
15597        secret_store_id=None,
15598        subdomain=None,
15599        tags=None,
15600        use_azure_single_server_usernames=None,
15601        username=None,
15602    ):
15603        self.bind_interface = bind_interface if bind_interface is not None else ''
15604        '''
15605         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15606        '''
15607        self.database = database if database is not None else ''
15608        '''
15609         The database for healthchecks. Does not affect client requests.
15610        '''
15611        self.egress_filter = egress_filter if egress_filter is not None else ''
15612        '''
15613         A filter applied to the routing logic to pin datasource to nodes.
15614        '''
15615        self.healthy = healthy if healthy is not None else False
15616        '''
15617         True if the datasource is reachable and the credentials are valid.
15618        '''
15619        self.hostname = hostname if hostname is not None else ''
15620        '''
15621         The host to dial to initiate a connection from the egress node to this resource.
15622        '''
15623        self.id = id if id is not None else ''
15624        '''
15625         Unique identifier of the Resource.
15626        '''
15627        self.name = name if name is not None else ''
15628        '''
15629         Unique human-readable name of the Resource.
15630        '''
15631        self.password = password if password is not None else ''
15632        '''
15633         The password to authenticate with.
15634        '''
15635        self.port = port if port is not None else 0
15636        '''
15637         The port to dial to initiate a connection from the egress node to this resource.
15638        '''
15639        self.port_override = port_override if port_override is not None else 0
15640        '''
15641         The local port used by clients to connect to this resource.
15642        '''
15643        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15644        '''
15645         ID of the proxy cluster for this resource, if any.
15646        '''
15647        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15648        '''
15649         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15650        '''
15651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15652        '''
15653         ID of the secret store containing credentials for this resource, if any.
15654        '''
15655        self.subdomain = subdomain if subdomain is not None else ''
15656        '''
15657         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15658        '''
15659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15660        '''
15661         Tags is a map of key, value pairs.
15662        '''
15663        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15664        '''
15665         If true, appends the hostname to the username when hitting a database.azure.com address
15666        '''
15667        self.username = username if username is not None else ''
15668        '''
15669         The username to authenticate with.
15670        '''
15671
15672    def __repr__(self):
15673        return '<sdm.Mysql ' + \
15674            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15675            'database: ' + repr(self.database) + ' ' +\
15676            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15677            'healthy: ' + repr(self.healthy) + ' ' +\
15678            'hostname: ' + repr(self.hostname) + ' ' +\
15679            'id: ' + repr(self.id) + ' ' +\
15680            'name: ' + repr(self.name) + ' ' +\
15681            'password: ' + repr(self.password) + ' ' +\
15682            'port: ' + repr(self.port) + ' ' +\
15683            'port_override: ' + repr(self.port_override) + ' ' +\
15684            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15685            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
15686            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15687            'subdomain: ' + repr(self.subdomain) + ' ' +\
15688            'tags: ' + repr(self.tags) + ' ' +\
15689            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
15690            'username: ' + repr(self.username) + ' ' +\
15691            '>'
15692
15693    def to_dict(self):
15694        return {
15695            'bind_interface': self.bind_interface,
15696            'database': self.database,
15697            'egress_filter': self.egress_filter,
15698            'healthy': self.healthy,
15699            'hostname': self.hostname,
15700            'id': self.id,
15701            'name': self.name,
15702            'password': self.password,
15703            'port': self.port,
15704            'port_override': self.port_override,
15705            'proxy_cluster_id': self.proxy_cluster_id,
15706            'require_native_auth': self.require_native_auth,
15707            'secret_store_id': self.secret_store_id,
15708            'subdomain': self.subdomain,
15709            'tags': self.tags,
15710            'use_azure_single_server_usernames':
15711            self.use_azure_single_server_usernames,
15712            'username': self.username,
15713        }
15714
15715    @classmethod
15716    def from_dict(cls, d):
15717        return cls(
15718            bind_interface=d.get('bind_interface'),
15719            database=d.get('database'),
15720            egress_filter=d.get('egress_filter'),
15721            healthy=d.get('healthy'),
15722            hostname=d.get('hostname'),
15723            id=d.get('id'),
15724            name=d.get('name'),
15725            password=d.get('password'),
15726            port=d.get('port'),
15727            port_override=d.get('port_override'),
15728            proxy_cluster_id=d.get('proxy_cluster_id'),
15729            require_native_auth=d.get('require_native_auth'),
15730            secret_store_id=d.get('secret_store_id'),
15731            subdomain=d.get('subdomain'),
15732            tags=d.get('tags'),
15733            use_azure_single_server_usernames=d.get(
15734                'use_azure_single_server_usernames'),
15735            username=d.get('username'),
15736        )
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)
15583    def __init__(
15584        self,
15585        bind_interface=None,
15586        database=None,
15587        egress_filter=None,
15588        healthy=None,
15589        hostname=None,
15590        id=None,
15591        name=None,
15592        password=None,
15593        port=None,
15594        port_override=None,
15595        proxy_cluster_id=None,
15596        require_native_auth=None,
15597        secret_store_id=None,
15598        subdomain=None,
15599        tags=None,
15600        use_azure_single_server_usernames=None,
15601        username=None,
15602    ):
15603        self.bind_interface = bind_interface if bind_interface is not None else ''
15604        '''
15605         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15606        '''
15607        self.database = database if database is not None else ''
15608        '''
15609         The database for healthchecks. Does not affect client requests.
15610        '''
15611        self.egress_filter = egress_filter if egress_filter is not None else ''
15612        '''
15613         A filter applied to the routing logic to pin datasource to nodes.
15614        '''
15615        self.healthy = healthy if healthy is not None else False
15616        '''
15617         True if the datasource is reachable and the credentials are valid.
15618        '''
15619        self.hostname = hostname if hostname is not None else ''
15620        '''
15621         The host to dial to initiate a connection from the egress node to this resource.
15622        '''
15623        self.id = id if id is not None else ''
15624        '''
15625         Unique identifier of the Resource.
15626        '''
15627        self.name = name if name is not None else ''
15628        '''
15629         Unique human-readable name of the Resource.
15630        '''
15631        self.password = password if password is not None else ''
15632        '''
15633         The password to authenticate with.
15634        '''
15635        self.port = port if port is not None else 0
15636        '''
15637         The port to dial to initiate a connection from the egress node to this resource.
15638        '''
15639        self.port_override = port_override if port_override is not None else 0
15640        '''
15641         The local port used by clients to connect to this resource.
15642        '''
15643        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15644        '''
15645         ID of the proxy cluster for this resource, if any.
15646        '''
15647        self.require_native_auth = require_native_auth if require_native_auth is not None else False
15648        '''
15649         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
15650        '''
15651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15652        '''
15653         ID of the secret store containing credentials for this resource, if any.
15654        '''
15655        self.subdomain = subdomain if subdomain is not None else ''
15656        '''
15657         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15658        '''
15659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15660        '''
15661         Tags is a map of key, value pairs.
15662        '''
15663        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
15664        '''
15665         If true, appends the hostname to the username when hitting a database.azure.com address
15666        '''
15667        self.username = username if username is not None else ''
15668        '''
15669         The username to authenticate with.
15670        '''
bind_interface

The bind interface is the IP 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)
15693    def to_dict(self):
15694        return {
15695            'bind_interface': self.bind_interface,
15696            'database': self.database,
15697            'egress_filter': self.egress_filter,
15698            'healthy': self.healthy,
15699            'hostname': self.hostname,
15700            'id': self.id,
15701            'name': self.name,
15702            'password': self.password,
15703            'port': self.port,
15704            'port_override': self.port_override,
15705            'proxy_cluster_id': self.proxy_cluster_id,
15706            'require_native_auth': self.require_native_auth,
15707            'secret_store_id': self.secret_store_id,
15708            'subdomain': self.subdomain,
15709            'tags': self.tags,
15710            'use_azure_single_server_usernames':
15711            self.use_azure_single_server_usernames,
15712            'username': self.username,
15713        }
@classmethod
def from_dict(cls, d)
15715    @classmethod
15716    def from_dict(cls, d):
15717        return cls(
15718            bind_interface=d.get('bind_interface'),
15719            database=d.get('database'),
15720            egress_filter=d.get('egress_filter'),
15721            healthy=d.get('healthy'),
15722            hostname=d.get('hostname'),
15723            id=d.get('id'),
15724            name=d.get('name'),
15725            password=d.get('password'),
15726            port=d.get('port'),
15727            port_override=d.get('port_override'),
15728            proxy_cluster_id=d.get('proxy_cluster_id'),
15729            require_native_auth=d.get('require_native_auth'),
15730            secret_store_id=d.get('secret_store_id'),
15731            subdomain=d.get('subdomain'),
15732            tags=d.get('tags'),
15733            use_azure_single_server_usernames=d.get(
15734                'use_azure_single_server_usernames'),
15735            username=d.get('username'),
15736        )
class Neptune:
15739class Neptune:
15740    __slots__ = [
15741        'bind_interface',
15742        'egress_filter',
15743        'endpoint',
15744        'healthy',
15745        'id',
15746        'name',
15747        'port',
15748        'port_override',
15749        'proxy_cluster_id',
15750        'secret_store_id',
15751        'subdomain',
15752        'tags',
15753    ]
15754
15755    def __init__(
15756        self,
15757        bind_interface=None,
15758        egress_filter=None,
15759        endpoint=None,
15760        healthy=None,
15761        id=None,
15762        name=None,
15763        port=None,
15764        port_override=None,
15765        proxy_cluster_id=None,
15766        secret_store_id=None,
15767        subdomain=None,
15768        tags=None,
15769    ):
15770        self.bind_interface = bind_interface if bind_interface is not None else ''
15771        '''
15772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15773        '''
15774        self.egress_filter = egress_filter if egress_filter is not None else ''
15775        '''
15776         A filter applied to the routing logic to pin datasource to nodes.
15777        '''
15778        self.endpoint = endpoint if endpoint is not None else ''
15779        '''
15780         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15781        '''
15782        self.healthy = healthy if healthy is not None else False
15783        '''
15784         True if the datasource is reachable and the credentials are valid.
15785        '''
15786        self.id = id if id is not None else ''
15787        '''
15788         Unique identifier of the Resource.
15789        '''
15790        self.name = name if name is not None else ''
15791        '''
15792         Unique human-readable name of the Resource.
15793        '''
15794        self.port = port if port is not None else 0
15795        '''
15796         The port to dial to initiate a connection from the egress node to this resource.
15797        '''
15798        self.port_override = port_override if port_override is not None else 0
15799        '''
15800         The local port used by clients to connect to this resource.
15801        '''
15802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15803        '''
15804         ID of the proxy cluster for this resource, if any.
15805        '''
15806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15807        '''
15808         ID of the secret store containing credentials for this resource, if any.
15809        '''
15810        self.subdomain = subdomain if subdomain is not None else ''
15811        '''
15812         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15813        '''
15814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15815        '''
15816         Tags is a map of key, value pairs.
15817        '''
15818
15819    def __repr__(self):
15820        return '<sdm.Neptune ' + \
15821            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15822            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15823            'endpoint: ' + repr(self.endpoint) + ' ' +\
15824            'healthy: ' + repr(self.healthy) + ' ' +\
15825            'id: ' + repr(self.id) + ' ' +\
15826            'name: ' + repr(self.name) + ' ' +\
15827            'port: ' + repr(self.port) + ' ' +\
15828            'port_override: ' + repr(self.port_override) + ' ' +\
15829            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15830            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15831            'subdomain: ' + repr(self.subdomain) + ' ' +\
15832            'tags: ' + repr(self.tags) + ' ' +\
15833            '>'
15834
15835    def to_dict(self):
15836        return {
15837            'bind_interface': self.bind_interface,
15838            'egress_filter': self.egress_filter,
15839            'endpoint': self.endpoint,
15840            'healthy': self.healthy,
15841            'id': self.id,
15842            'name': self.name,
15843            'port': self.port,
15844            'port_override': self.port_override,
15845            'proxy_cluster_id': self.proxy_cluster_id,
15846            'secret_store_id': self.secret_store_id,
15847            'subdomain': self.subdomain,
15848            'tags': self.tags,
15849        }
15850
15851    @classmethod
15852    def from_dict(cls, d):
15853        return cls(
15854            bind_interface=d.get('bind_interface'),
15855            egress_filter=d.get('egress_filter'),
15856            endpoint=d.get('endpoint'),
15857            healthy=d.get('healthy'),
15858            id=d.get('id'),
15859            name=d.get('name'),
15860            port=d.get('port'),
15861            port_override=d.get('port_override'),
15862            proxy_cluster_id=d.get('proxy_cluster_id'),
15863            secret_store_id=d.get('secret_store_id'),
15864            subdomain=d.get('subdomain'),
15865            tags=d.get('tags'),
15866        )
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)
15755    def __init__(
15756        self,
15757        bind_interface=None,
15758        egress_filter=None,
15759        endpoint=None,
15760        healthy=None,
15761        id=None,
15762        name=None,
15763        port=None,
15764        port_override=None,
15765        proxy_cluster_id=None,
15766        secret_store_id=None,
15767        subdomain=None,
15768        tags=None,
15769    ):
15770        self.bind_interface = bind_interface if bind_interface is not None else ''
15771        '''
15772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15773        '''
15774        self.egress_filter = egress_filter if egress_filter is not None else ''
15775        '''
15776         A filter applied to the routing logic to pin datasource to nodes.
15777        '''
15778        self.endpoint = endpoint if endpoint is not None else ''
15779        '''
15780         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15781        '''
15782        self.healthy = healthy if healthy is not None else False
15783        '''
15784         True if the datasource is reachable and the credentials are valid.
15785        '''
15786        self.id = id if id is not None else ''
15787        '''
15788         Unique identifier of the Resource.
15789        '''
15790        self.name = name if name is not None else ''
15791        '''
15792         Unique human-readable name of the Resource.
15793        '''
15794        self.port = port if port is not None else 0
15795        '''
15796         The port to dial to initiate a connection from the egress node to this resource.
15797        '''
15798        self.port_override = port_override if port_override is not None else 0
15799        '''
15800         The local port used by clients to connect to this resource.
15801        '''
15802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15803        '''
15804         ID of the proxy cluster for this resource, if any.
15805        '''
15806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15807        '''
15808         ID of the secret store containing credentials for this resource, if any.
15809        '''
15810        self.subdomain = subdomain if subdomain is not None else ''
15811        '''
15812         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15813        '''
15814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15815        '''
15816         Tags is a map of key, value pairs.
15817        '''
bind_interface

The bind interface is the IP 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)
15835    def to_dict(self):
15836        return {
15837            'bind_interface': self.bind_interface,
15838            'egress_filter': self.egress_filter,
15839            'endpoint': self.endpoint,
15840            'healthy': self.healthy,
15841            'id': self.id,
15842            'name': self.name,
15843            'port': self.port,
15844            'port_override': self.port_override,
15845            'proxy_cluster_id': self.proxy_cluster_id,
15846            'secret_store_id': self.secret_store_id,
15847            'subdomain': self.subdomain,
15848            'tags': self.tags,
15849        }
@classmethod
def from_dict(cls, d)
15851    @classmethod
15852    def from_dict(cls, d):
15853        return cls(
15854            bind_interface=d.get('bind_interface'),
15855            egress_filter=d.get('egress_filter'),
15856            endpoint=d.get('endpoint'),
15857            healthy=d.get('healthy'),
15858            id=d.get('id'),
15859            name=d.get('name'),
15860            port=d.get('port'),
15861            port_override=d.get('port_override'),
15862            proxy_cluster_id=d.get('proxy_cluster_id'),
15863            secret_store_id=d.get('secret_store_id'),
15864            subdomain=d.get('subdomain'),
15865            tags=d.get('tags'),
15866        )
class NeptuneIAM:
15869class NeptuneIAM:
15870    __slots__ = [
15871        'access_key',
15872        'bind_interface',
15873        'egress_filter',
15874        'endpoint',
15875        'healthy',
15876        'id',
15877        'name',
15878        'port',
15879        'port_override',
15880        'proxy_cluster_id',
15881        'region',
15882        'role_arn',
15883        'role_external_id',
15884        'secret_access_key',
15885        'secret_store_id',
15886        'subdomain',
15887        'tags',
15888    ]
15889
15890    def __init__(
15891        self,
15892        access_key=None,
15893        bind_interface=None,
15894        egress_filter=None,
15895        endpoint=None,
15896        healthy=None,
15897        id=None,
15898        name=None,
15899        port=None,
15900        port_override=None,
15901        proxy_cluster_id=None,
15902        region=None,
15903        role_arn=None,
15904        role_external_id=None,
15905        secret_access_key=None,
15906        secret_store_id=None,
15907        subdomain=None,
15908        tags=None,
15909    ):
15910        self.access_key = access_key if access_key is not None else ''
15911        '''
15912         The Access Key ID to use to authenticate.
15913        '''
15914        self.bind_interface = bind_interface if bind_interface is not None else ''
15915        '''
15916         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15917        '''
15918        self.egress_filter = egress_filter if egress_filter is not None else ''
15919        '''
15920         A filter applied to the routing logic to pin datasource to nodes.
15921        '''
15922        self.endpoint = endpoint if endpoint is not None else ''
15923        '''
15924         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15925        '''
15926        self.healthy = healthy if healthy is not None else False
15927        '''
15928         True if the datasource is reachable and the credentials are valid.
15929        '''
15930        self.id = id if id is not None else ''
15931        '''
15932         Unique identifier of the Resource.
15933        '''
15934        self.name = name if name is not None else ''
15935        '''
15936         Unique human-readable name of the Resource.
15937        '''
15938        self.port = port if port is not None else 0
15939        '''
15940         The port to dial to initiate a connection from the egress node to this resource.
15941        '''
15942        self.port_override = port_override if port_override is not None else 0
15943        '''
15944         The local port used by clients to connect to this resource.
15945        '''
15946        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15947        '''
15948         ID of the proxy cluster for this resource, if any.
15949        '''
15950        self.region = region if region is not None else ''
15951        '''
15952         The AWS region to connect to.
15953        '''
15954        self.role_arn = role_arn if role_arn is not None else ''
15955        '''
15956         The role to assume after logging in.
15957        '''
15958        self.role_external_id = role_external_id if role_external_id is not None else ''
15959        '''
15960         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
15961        '''
15962        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
15963        '''
15964         The Secret Access Key to use to authenticate.
15965        '''
15966        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15967        '''
15968         ID of the secret store containing credentials for this resource, if any.
15969        '''
15970        self.subdomain = subdomain if subdomain is not None else ''
15971        '''
15972         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15973        '''
15974        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15975        '''
15976         Tags is a map of key, value pairs.
15977        '''
15978
15979    def __repr__(self):
15980        return '<sdm.NeptuneIAM ' + \
15981            'access_key: ' + repr(self.access_key) + ' ' +\
15982            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15983            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15984            'endpoint: ' + repr(self.endpoint) + ' ' +\
15985            'healthy: ' + repr(self.healthy) + ' ' +\
15986            'id: ' + repr(self.id) + ' ' +\
15987            'name: ' + repr(self.name) + ' ' +\
15988            'port: ' + repr(self.port) + ' ' +\
15989            'port_override: ' + repr(self.port_override) + ' ' +\
15990            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15991            'region: ' + repr(self.region) + ' ' +\
15992            'role_arn: ' + repr(self.role_arn) + ' ' +\
15993            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
15994            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
15995            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15996            'subdomain: ' + repr(self.subdomain) + ' ' +\
15997            'tags: ' + repr(self.tags) + ' ' +\
15998            '>'
15999
16000    def to_dict(self):
16001        return {
16002            'access_key': self.access_key,
16003            'bind_interface': self.bind_interface,
16004            'egress_filter': self.egress_filter,
16005            'endpoint': self.endpoint,
16006            'healthy': self.healthy,
16007            'id': self.id,
16008            'name': self.name,
16009            'port': self.port,
16010            'port_override': self.port_override,
16011            'proxy_cluster_id': self.proxy_cluster_id,
16012            'region': self.region,
16013            'role_arn': self.role_arn,
16014            'role_external_id': self.role_external_id,
16015            'secret_access_key': self.secret_access_key,
16016            'secret_store_id': self.secret_store_id,
16017            'subdomain': self.subdomain,
16018            'tags': self.tags,
16019        }
16020
16021    @classmethod
16022    def from_dict(cls, d):
16023        return cls(
16024            access_key=d.get('access_key'),
16025            bind_interface=d.get('bind_interface'),
16026            egress_filter=d.get('egress_filter'),
16027            endpoint=d.get('endpoint'),
16028            healthy=d.get('healthy'),
16029            id=d.get('id'),
16030            name=d.get('name'),
16031            port=d.get('port'),
16032            port_override=d.get('port_override'),
16033            proxy_cluster_id=d.get('proxy_cluster_id'),
16034            region=d.get('region'),
16035            role_arn=d.get('role_arn'),
16036            role_external_id=d.get('role_external_id'),
16037            secret_access_key=d.get('secret_access_key'),
16038            secret_store_id=d.get('secret_store_id'),
16039            subdomain=d.get('subdomain'),
16040            tags=d.get('tags'),
16041        )
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)
15890    def __init__(
15891        self,
15892        access_key=None,
15893        bind_interface=None,
15894        egress_filter=None,
15895        endpoint=None,
15896        healthy=None,
15897        id=None,
15898        name=None,
15899        port=None,
15900        port_override=None,
15901        proxy_cluster_id=None,
15902        region=None,
15903        role_arn=None,
15904        role_external_id=None,
15905        secret_access_key=None,
15906        secret_store_id=None,
15907        subdomain=None,
15908        tags=None,
15909    ):
15910        self.access_key = access_key if access_key is not None else ''
15911        '''
15912         The Access Key ID to use to authenticate.
15913        '''
15914        self.bind_interface = bind_interface if bind_interface is not None else ''
15915        '''
15916         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15917        '''
15918        self.egress_filter = egress_filter if egress_filter is not None else ''
15919        '''
15920         A filter applied to the routing logic to pin datasource to nodes.
15921        '''
15922        self.endpoint = endpoint if endpoint is not None else ''
15923        '''
15924         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
15925        '''
15926        self.healthy = healthy if healthy is not None else False
15927        '''
15928         True if the datasource is reachable and the credentials are valid.
15929        '''
15930        self.id = id if id is not None else ''
15931        '''
15932         Unique identifier of the Resource.
15933        '''
15934        self.name = name if name is not None else ''
15935        '''
15936         Unique human-readable name of the Resource.
15937        '''
15938        self.port = port if port is not None else 0
15939        '''
15940         The port to dial to initiate a connection from the egress node to this resource.
15941        '''
15942        self.port_override = port_override if port_override is not None else 0
15943        '''
15944         The local port used by clients to connect to this resource.
15945        '''
15946        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15947        '''
15948         ID of the proxy cluster for this resource, if any.
15949        '''
15950        self.region = region if region is not None else ''
15951        '''
15952         The AWS region to connect to.
15953        '''
15954        self.role_arn = role_arn if role_arn is not None else ''
15955        '''
15956         The role to assume after logging in.
15957        '''
15958        self.role_external_id = role_external_id if role_external_id is not None else ''
15959        '''
15960         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
15961        '''
15962        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
15963        '''
15964         The Secret Access Key to use to authenticate.
15965        '''
15966        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15967        '''
15968         ID of the secret store containing credentials for this resource, if any.
15969        '''
15970        self.subdomain = subdomain if subdomain is not None else ''
15971        '''
15972         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15973        '''
15974        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15975        '''
15976         Tags is a map of key, value pairs.
15977        '''
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)
16000    def to_dict(self):
16001        return {
16002            'access_key': self.access_key,
16003            'bind_interface': self.bind_interface,
16004            'egress_filter': self.egress_filter,
16005            'endpoint': self.endpoint,
16006            'healthy': self.healthy,
16007            'id': self.id,
16008            'name': self.name,
16009            'port': self.port,
16010            'port_override': self.port_override,
16011            'proxy_cluster_id': self.proxy_cluster_id,
16012            'region': self.region,
16013            'role_arn': self.role_arn,
16014            'role_external_id': self.role_external_id,
16015            'secret_access_key': self.secret_access_key,
16016            'secret_store_id': self.secret_store_id,
16017            'subdomain': self.subdomain,
16018            'tags': self.tags,
16019        }
@classmethod
def from_dict(cls, d)
16021    @classmethod
16022    def from_dict(cls, d):
16023        return cls(
16024            access_key=d.get('access_key'),
16025            bind_interface=d.get('bind_interface'),
16026            egress_filter=d.get('egress_filter'),
16027            endpoint=d.get('endpoint'),
16028            healthy=d.get('healthy'),
16029            id=d.get('id'),
16030            name=d.get('name'),
16031            port=d.get('port'),
16032            port_override=d.get('port_override'),
16033            proxy_cluster_id=d.get('proxy_cluster_id'),
16034            region=d.get('region'),
16035            role_arn=d.get('role_arn'),
16036            role_external_id=d.get('role_external_id'),
16037            secret_access_key=d.get('secret_access_key'),
16038            secret_store_id=d.get('secret_store_id'),
16039            subdomain=d.get('subdomain'),
16040            tags=d.get('tags'),
16041        )
class NodeCreateResponse:
16044class NodeCreateResponse:
16045    '''
16046         NodeCreateResponse reports how the Nodes were created in the system.
16047    '''
16048    __slots__ = [
16049        'meta',
16050        'node',
16051        'rate_limit',
16052        'token',
16053    ]
16054
16055    def __init__(
16056        self,
16057        meta=None,
16058        node=None,
16059        rate_limit=None,
16060        token=None,
16061    ):
16062        self.meta = meta if meta is not None else None
16063        '''
16064         Reserved for future use.
16065        '''
16066        self.node = node if node is not None else None
16067        '''
16068         The created Node.
16069        '''
16070        self.rate_limit = rate_limit if rate_limit is not None else None
16071        '''
16072         Rate limit information.
16073        '''
16074        self.token = token if token is not None else ''
16075        '''
16076         The auth token generated for the Node. The Node will use this token to
16077         authenticate with the strongDM API.
16078        '''
16079
16080    def __repr__(self):
16081        return '<sdm.NodeCreateResponse ' + \
16082            'meta: ' + repr(self.meta) + ' ' +\
16083            'node: ' + repr(self.node) + ' ' +\
16084            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16085            'token: ' + repr(self.token) + ' ' +\
16086            '>'
16087
16088    def to_dict(self):
16089        return {
16090            'meta': self.meta,
16091            'node': self.node,
16092            'rate_limit': self.rate_limit,
16093            'token': self.token,
16094        }
16095
16096    @classmethod
16097    def from_dict(cls, d):
16098        return cls(
16099            meta=d.get('meta'),
16100            node=d.get('node'),
16101            rate_limit=d.get('rate_limit'),
16102            token=d.get('token'),
16103        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
16055    def __init__(
16056        self,
16057        meta=None,
16058        node=None,
16059        rate_limit=None,
16060        token=None,
16061    ):
16062        self.meta = meta if meta is not None else None
16063        '''
16064         Reserved for future use.
16065        '''
16066        self.node = node if node is not None else None
16067        '''
16068         The created Node.
16069        '''
16070        self.rate_limit = rate_limit if rate_limit is not None else None
16071        '''
16072         Rate limit information.
16073        '''
16074        self.token = token if token is not None else ''
16075        '''
16076         The auth token generated for the Node. The Node will use this token to
16077         authenticate with the strongDM API.
16078        '''
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)
16088    def to_dict(self):
16089        return {
16090            'meta': self.meta,
16091            'node': self.node,
16092            'rate_limit': self.rate_limit,
16093            'token': self.token,
16094        }
@classmethod
def from_dict(cls, d)
16096    @classmethod
16097    def from_dict(cls, d):
16098        return cls(
16099            meta=d.get('meta'),
16100            node=d.get('node'),
16101            rate_limit=d.get('rate_limit'),
16102            token=d.get('token'),
16103        )
class NodeDeleteResponse:
16106class NodeDeleteResponse:
16107    '''
16108         NodeDeleteResponse returns information about a Node that was deleted.
16109    '''
16110    __slots__ = [
16111        'meta',
16112        'rate_limit',
16113    ]
16114
16115    def __init__(
16116        self,
16117        meta=None,
16118        rate_limit=None,
16119    ):
16120        self.meta = meta if meta is not None else None
16121        '''
16122         Reserved for future use.
16123        '''
16124        self.rate_limit = rate_limit if rate_limit is not None else None
16125        '''
16126         Rate limit information.
16127        '''
16128
16129    def __repr__(self):
16130        return '<sdm.NodeDeleteResponse ' + \
16131            'meta: ' + repr(self.meta) + ' ' +\
16132            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16133            '>'
16134
16135    def to_dict(self):
16136        return {
16137            'meta': self.meta,
16138            'rate_limit': self.rate_limit,
16139        }
16140
16141    @classmethod
16142    def from_dict(cls, d):
16143        return cls(
16144            meta=d.get('meta'),
16145            rate_limit=d.get('rate_limit'),
16146        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
16115    def __init__(
16116        self,
16117        meta=None,
16118        rate_limit=None,
16119    ):
16120        self.meta = meta if meta is not None else None
16121        '''
16122         Reserved for future use.
16123        '''
16124        self.rate_limit = rate_limit if rate_limit is not None else None
16125        '''
16126         Rate limit information.
16127        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16135    def to_dict(self):
16136        return {
16137            'meta': self.meta,
16138            'rate_limit': self.rate_limit,
16139        }
@classmethod
def from_dict(cls, d)
16141    @classmethod
16142    def from_dict(cls, d):
16143        return cls(
16144            meta=d.get('meta'),
16145            rate_limit=d.get('rate_limit'),
16146        )
class NodeGetResponse:
16149class NodeGetResponse:
16150    '''
16151         NodeGetResponse returns a requested Node.
16152    '''
16153    __slots__ = [
16154        'meta',
16155        'node',
16156        'rate_limit',
16157    ]
16158
16159    def __init__(
16160        self,
16161        meta=None,
16162        node=None,
16163        rate_limit=None,
16164    ):
16165        self.meta = meta if meta is not None else None
16166        '''
16167         Reserved for future use.
16168        '''
16169        self.node = node if node is not None else None
16170        '''
16171         The requested Node.
16172        '''
16173        self.rate_limit = rate_limit if rate_limit is not None else None
16174        '''
16175         Rate limit information.
16176        '''
16177
16178    def __repr__(self):
16179        return '<sdm.NodeGetResponse ' + \
16180            'meta: ' + repr(self.meta) + ' ' +\
16181            'node: ' + repr(self.node) + ' ' +\
16182            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16183            '>'
16184
16185    def to_dict(self):
16186        return {
16187            'meta': self.meta,
16188            'node': self.node,
16189            'rate_limit': self.rate_limit,
16190        }
16191
16192    @classmethod
16193    def from_dict(cls, d):
16194        return cls(
16195            meta=d.get('meta'),
16196            node=d.get('node'),
16197            rate_limit=d.get('rate_limit'),
16198        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
16159    def __init__(
16160        self,
16161        meta=None,
16162        node=None,
16163        rate_limit=None,
16164    ):
16165        self.meta = meta if meta is not None else None
16166        '''
16167         Reserved for future use.
16168        '''
16169        self.node = node if node is not None else None
16170        '''
16171         The requested Node.
16172        '''
16173        self.rate_limit = rate_limit if rate_limit is not None else None
16174        '''
16175         Rate limit information.
16176        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
16185    def to_dict(self):
16186        return {
16187            'meta': self.meta,
16188            'node': self.node,
16189            'rate_limit': self.rate_limit,
16190        }
@classmethod
def from_dict(cls, d)
16192    @classmethod
16193    def from_dict(cls, d):
16194        return cls(
16195            meta=d.get('meta'),
16196            node=d.get('node'),
16197            rate_limit=d.get('rate_limit'),
16198        )
class NodeHistory:
16201class NodeHistory:
16202    '''
16203         NodeHistory records the state of a Node at a given point in time,
16204     where every change (create, update and delete) to a Node produces an
16205     NodeHistory record.
16206    '''
16207    __slots__ = [
16208        'activity_id',
16209        'deleted_at',
16210        'node',
16211        'timestamp',
16212    ]
16213
16214    def __init__(
16215        self,
16216        activity_id=None,
16217        deleted_at=None,
16218        node=None,
16219        timestamp=None,
16220    ):
16221        self.activity_id = activity_id if activity_id is not None else ''
16222        '''
16223         The unique identifier of the Activity that produced this change to the Node.
16224         May be empty for some system-initiated updates.
16225        '''
16226        self.deleted_at = deleted_at if deleted_at is not None else None
16227        '''
16228         If this Node was deleted, the time it was deleted.
16229        '''
16230        self.node = node if node is not None else None
16231        '''
16232         The complete Node state at this time.
16233        '''
16234        self.timestamp = timestamp if timestamp is not None else None
16235        '''
16236         The time at which the Node state was recorded.
16237        '''
16238
16239    def __repr__(self):
16240        return '<sdm.NodeHistory ' + \
16241            'activity_id: ' + repr(self.activity_id) + ' ' +\
16242            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16243            'node: ' + repr(self.node) + ' ' +\
16244            'timestamp: ' + repr(self.timestamp) + ' ' +\
16245            '>'
16246
16247    def to_dict(self):
16248        return {
16249            'activity_id': self.activity_id,
16250            'deleted_at': self.deleted_at,
16251            'node': self.node,
16252            'timestamp': self.timestamp,
16253        }
16254
16255    @classmethod
16256    def from_dict(cls, d):
16257        return cls(
16258            activity_id=d.get('activity_id'),
16259            deleted_at=d.get('deleted_at'),
16260            node=d.get('node'),
16261            timestamp=d.get('timestamp'),
16262        )

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)
16214    def __init__(
16215        self,
16216        activity_id=None,
16217        deleted_at=None,
16218        node=None,
16219        timestamp=None,
16220    ):
16221        self.activity_id = activity_id if activity_id is not None else ''
16222        '''
16223         The unique identifier of the Activity that produced this change to the Node.
16224         May be empty for some system-initiated updates.
16225        '''
16226        self.deleted_at = deleted_at if deleted_at is not None else None
16227        '''
16228         If this Node was deleted, the time it was deleted.
16229        '''
16230        self.node = node if node is not None else None
16231        '''
16232         The complete Node state at this time.
16233        '''
16234        self.timestamp = timestamp if timestamp is not None else None
16235        '''
16236         The time at which the Node state was recorded.
16237        '''
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)
16247    def to_dict(self):
16248        return {
16249            'activity_id': self.activity_id,
16250            'deleted_at': self.deleted_at,
16251            'node': self.node,
16252            'timestamp': self.timestamp,
16253        }
@classmethod
def from_dict(cls, d)
16255    @classmethod
16256    def from_dict(cls, d):
16257        return cls(
16258            activity_id=d.get('activity_id'),
16259            deleted_at=d.get('deleted_at'),
16260            node=d.get('node'),
16261            timestamp=d.get('timestamp'),
16262        )
class NodeMaintenanceWindow:
16265class NodeMaintenanceWindow:
16266    __slots__ = [
16267        'cron_schedule',
16268        'require_idleness',
16269    ]
16270
16271    def __init__(
16272        self,
16273        cron_schedule=None,
16274        require_idleness=None,
16275    ):
16276        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
16277        '''
16278         Cron job syntax for when this maintenance window is active. On this schedule, associated
16279         nodes will restart if requested, provided other checks allow the restart to proceed. Times
16280         are represented in UTC.
16281         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
16282         Saturday. Not all possible inputs are supported: the month and day of month selections
16283         must be '*'.
16284        '''
16285        self.require_idleness = require_idleness if require_idleness is not None else False
16286        '''
16287         Require Idleness defines whether this window can sever live connections. If true,
16288         this window will not allow a node to be restarted unless it is serving no connections.
16289         If false, given a restart of the node has been requested (for an update, usually), the
16290         node will restart as soon as it enters an allowed day / hour combination. At least one
16291         maintenance window, out of all configured windows for a node, must have this as false.
16292        '''
16293
16294    def __repr__(self):
16295        return '<sdm.NodeMaintenanceWindow ' + \
16296            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
16297            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
16298            '>'
16299
16300    def to_dict(self):
16301        return {
16302            'cron_schedule': self.cron_schedule,
16303            'require_idleness': self.require_idleness,
16304        }
16305
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            cron_schedule=d.get('cron_schedule'),
16310            require_idleness=d.get('require_idleness'),
16311        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
16271    def __init__(
16272        self,
16273        cron_schedule=None,
16274        require_idleness=None,
16275    ):
16276        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
16277        '''
16278         Cron job syntax for when this maintenance window is active. On this schedule, associated
16279         nodes will restart if requested, provided other checks allow the restart to proceed. Times
16280         are represented in UTC.
16281         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
16282         Saturday. Not all possible inputs are supported: the month and day of month selections
16283         must be '*'.
16284        '''
16285        self.require_idleness = require_idleness if require_idleness is not None else False
16286        '''
16287         Require Idleness defines whether this window can sever live connections. If true,
16288         this window will not allow a node to be restarted unless it is serving no connections.
16289         If false, given a restart of the node has been requested (for an update, usually), the
16290         node will restart as soon as it enters an allowed day / hour combination. At least one
16291         maintenance window, out of all configured windows for a node, must have this as false.
16292        '''
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)
16300    def to_dict(self):
16301        return {
16302            'cron_schedule': self.cron_schedule,
16303            'require_idleness': self.require_idleness,
16304        }
@classmethod
def from_dict(cls, d)
16306    @classmethod
16307    def from_dict(cls, d):
16308        return cls(
16309            cron_schedule=d.get('cron_schedule'),
16310            require_idleness=d.get('require_idleness'),
16311        )
class NodeUpdateResponse:
16314class NodeUpdateResponse:
16315    '''
16316         NodeUpdateResponse returns the fields of a Node after it has been updated by
16317     a NodeUpdateRequest.
16318    '''
16319    __slots__ = [
16320        'meta',
16321        'node',
16322        'rate_limit',
16323    ]
16324
16325    def __init__(
16326        self,
16327        meta=None,
16328        node=None,
16329        rate_limit=None,
16330    ):
16331        self.meta = meta if meta is not None else None
16332        '''
16333         Reserved for future use.
16334        '''
16335        self.node = node if node is not None else None
16336        '''
16337         The updated Node.
16338        '''
16339        self.rate_limit = rate_limit if rate_limit is not None else None
16340        '''
16341         Rate limit information.
16342        '''
16343
16344    def __repr__(self):
16345        return '<sdm.NodeUpdateResponse ' + \
16346            'meta: ' + repr(self.meta) + ' ' +\
16347            'node: ' + repr(self.node) + ' ' +\
16348            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16349            '>'
16350
16351    def to_dict(self):
16352        return {
16353            'meta': self.meta,
16354            'node': self.node,
16355            'rate_limit': self.rate_limit,
16356        }
16357
16358    @classmethod
16359    def from_dict(cls, d):
16360        return cls(
16361            meta=d.get('meta'),
16362            node=d.get('node'),
16363            rate_limit=d.get('rate_limit'),
16364        )

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

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
16325    def __init__(
16326        self,
16327        meta=None,
16328        node=None,
16329        rate_limit=None,
16330    ):
16331        self.meta = meta if meta is not None else None
16332        '''
16333         Reserved for future use.
16334        '''
16335        self.node = node if node is not None else None
16336        '''
16337         The updated Node.
16338        '''
16339        self.rate_limit = rate_limit if rate_limit is not None else None
16340        '''
16341         Rate limit information.
16342        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
16351    def to_dict(self):
16352        return {
16353            'meta': self.meta,
16354            'node': self.node,
16355            'rate_limit': self.rate_limit,
16356        }
@classmethod
def from_dict(cls, d)
16358    @classmethod
16359    def from_dict(cls, d):
16360        return cls(
16361            meta=d.get('meta'),
16362            node=d.get('node'),
16363            rate_limit=d.get('rate_limit'),
16364        )
class Oracle:
16367class Oracle:
16368    __slots__ = [
16369        'bind_interface',
16370        'database',
16371        'egress_filter',
16372        'healthy',
16373        'hostname',
16374        'id',
16375        'name',
16376        'password',
16377        'port',
16378        'port_override',
16379        'proxy_cluster_id',
16380        'secret_store_id',
16381        'subdomain',
16382        'tags',
16383        'tls_required',
16384        'username',
16385    ]
16386
16387    def __init__(
16388        self,
16389        bind_interface=None,
16390        database=None,
16391        egress_filter=None,
16392        healthy=None,
16393        hostname=None,
16394        id=None,
16395        name=None,
16396        password=None,
16397        port=None,
16398        port_override=None,
16399        proxy_cluster_id=None,
16400        secret_store_id=None,
16401        subdomain=None,
16402        tags=None,
16403        tls_required=None,
16404        username=None,
16405    ):
16406        self.bind_interface = bind_interface if bind_interface is not None else ''
16407        '''
16408         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16409        '''
16410        self.database = database if database is not None else ''
16411        '''
16412         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16413        '''
16414        self.egress_filter = egress_filter if egress_filter is not None else ''
16415        '''
16416         A filter applied to the routing logic to pin datasource to nodes.
16417        '''
16418        self.healthy = healthy if healthy is not None else False
16419        '''
16420         True if the datasource is reachable and the credentials are valid.
16421        '''
16422        self.hostname = hostname if hostname is not None else ''
16423        '''
16424         The host to dial to initiate a connection from the egress node to this resource.
16425        '''
16426        self.id = id if id is not None else ''
16427        '''
16428         Unique identifier of the Resource.
16429        '''
16430        self.name = name if name is not None else ''
16431        '''
16432         Unique human-readable name of the Resource.
16433        '''
16434        self.password = password if password is not None else ''
16435        '''
16436         The password to authenticate with.
16437        '''
16438        self.port = port if port is not None else 0
16439        '''
16440         The port to dial to initiate a connection from the egress node to this resource.
16441        '''
16442        self.port_override = port_override if port_override is not None else 0
16443        '''
16444         The local port used by clients to connect to this resource.
16445        '''
16446        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16447        '''
16448         ID of the proxy cluster for this resource, if any.
16449        '''
16450        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16451        '''
16452         ID of the secret store containing credentials for this resource, if any.
16453        '''
16454        self.subdomain = subdomain if subdomain is not None else ''
16455        '''
16456         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16457        '''
16458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16459        '''
16460         Tags is a map of key, value pairs.
16461        '''
16462        self.tls_required = tls_required if tls_required is not None else False
16463        '''
16464         If set, TLS must be used to connect to this resource.
16465        '''
16466        self.username = username if username is not None else ''
16467        '''
16468         The username to authenticate with.
16469        '''
16470
16471    def __repr__(self):
16472        return '<sdm.Oracle ' + \
16473            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16474            'database: ' + repr(self.database) + ' ' +\
16475            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16476            'healthy: ' + repr(self.healthy) + ' ' +\
16477            'hostname: ' + repr(self.hostname) + ' ' +\
16478            'id: ' + repr(self.id) + ' ' +\
16479            'name: ' + repr(self.name) + ' ' +\
16480            'password: ' + repr(self.password) + ' ' +\
16481            'port: ' + repr(self.port) + ' ' +\
16482            'port_override: ' + repr(self.port_override) + ' ' +\
16483            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16484            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16485            'subdomain: ' + repr(self.subdomain) + ' ' +\
16486            'tags: ' + repr(self.tags) + ' ' +\
16487            'tls_required: ' + repr(self.tls_required) + ' ' +\
16488            'username: ' + repr(self.username) + ' ' +\
16489            '>'
16490
16491    def to_dict(self):
16492        return {
16493            'bind_interface': self.bind_interface,
16494            'database': self.database,
16495            'egress_filter': self.egress_filter,
16496            'healthy': self.healthy,
16497            'hostname': self.hostname,
16498            'id': self.id,
16499            'name': self.name,
16500            'password': self.password,
16501            'port': self.port,
16502            'port_override': self.port_override,
16503            'proxy_cluster_id': self.proxy_cluster_id,
16504            'secret_store_id': self.secret_store_id,
16505            'subdomain': self.subdomain,
16506            'tags': self.tags,
16507            'tls_required': self.tls_required,
16508            'username': self.username,
16509        }
16510
16511    @classmethod
16512    def from_dict(cls, d):
16513        return cls(
16514            bind_interface=d.get('bind_interface'),
16515            database=d.get('database'),
16516            egress_filter=d.get('egress_filter'),
16517            healthy=d.get('healthy'),
16518            hostname=d.get('hostname'),
16519            id=d.get('id'),
16520            name=d.get('name'),
16521            password=d.get('password'),
16522            port=d.get('port'),
16523            port_override=d.get('port_override'),
16524            proxy_cluster_id=d.get('proxy_cluster_id'),
16525            secret_store_id=d.get('secret_store_id'),
16526            subdomain=d.get('subdomain'),
16527            tags=d.get('tags'),
16528            tls_required=d.get('tls_required'),
16529            username=d.get('username'),
16530        )
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)
16387    def __init__(
16388        self,
16389        bind_interface=None,
16390        database=None,
16391        egress_filter=None,
16392        healthy=None,
16393        hostname=None,
16394        id=None,
16395        name=None,
16396        password=None,
16397        port=None,
16398        port_override=None,
16399        proxy_cluster_id=None,
16400        secret_store_id=None,
16401        subdomain=None,
16402        tags=None,
16403        tls_required=None,
16404        username=None,
16405    ):
16406        self.bind_interface = bind_interface if bind_interface is not None else ''
16407        '''
16408         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16409        '''
16410        self.database = database if database is not None else ''
16411        '''
16412         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16413        '''
16414        self.egress_filter = egress_filter if egress_filter is not None else ''
16415        '''
16416         A filter applied to the routing logic to pin datasource to nodes.
16417        '''
16418        self.healthy = healthy if healthy is not None else False
16419        '''
16420         True if the datasource is reachable and the credentials are valid.
16421        '''
16422        self.hostname = hostname if hostname is not None else ''
16423        '''
16424         The host to dial to initiate a connection from the egress node to this resource.
16425        '''
16426        self.id = id if id is not None else ''
16427        '''
16428         Unique identifier of the Resource.
16429        '''
16430        self.name = name if name is not None else ''
16431        '''
16432         Unique human-readable name of the Resource.
16433        '''
16434        self.password = password if password is not None else ''
16435        '''
16436         The password to authenticate with.
16437        '''
16438        self.port = port if port is not None else 0
16439        '''
16440         The port to dial to initiate a connection from the egress node to this resource.
16441        '''
16442        self.port_override = port_override if port_override is not None else 0
16443        '''
16444         The local port used by clients to connect to this resource.
16445        '''
16446        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16447        '''
16448         ID of the proxy cluster for this resource, if any.
16449        '''
16450        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16451        '''
16452         ID of the secret store containing credentials for this resource, if any.
16453        '''
16454        self.subdomain = subdomain if subdomain is not None else ''
16455        '''
16456         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16457        '''
16458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16459        '''
16460         Tags is a map of key, value pairs.
16461        '''
16462        self.tls_required = tls_required if tls_required is not None else False
16463        '''
16464         If set, TLS must be used to connect to this resource.
16465        '''
16466        self.username = username if username is not None else ''
16467        '''
16468         The username to authenticate with.
16469        '''
bind_interface

The bind interface is the IP 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)
16491    def to_dict(self):
16492        return {
16493            'bind_interface': self.bind_interface,
16494            'database': self.database,
16495            'egress_filter': self.egress_filter,
16496            'healthy': self.healthy,
16497            'hostname': self.hostname,
16498            'id': self.id,
16499            'name': self.name,
16500            'password': self.password,
16501            'port': self.port,
16502            'port_override': self.port_override,
16503            'proxy_cluster_id': self.proxy_cluster_id,
16504            'secret_store_id': self.secret_store_id,
16505            'subdomain': self.subdomain,
16506            'tags': self.tags,
16507            'tls_required': self.tls_required,
16508            'username': self.username,
16509        }
@classmethod
def from_dict(cls, d)
16511    @classmethod
16512    def from_dict(cls, d):
16513        return cls(
16514            bind_interface=d.get('bind_interface'),
16515            database=d.get('database'),
16516            egress_filter=d.get('egress_filter'),
16517            healthy=d.get('healthy'),
16518            hostname=d.get('hostname'),
16519            id=d.get('id'),
16520            name=d.get('name'),
16521            password=d.get('password'),
16522            port=d.get('port'),
16523            port_override=d.get('port_override'),
16524            proxy_cluster_id=d.get('proxy_cluster_id'),
16525            secret_store_id=d.get('secret_store_id'),
16526            subdomain=d.get('subdomain'),
16527            tags=d.get('tags'),
16528            tls_required=d.get('tls_required'),
16529            username=d.get('username'),
16530        )
class Organization:
16533class Organization:
16534    __slots__ = [
16535        'auth_provider',
16536        'created_at',
16537        'device_trust_enabled',
16538        'device_trust_provider',
16539        'enforce_single_session',
16540        'idle_timeout',
16541        'idle_timeout_enabled',
16542        'kind',
16543        'log_local_encoder',
16544        'log_local_format',
16545        'log_local_storage',
16546        'log_remote_encoder',
16547        'log_socket_path',
16548        'log_tcp_address',
16549        'loopback_range',
16550        'mfa_enabled',
16551        'mfa_provider',
16552        'name',
16553        'require_secret_store',
16554        'saml_metadata_url',
16555        'scim_provider',
16556        'sensitive_label',
16557        'session_timeout',
16558        'session_timeout_enabled',
16559        'ssh_certificate_authority_public_key',
16560        'ssh_certificate_authority_updated_at',
16561        'updated_at',
16562        'websites_subdomain',
16563    ]
16564
16565    def __init__(
16566        self,
16567        auth_provider=None,
16568        created_at=None,
16569        device_trust_enabled=None,
16570        device_trust_provider=None,
16571        enforce_single_session=None,
16572        idle_timeout=None,
16573        idle_timeout_enabled=None,
16574        kind=None,
16575        log_local_encoder=None,
16576        log_local_format=None,
16577        log_local_storage=None,
16578        log_remote_encoder=None,
16579        log_socket_path=None,
16580        log_tcp_address=None,
16581        loopback_range=None,
16582        mfa_enabled=None,
16583        mfa_provider=None,
16584        name=None,
16585        require_secret_store=None,
16586        saml_metadata_url=None,
16587        scim_provider=None,
16588        sensitive_label=None,
16589        session_timeout=None,
16590        session_timeout_enabled=None,
16591        ssh_certificate_authority_public_key=None,
16592        ssh_certificate_authority_updated_at=None,
16593        updated_at=None,
16594        websites_subdomain=None,
16595    ):
16596        self.auth_provider = auth_provider if auth_provider is not None else ''
16597        '''
16598         The Organization's authentication provider, one of the AuthProvider constants.
16599        '''
16600        self.created_at = created_at if created_at is not None else None
16601        '''
16602         The time at which the Organization was created.
16603        '''
16604        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
16605        '''
16606         Indicates if the Organization has device trust enabled.
16607        '''
16608        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
16609        '''
16610         The Organization's device trust provider, one of the DeviceTrustProvider constants.
16611        '''
16612        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
16613        '''
16614         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
16615        '''
16616        self.idle_timeout = idle_timeout if idle_timeout is not None else None
16617        '''
16618         The Organization's idle timeout, if enabled.
16619        '''
16620        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
16621        '''
16622         Indicates if the Organization has idle timeouts enabled.
16623        '''
16624        self.kind = kind if kind is not None else ''
16625        '''
16626         The Organization's type, one of the OrgKind constants.
16627        '''
16628        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
16629        '''
16630         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16631        '''
16632        self.log_local_format = log_local_format if log_local_format is not None else ''
16633        '''
16634         The Organization's local log format, one of the LogLocalFormat constants.
16635        '''
16636        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
16637        '''
16638         The Organization's local log storage, one of the LogLocalStorage constants.
16639        '''
16640        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
16641        '''
16642         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16643        '''
16644        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
16645        '''
16646         The Organization's socket path for Socket local log storage.
16647        '''
16648        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
16649        '''
16650         The Organization's TCP address for TCP or Syslog local log storage.
16651        '''
16652        self.loopback_range = loopback_range if loopback_range is not None else ''
16653        '''
16654         The Organization's loopback range.
16655        '''
16656        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
16657        '''
16658         Indicates if the Organization has multi-factor authentication enabled.
16659        '''
16660        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
16661        '''
16662         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
16663        '''
16664        self.name = name if name is not None else ''
16665        '''
16666         The Organization's name.
16667        '''
16668        self.require_secret_store = require_secret_store if require_secret_store is not None else False
16669        '''
16670         Indicates if the Organization requires secret stores.
16671        '''
16672        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
16673        '''
16674         The Organization's URL for SAML metadata.
16675        '''
16676        self.scim_provider = scim_provider if scim_provider is not None else ''
16677        '''
16678         The Organization's SCIM provider, one of the SCIMProvider constants.
16679        '''
16680        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
16681        '''
16682         The Organization's label for sensitive resources.
16683        '''
16684        self.session_timeout = session_timeout if session_timeout is not None else None
16685        '''
16686         The Organization's session timeout, if enabled.
16687        '''
16688        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
16689        '''
16690         Indicates if the Organization has session timeouts enabled.
16691        '''
16692        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
16693        '''
16694         The Organization's SSH certificate authority public key.
16695        '''
16696        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
16697        '''
16698         The time at which the Organization's SSH certificate authority was last updated.
16699        '''
16700        self.updated_at = updated_at if updated_at is not None else None
16701        '''
16702         The time at which the Organization was last updated.
16703        '''
16704        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
16705        '''
16706         The Organization's web site domain.
16707        '''
16708
16709    def __repr__(self):
16710        return '<sdm.Organization ' + \
16711            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
16712            'created_at: ' + repr(self.created_at) + ' ' +\
16713            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
16714            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
16715            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
16716            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
16717            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
16718            'kind: ' + repr(self.kind) + ' ' +\
16719            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
16720            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
16721            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
16722            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
16723            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
16724            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
16725            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
16726            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
16727            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
16728            'name: ' + repr(self.name) + ' ' +\
16729            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
16730            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
16731            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
16732            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
16733            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
16734            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
16735            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
16736            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
16737            'updated_at: ' + repr(self.updated_at) + ' ' +\
16738            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
16739            '>'
16740
16741    def to_dict(self):
16742        return {
16743            'auth_provider': self.auth_provider,
16744            'created_at': self.created_at,
16745            'device_trust_enabled': self.device_trust_enabled,
16746            'device_trust_provider': self.device_trust_provider,
16747            'enforce_single_session': self.enforce_single_session,
16748            'idle_timeout': self.idle_timeout,
16749            'idle_timeout_enabled': self.idle_timeout_enabled,
16750            'kind': self.kind,
16751            'log_local_encoder': self.log_local_encoder,
16752            'log_local_format': self.log_local_format,
16753            'log_local_storage': self.log_local_storage,
16754            'log_remote_encoder': self.log_remote_encoder,
16755            'log_socket_path': self.log_socket_path,
16756            'log_tcp_address': self.log_tcp_address,
16757            'loopback_range': self.loopback_range,
16758            'mfa_enabled': self.mfa_enabled,
16759            'mfa_provider': self.mfa_provider,
16760            'name': self.name,
16761            'require_secret_store': self.require_secret_store,
16762            'saml_metadata_url': self.saml_metadata_url,
16763            'scim_provider': self.scim_provider,
16764            'sensitive_label': self.sensitive_label,
16765            'session_timeout': self.session_timeout,
16766            'session_timeout_enabled': self.session_timeout_enabled,
16767            'ssh_certificate_authority_public_key':
16768            self.ssh_certificate_authority_public_key,
16769            'ssh_certificate_authority_updated_at':
16770            self.ssh_certificate_authority_updated_at,
16771            'updated_at': self.updated_at,
16772            'websites_subdomain': self.websites_subdomain,
16773        }
16774
16775    @classmethod
16776    def from_dict(cls, d):
16777        return cls(
16778            auth_provider=d.get('auth_provider'),
16779            created_at=d.get('created_at'),
16780            device_trust_enabled=d.get('device_trust_enabled'),
16781            device_trust_provider=d.get('device_trust_provider'),
16782            enforce_single_session=d.get('enforce_single_session'),
16783            idle_timeout=d.get('idle_timeout'),
16784            idle_timeout_enabled=d.get('idle_timeout_enabled'),
16785            kind=d.get('kind'),
16786            log_local_encoder=d.get('log_local_encoder'),
16787            log_local_format=d.get('log_local_format'),
16788            log_local_storage=d.get('log_local_storage'),
16789            log_remote_encoder=d.get('log_remote_encoder'),
16790            log_socket_path=d.get('log_socket_path'),
16791            log_tcp_address=d.get('log_tcp_address'),
16792            loopback_range=d.get('loopback_range'),
16793            mfa_enabled=d.get('mfa_enabled'),
16794            mfa_provider=d.get('mfa_provider'),
16795            name=d.get('name'),
16796            require_secret_store=d.get('require_secret_store'),
16797            saml_metadata_url=d.get('saml_metadata_url'),
16798            scim_provider=d.get('scim_provider'),
16799            sensitive_label=d.get('sensitive_label'),
16800            session_timeout=d.get('session_timeout'),
16801            session_timeout_enabled=d.get('session_timeout_enabled'),
16802            ssh_certificate_authority_public_key=d.get(
16803                'ssh_certificate_authority_public_key'),
16804            ssh_certificate_authority_updated_at=d.get(
16805                'ssh_certificate_authority_updated_at'),
16806            updated_at=d.get('updated_at'),
16807            websites_subdomain=d.get('websites_subdomain'),
16808        )
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)
16565    def __init__(
16566        self,
16567        auth_provider=None,
16568        created_at=None,
16569        device_trust_enabled=None,
16570        device_trust_provider=None,
16571        enforce_single_session=None,
16572        idle_timeout=None,
16573        idle_timeout_enabled=None,
16574        kind=None,
16575        log_local_encoder=None,
16576        log_local_format=None,
16577        log_local_storage=None,
16578        log_remote_encoder=None,
16579        log_socket_path=None,
16580        log_tcp_address=None,
16581        loopback_range=None,
16582        mfa_enabled=None,
16583        mfa_provider=None,
16584        name=None,
16585        require_secret_store=None,
16586        saml_metadata_url=None,
16587        scim_provider=None,
16588        sensitive_label=None,
16589        session_timeout=None,
16590        session_timeout_enabled=None,
16591        ssh_certificate_authority_public_key=None,
16592        ssh_certificate_authority_updated_at=None,
16593        updated_at=None,
16594        websites_subdomain=None,
16595    ):
16596        self.auth_provider = auth_provider if auth_provider is not None else ''
16597        '''
16598         The Organization's authentication provider, one of the AuthProvider constants.
16599        '''
16600        self.created_at = created_at if created_at is not None else None
16601        '''
16602         The time at which the Organization was created.
16603        '''
16604        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
16605        '''
16606         Indicates if the Organization has device trust enabled.
16607        '''
16608        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
16609        '''
16610         The Organization's device trust provider, one of the DeviceTrustProvider constants.
16611        '''
16612        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
16613        '''
16614         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
16615        '''
16616        self.idle_timeout = idle_timeout if idle_timeout is not None else None
16617        '''
16618         The Organization's idle timeout, if enabled.
16619        '''
16620        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
16621        '''
16622         Indicates if the Organization has idle timeouts enabled.
16623        '''
16624        self.kind = kind if kind is not None else ''
16625        '''
16626         The Organization's type, one of the OrgKind constants.
16627        '''
16628        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
16629        '''
16630         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16631        '''
16632        self.log_local_format = log_local_format if log_local_format is not None else ''
16633        '''
16634         The Organization's local log format, one of the LogLocalFormat constants.
16635        '''
16636        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
16637        '''
16638         The Organization's local log storage, one of the LogLocalStorage constants.
16639        '''
16640        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
16641        '''
16642         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16643        '''
16644        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
16645        '''
16646         The Organization's socket path for Socket local log storage.
16647        '''
16648        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
16649        '''
16650         The Organization's TCP address for TCP or Syslog local log storage.
16651        '''
16652        self.loopback_range = loopback_range if loopback_range is not None else ''
16653        '''
16654         The Organization's loopback range.
16655        '''
16656        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
16657        '''
16658         Indicates if the Organization has multi-factor authentication enabled.
16659        '''
16660        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
16661        '''
16662         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
16663        '''
16664        self.name = name if name is not None else ''
16665        '''
16666         The Organization's name.
16667        '''
16668        self.require_secret_store = require_secret_store if require_secret_store is not None else False
16669        '''
16670         Indicates if the Organization requires secret stores.
16671        '''
16672        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
16673        '''
16674         The Organization's URL for SAML metadata.
16675        '''
16676        self.scim_provider = scim_provider if scim_provider is not None else ''
16677        '''
16678         The Organization's SCIM provider, one of the SCIMProvider constants.
16679        '''
16680        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
16681        '''
16682         The Organization's label for sensitive resources.
16683        '''
16684        self.session_timeout = session_timeout if session_timeout is not None else None
16685        '''
16686         The Organization's session timeout, if enabled.
16687        '''
16688        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
16689        '''
16690         Indicates if the Organization has session timeouts enabled.
16691        '''
16692        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
16693        '''
16694         The Organization's SSH certificate authority public key.
16695        '''
16696        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
16697        '''
16698         The time at which the Organization's SSH certificate authority was last updated.
16699        '''
16700        self.updated_at = updated_at if updated_at is not None else None
16701        '''
16702         The time at which the Organization was last updated.
16703        '''
16704        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
16705        '''
16706         The Organization's web site domain.
16707        '''
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)
16741    def to_dict(self):
16742        return {
16743            'auth_provider': self.auth_provider,
16744            'created_at': self.created_at,
16745            'device_trust_enabled': self.device_trust_enabled,
16746            'device_trust_provider': self.device_trust_provider,
16747            'enforce_single_session': self.enforce_single_session,
16748            'idle_timeout': self.idle_timeout,
16749            'idle_timeout_enabled': self.idle_timeout_enabled,
16750            'kind': self.kind,
16751            'log_local_encoder': self.log_local_encoder,
16752            'log_local_format': self.log_local_format,
16753            'log_local_storage': self.log_local_storage,
16754            'log_remote_encoder': self.log_remote_encoder,
16755            'log_socket_path': self.log_socket_path,
16756            'log_tcp_address': self.log_tcp_address,
16757            'loopback_range': self.loopback_range,
16758            'mfa_enabled': self.mfa_enabled,
16759            'mfa_provider': self.mfa_provider,
16760            'name': self.name,
16761            'require_secret_store': self.require_secret_store,
16762            'saml_metadata_url': self.saml_metadata_url,
16763            'scim_provider': self.scim_provider,
16764            'sensitive_label': self.sensitive_label,
16765            'session_timeout': self.session_timeout,
16766            'session_timeout_enabled': self.session_timeout_enabled,
16767            'ssh_certificate_authority_public_key':
16768            self.ssh_certificate_authority_public_key,
16769            'ssh_certificate_authority_updated_at':
16770            self.ssh_certificate_authority_updated_at,
16771            'updated_at': self.updated_at,
16772            'websites_subdomain': self.websites_subdomain,
16773        }
@classmethod
def from_dict(cls, d)
16775    @classmethod
16776    def from_dict(cls, d):
16777        return cls(
16778            auth_provider=d.get('auth_provider'),
16779            created_at=d.get('created_at'),
16780            device_trust_enabled=d.get('device_trust_enabled'),
16781            device_trust_provider=d.get('device_trust_provider'),
16782            enforce_single_session=d.get('enforce_single_session'),
16783            idle_timeout=d.get('idle_timeout'),
16784            idle_timeout_enabled=d.get('idle_timeout_enabled'),
16785            kind=d.get('kind'),
16786            log_local_encoder=d.get('log_local_encoder'),
16787            log_local_format=d.get('log_local_format'),
16788            log_local_storage=d.get('log_local_storage'),
16789            log_remote_encoder=d.get('log_remote_encoder'),
16790            log_socket_path=d.get('log_socket_path'),
16791            log_tcp_address=d.get('log_tcp_address'),
16792            loopback_range=d.get('loopback_range'),
16793            mfa_enabled=d.get('mfa_enabled'),
16794            mfa_provider=d.get('mfa_provider'),
16795            name=d.get('name'),
16796            require_secret_store=d.get('require_secret_store'),
16797            saml_metadata_url=d.get('saml_metadata_url'),
16798            scim_provider=d.get('scim_provider'),
16799            sensitive_label=d.get('sensitive_label'),
16800            session_timeout=d.get('session_timeout'),
16801            session_timeout_enabled=d.get('session_timeout_enabled'),
16802            ssh_certificate_authority_public_key=d.get(
16803                'ssh_certificate_authority_public_key'),
16804            ssh_certificate_authority_updated_at=d.get(
16805                'ssh_certificate_authority_updated_at'),
16806            updated_at=d.get('updated_at'),
16807            websites_subdomain=d.get('websites_subdomain'),
16808        )
class OrganizationHistoryRecord:
16811class OrganizationHistoryRecord:
16812    '''
16813         OrganizationHistoryRecord records the state of an Organization at a given point in time,
16814     where every change to an Organization produces an OrganizationHistoryRecord.
16815    '''
16816    __slots__ = [
16817        'activity_id',
16818        'organization',
16819        'timestamp',
16820    ]
16821
16822    def __init__(
16823        self,
16824        activity_id=None,
16825        organization=None,
16826        timestamp=None,
16827    ):
16828        self.activity_id = activity_id if activity_id is not None else ''
16829        '''
16830         The unique identifier of the Activity that produced this change to the Organization.
16831         May be empty for some system-initiated organization updates.
16832        '''
16833        self.organization = organization if organization is not None else None
16834        '''
16835         The complete Organization state at this time.
16836        '''
16837        self.timestamp = timestamp if timestamp is not None else None
16838        '''
16839         The time at which the Organization state was recorded.
16840        '''
16841
16842    def __repr__(self):
16843        return '<sdm.OrganizationHistoryRecord ' + \
16844            'activity_id: ' + repr(self.activity_id) + ' ' +\
16845            'organization: ' + repr(self.organization) + ' ' +\
16846            'timestamp: ' + repr(self.timestamp) + ' ' +\
16847            '>'
16848
16849    def to_dict(self):
16850        return {
16851            'activity_id': self.activity_id,
16852            'organization': self.organization,
16853            'timestamp': self.timestamp,
16854        }
16855
16856    @classmethod
16857    def from_dict(cls, d):
16858        return cls(
16859            activity_id=d.get('activity_id'),
16860            organization=d.get('organization'),
16861            timestamp=d.get('timestamp'),
16862        )

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)
16822    def __init__(
16823        self,
16824        activity_id=None,
16825        organization=None,
16826        timestamp=None,
16827    ):
16828        self.activity_id = activity_id if activity_id is not None else ''
16829        '''
16830         The unique identifier of the Activity that produced this change to the Organization.
16831         May be empty for some system-initiated organization updates.
16832        '''
16833        self.organization = organization if organization is not None else None
16834        '''
16835         The complete Organization state at this time.
16836        '''
16837        self.timestamp = timestamp if timestamp is not None else None
16838        '''
16839         The time at which the Organization state was recorded.
16840        '''
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)
16849    def to_dict(self):
16850        return {
16851            'activity_id': self.activity_id,
16852            'organization': self.organization,
16853            'timestamp': self.timestamp,
16854        }
@classmethod
def from_dict(cls, d)
16856    @classmethod
16857    def from_dict(cls, d):
16858        return cls(
16859            activity_id=d.get('activity_id'),
16860            organization=d.get('organization'),
16861            timestamp=d.get('timestamp'),
16862        )
class PeeringGroup:
16865class PeeringGroup:
16866    '''
16867         PeeringGroups are the building blocks used for explicit network topology making.
16868     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
16869    '''
16870    __slots__ = [
16871        'id',
16872        'name',
16873    ]
16874
16875    def __init__(
16876        self,
16877        id=None,
16878        name=None,
16879    ):
16880        self.id = id if id is not None else ''
16881        '''
16882         Unique identifier of the PeeringGroup.
16883        '''
16884        self.name = name if name is not None else ''
16885        '''
16886         Unique human-readable name of the PeeringGroup.
16887        '''
16888
16889    def __repr__(self):
16890        return '<sdm.PeeringGroup ' + \
16891            'id: ' + repr(self.id) + ' ' +\
16892            'name: ' + repr(self.name) + ' ' +\
16893            '>'
16894
16895    def to_dict(self):
16896        return {
16897            'id': self.id,
16898            'name': self.name,
16899        }
16900
16901    @classmethod
16902    def from_dict(cls, d):
16903        return cls(
16904            id=d.get('id'),
16905            name=d.get('name'),
16906        )

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)
16875    def __init__(
16876        self,
16877        id=None,
16878        name=None,
16879    ):
16880        self.id = id if id is not None else ''
16881        '''
16882         Unique identifier of the PeeringGroup.
16883        '''
16884        self.name = name if name is not None else ''
16885        '''
16886         Unique human-readable name of the PeeringGroup.
16887        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
16895    def to_dict(self):
16896        return {
16897            'id': self.id,
16898            'name': self.name,
16899        }
@classmethod
def from_dict(cls, d)
16901    @classmethod
16902    def from_dict(cls, d):
16903        return cls(
16904            id=d.get('id'),
16905            name=d.get('name'),
16906        )
class PeeringGroupCreateResponse:
16909class PeeringGroupCreateResponse:
16910    '''
16911         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
16912    '''
16913    __slots__ = [
16914        'meta',
16915        'peering_group',
16916        'rate_limit',
16917    ]
16918
16919    def __init__(
16920        self,
16921        meta=None,
16922        peering_group=None,
16923        rate_limit=None,
16924    ):
16925        self.meta = meta if meta is not None else None
16926        '''
16927         Reserved for future use.
16928        '''
16929        self.peering_group = peering_group if peering_group is not None else None
16930        '''
16931         The created PeeringGroup.
16932        '''
16933        self.rate_limit = rate_limit if rate_limit is not None else None
16934        '''
16935         Rate limit information.
16936        '''
16937
16938    def __repr__(self):
16939        return '<sdm.PeeringGroupCreateResponse ' + \
16940            'meta: ' + repr(self.meta) + ' ' +\
16941            'peering_group: ' + repr(self.peering_group) + ' ' +\
16942            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16943            '>'
16944
16945    def to_dict(self):
16946        return {
16947            'meta': self.meta,
16948            'peering_group': self.peering_group,
16949            'rate_limit': self.rate_limit,
16950        }
16951
16952    @classmethod
16953    def from_dict(cls, d):
16954        return cls(
16955            meta=d.get('meta'),
16956            peering_group=d.get('peering_group'),
16957            rate_limit=d.get('rate_limit'),
16958        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
16919    def __init__(
16920        self,
16921        meta=None,
16922        peering_group=None,
16923        rate_limit=None,
16924    ):
16925        self.meta = meta if meta is not None else None
16926        '''
16927         Reserved for future use.
16928        '''
16929        self.peering_group = peering_group if peering_group is not None else None
16930        '''
16931         The created PeeringGroup.
16932        '''
16933        self.rate_limit = rate_limit if rate_limit is not None else None
16934        '''
16935         Rate limit information.
16936        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
16945    def to_dict(self):
16946        return {
16947            'meta': self.meta,
16948            'peering_group': self.peering_group,
16949            'rate_limit': self.rate_limit,
16950        }
@classmethod
def from_dict(cls, d)
16952    @classmethod
16953    def from_dict(cls, d):
16954        return cls(
16955            meta=d.get('meta'),
16956            peering_group=d.get('peering_group'),
16957            rate_limit=d.get('rate_limit'),
16958        )
class PeeringGroupDeleteResponse:
16961class PeeringGroupDeleteResponse:
16962    '''
16963         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
16964    '''
16965    __slots__ = [
16966        'meta',
16967        'rate_limit',
16968    ]
16969
16970    def __init__(
16971        self,
16972        meta=None,
16973        rate_limit=None,
16974    ):
16975        self.meta = meta if meta is not None else None
16976        '''
16977         Reserved for future use.
16978        '''
16979        self.rate_limit = rate_limit if rate_limit is not None else None
16980        '''
16981         Rate limit information.
16982        '''
16983
16984    def __repr__(self):
16985        return '<sdm.PeeringGroupDeleteResponse ' + \
16986            'meta: ' + repr(self.meta) + ' ' +\
16987            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16988            '>'
16989
16990    def to_dict(self):
16991        return {
16992            'meta': self.meta,
16993            'rate_limit': self.rate_limit,
16994        }
16995
16996    @classmethod
16997    def from_dict(cls, d):
16998        return cls(
16999            meta=d.get('meta'),
17000            rate_limit=d.get('rate_limit'),
17001        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
16970    def __init__(
16971        self,
16972        meta=None,
16973        rate_limit=None,
16974    ):
16975        self.meta = meta if meta is not None else None
16976        '''
16977         Reserved for future use.
16978        '''
16979        self.rate_limit = rate_limit if rate_limit is not None else None
16980        '''
16981         Rate limit information.
16982        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16990    def to_dict(self):
16991        return {
16992            'meta': self.meta,
16993            'rate_limit': self.rate_limit,
16994        }
@classmethod
def from_dict(cls, d)
16996    @classmethod
16997    def from_dict(cls, d):
16998        return cls(
16999            meta=d.get('meta'),
17000            rate_limit=d.get('rate_limit'),
17001        )
class PeeringGroupGetResponse:
17004class PeeringGroupGetResponse:
17005    '''
17006         PeeringGroupGetResponse returns a requested PeeringGroup.
17007    '''
17008    __slots__ = [
17009        'meta',
17010        'peering_group',
17011        'rate_limit',
17012    ]
17013
17014    def __init__(
17015        self,
17016        meta=None,
17017        peering_group=None,
17018        rate_limit=None,
17019    ):
17020        self.meta = meta if meta is not None else None
17021        '''
17022         Reserved for future use.
17023        '''
17024        self.peering_group = peering_group if peering_group is not None else None
17025        '''
17026         The requested PeeringGroup.
17027        '''
17028        self.rate_limit = rate_limit if rate_limit is not None else None
17029        '''
17030         Rate limit information.
17031        '''
17032
17033    def __repr__(self):
17034        return '<sdm.PeeringGroupGetResponse ' + \
17035            'meta: ' + repr(self.meta) + ' ' +\
17036            'peering_group: ' + repr(self.peering_group) + ' ' +\
17037            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17038            '>'
17039
17040    def to_dict(self):
17041        return {
17042            'meta': self.meta,
17043            'peering_group': self.peering_group,
17044            'rate_limit': self.rate_limit,
17045        }
17046
17047    @classmethod
17048    def from_dict(cls, d):
17049        return cls(
17050            meta=d.get('meta'),
17051            peering_group=d.get('peering_group'),
17052            rate_limit=d.get('rate_limit'),
17053        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
17014    def __init__(
17015        self,
17016        meta=None,
17017        peering_group=None,
17018        rate_limit=None,
17019    ):
17020        self.meta = meta if meta is not None else None
17021        '''
17022         Reserved for future use.
17023        '''
17024        self.peering_group = peering_group if peering_group is not None else None
17025        '''
17026         The requested PeeringGroup.
17027        '''
17028        self.rate_limit = rate_limit if rate_limit is not None else None
17029        '''
17030         Rate limit information.
17031        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
17040    def to_dict(self):
17041        return {
17042            'meta': self.meta,
17043            'peering_group': self.peering_group,
17044            'rate_limit': self.rate_limit,
17045        }
@classmethod
def from_dict(cls, d)
17047    @classmethod
17048    def from_dict(cls, d):
17049        return cls(
17050            meta=d.get('meta'),
17051            peering_group=d.get('peering_group'),
17052            rate_limit=d.get('rate_limit'),
17053        )
class PeeringGroupNode:
17056class PeeringGroupNode:
17057    '''
17058         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
17059    '''
17060    __slots__ = [
17061        'group_id',
17062        'id',
17063        'node_id',
17064    ]
17065
17066    def __init__(
17067        self,
17068        group_id=None,
17069        id=None,
17070        node_id=None,
17071    ):
17072        self.group_id = group_id if group_id is not None else ''
17073        '''
17074         Peering Group ID to which the node will be attached to.
17075        '''
17076        self.id = id if id is not None else ''
17077        '''
17078         Unique identifier of the Attachment.
17079        '''
17080        self.node_id = node_id if node_id is not None else ''
17081        '''
17082         Node ID to be attached.
17083        '''
17084
17085    def __repr__(self):
17086        return '<sdm.PeeringGroupNode ' + \
17087            'group_id: ' + repr(self.group_id) + ' ' +\
17088            'id: ' + repr(self.id) + ' ' +\
17089            'node_id: ' + repr(self.node_id) + ' ' +\
17090            '>'
17091
17092    def to_dict(self):
17093        return {
17094            'group_id': self.group_id,
17095            'id': self.id,
17096            'node_id': self.node_id,
17097        }
17098
17099    @classmethod
17100    def from_dict(cls, d):
17101        return cls(
17102            group_id=d.get('group_id'),
17103            id=d.get('id'),
17104            node_id=d.get('node_id'),
17105        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
17066    def __init__(
17067        self,
17068        group_id=None,
17069        id=None,
17070        node_id=None,
17071    ):
17072        self.group_id = group_id if group_id is not None else ''
17073        '''
17074         Peering Group ID to which the node will be attached to.
17075        '''
17076        self.id = id if id is not None else ''
17077        '''
17078         Unique identifier of the Attachment.
17079        '''
17080        self.node_id = node_id if node_id is not None else ''
17081        '''
17082         Node ID to be attached.
17083        '''
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)
17092    def to_dict(self):
17093        return {
17094            'group_id': self.group_id,
17095            'id': self.id,
17096            'node_id': self.node_id,
17097        }
@classmethod
def from_dict(cls, d)
17099    @classmethod
17100    def from_dict(cls, d):
17101        return cls(
17102            group_id=d.get('group_id'),
17103            id=d.get('id'),
17104            node_id=d.get('node_id'),
17105        )
class PeeringGroupNodeCreateResponse:
17108class PeeringGroupNodeCreateResponse:
17109    '''
17110         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
17111    '''
17112    __slots__ = [
17113        'meta',
17114        'peering_group_node',
17115        'rate_limit',
17116    ]
17117
17118    def __init__(
17119        self,
17120        meta=None,
17121        peering_group_node=None,
17122        rate_limit=None,
17123    ):
17124        self.meta = meta if meta is not None else None
17125        '''
17126         Reserved for future use.
17127        '''
17128        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17129        '''
17130         The created PeeringGroupNode.
17131        '''
17132        self.rate_limit = rate_limit if rate_limit is not None else None
17133        '''
17134         Rate limit information.
17135        '''
17136
17137    def __repr__(self):
17138        return '<sdm.PeeringGroupNodeCreateResponse ' + \
17139            'meta: ' + repr(self.meta) + ' ' +\
17140            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
17141            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17142            '>'
17143
17144    def to_dict(self):
17145        return {
17146            'meta': self.meta,
17147            'peering_group_node': self.peering_group_node,
17148            'rate_limit': self.rate_limit,
17149        }
17150
17151    @classmethod
17152    def from_dict(cls, d):
17153        return cls(
17154            meta=d.get('meta'),
17155            peering_group_node=d.get('peering_group_node'),
17156            rate_limit=d.get('rate_limit'),
17157        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
17118    def __init__(
17119        self,
17120        meta=None,
17121        peering_group_node=None,
17122        rate_limit=None,
17123    ):
17124        self.meta = meta if meta is not None else None
17125        '''
17126         Reserved for future use.
17127        '''
17128        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17129        '''
17130         The created PeeringGroupNode.
17131        '''
17132        self.rate_limit = rate_limit if rate_limit is not None else None
17133        '''
17134         Rate limit information.
17135        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
17144    def to_dict(self):
17145        return {
17146            'meta': self.meta,
17147            'peering_group_node': self.peering_group_node,
17148            'rate_limit': self.rate_limit,
17149        }
@classmethod
def from_dict(cls, d)
17151    @classmethod
17152    def from_dict(cls, d):
17153        return cls(
17154            meta=d.get('meta'),
17155            peering_group_node=d.get('peering_group_node'),
17156            rate_limit=d.get('rate_limit'),
17157        )
class PeeringGroupNodeDeleteResponse:
17160class PeeringGroupNodeDeleteResponse:
17161    '''
17162         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
17163    '''
17164    __slots__ = [
17165        'meta',
17166        'rate_limit',
17167    ]
17168
17169    def __init__(
17170        self,
17171        meta=None,
17172        rate_limit=None,
17173    ):
17174        self.meta = meta if meta is not None else None
17175        '''
17176         Reserved for future use.
17177        '''
17178        self.rate_limit = rate_limit if rate_limit is not None else None
17179        '''
17180         Rate limit information.
17181        '''
17182
17183    def __repr__(self):
17184        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
17185            'meta: ' + repr(self.meta) + ' ' +\
17186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17187            '>'
17188
17189    def to_dict(self):
17190        return {
17191            'meta': self.meta,
17192            'rate_limit': self.rate_limit,
17193        }
17194
17195    @classmethod
17196    def from_dict(cls, d):
17197        return cls(
17198            meta=d.get('meta'),
17199            rate_limit=d.get('rate_limit'),
17200        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
17169    def __init__(
17170        self,
17171        meta=None,
17172        rate_limit=None,
17173    ):
17174        self.meta = meta if meta is not None else None
17175        '''
17176         Reserved for future use.
17177        '''
17178        self.rate_limit = rate_limit if rate_limit is not None else None
17179        '''
17180         Rate limit information.
17181        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17189    def to_dict(self):
17190        return {
17191            'meta': self.meta,
17192            'rate_limit': self.rate_limit,
17193        }
@classmethod
def from_dict(cls, d)
17195    @classmethod
17196    def from_dict(cls, d):
17197        return cls(
17198            meta=d.get('meta'),
17199            rate_limit=d.get('rate_limit'),
17200        )
class PeeringGroupNodeGetResponse:
17203class PeeringGroupNodeGetResponse:
17204    '''
17205         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
17206    '''
17207    __slots__ = [
17208        'meta',
17209        'peering_group_node',
17210        'rate_limit',
17211    ]
17212
17213    def __init__(
17214        self,
17215        meta=None,
17216        peering_group_node=None,
17217        rate_limit=None,
17218    ):
17219        self.meta = meta if meta is not None else None
17220        '''
17221         Reserved for future use.
17222        '''
17223        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17224        '''
17225         The requested PeeringGroupNode.
17226        '''
17227        self.rate_limit = rate_limit if rate_limit is not None else None
17228        '''
17229         Rate limit information.
17230        '''
17231
17232    def __repr__(self):
17233        return '<sdm.PeeringGroupNodeGetResponse ' + \
17234            'meta: ' + repr(self.meta) + ' ' +\
17235            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
17236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17237            '>'
17238
17239    def to_dict(self):
17240        return {
17241            'meta': self.meta,
17242            'peering_group_node': self.peering_group_node,
17243            'rate_limit': self.rate_limit,
17244        }
17245
17246    @classmethod
17247    def from_dict(cls, d):
17248        return cls(
17249            meta=d.get('meta'),
17250            peering_group_node=d.get('peering_group_node'),
17251            rate_limit=d.get('rate_limit'),
17252        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
17213    def __init__(
17214        self,
17215        meta=None,
17216        peering_group_node=None,
17217        rate_limit=None,
17218    ):
17219        self.meta = meta if meta is not None else None
17220        '''
17221         Reserved for future use.
17222        '''
17223        self.peering_group_node = peering_group_node if peering_group_node is not None else None
17224        '''
17225         The requested PeeringGroupNode.
17226        '''
17227        self.rate_limit = rate_limit if rate_limit is not None else None
17228        '''
17229         Rate limit information.
17230        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
17239    def to_dict(self):
17240        return {
17241            'meta': self.meta,
17242            'peering_group_node': self.peering_group_node,
17243            'rate_limit': self.rate_limit,
17244        }
@classmethod
def from_dict(cls, d)
17246    @classmethod
17247    def from_dict(cls, d):
17248        return cls(
17249            meta=d.get('meta'),
17250            peering_group_node=d.get('peering_group_node'),
17251            rate_limit=d.get('rate_limit'),
17252        )
class PeeringGroupPeer:
17255class PeeringGroupPeer:
17256    '''
17257         PeeringGroupPeer represents the link between two PeeringGroups
17258    '''
17259    __slots__ = [
17260        'group_id',
17261        'id',
17262        'peers_with_group_id',
17263    ]
17264
17265    def __init__(
17266        self,
17267        group_id=None,
17268        id=None,
17269        peers_with_group_id=None,
17270    ):
17271        self.group_id = group_id if group_id is not None else ''
17272        '''
17273         Group ID from which the link will originate.
17274        '''
17275        self.id = id if id is not None else ''
17276        '''
17277         Unique identifier of the Attachment.
17278        '''
17279        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
17280        '''
17281         Peering Group ID to which Group ID will link.
17282        '''
17283
17284    def __repr__(self):
17285        return '<sdm.PeeringGroupPeer ' + \
17286            'group_id: ' + repr(self.group_id) + ' ' +\
17287            'id: ' + repr(self.id) + ' ' +\
17288            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
17289            '>'
17290
17291    def to_dict(self):
17292        return {
17293            'group_id': self.group_id,
17294            'id': self.id,
17295            'peers_with_group_id': self.peers_with_group_id,
17296        }
17297
17298    @classmethod
17299    def from_dict(cls, d):
17300        return cls(
17301            group_id=d.get('group_id'),
17302            id=d.get('id'),
17303            peers_with_group_id=d.get('peers_with_group_id'),
17304        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
17265    def __init__(
17266        self,
17267        group_id=None,
17268        id=None,
17269        peers_with_group_id=None,
17270    ):
17271        self.group_id = group_id if group_id is not None else ''
17272        '''
17273         Group ID from which the link will originate.
17274        '''
17275        self.id = id if id is not None else ''
17276        '''
17277         Unique identifier of the Attachment.
17278        '''
17279        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
17280        '''
17281         Peering Group ID to which Group ID will link.
17282        '''
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)
17291    def to_dict(self):
17292        return {
17293            'group_id': self.group_id,
17294            'id': self.id,
17295            'peers_with_group_id': self.peers_with_group_id,
17296        }
@classmethod
def from_dict(cls, d)
17298    @classmethod
17299    def from_dict(cls, d):
17300        return cls(
17301            group_id=d.get('group_id'),
17302            id=d.get('id'),
17303            peers_with_group_id=d.get('peers_with_group_id'),
17304        )
class PeeringGroupPeerCreateResponse:
17307class PeeringGroupPeerCreateResponse:
17308    '''
17309         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
17310    '''
17311    __slots__ = [
17312        'meta',
17313        'peering_group_peer',
17314        'rate_limit',
17315    ]
17316
17317    def __init__(
17318        self,
17319        meta=None,
17320        peering_group_peer=None,
17321        rate_limit=None,
17322    ):
17323        self.meta = meta if meta is not None else None
17324        '''
17325         Reserved for future use.
17326        '''
17327        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17328        '''
17329         The created PeeringGroupPeer.
17330        '''
17331        self.rate_limit = rate_limit if rate_limit is not None else None
17332        '''
17333         Rate limit information.
17334        '''
17335
17336    def __repr__(self):
17337        return '<sdm.PeeringGroupPeerCreateResponse ' + \
17338            'meta: ' + repr(self.meta) + ' ' +\
17339            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
17340            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17341            '>'
17342
17343    def to_dict(self):
17344        return {
17345            'meta': self.meta,
17346            'peering_group_peer': self.peering_group_peer,
17347            'rate_limit': self.rate_limit,
17348        }
17349
17350    @classmethod
17351    def from_dict(cls, d):
17352        return cls(
17353            meta=d.get('meta'),
17354            peering_group_peer=d.get('peering_group_peer'),
17355            rate_limit=d.get('rate_limit'),
17356        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
17317    def __init__(
17318        self,
17319        meta=None,
17320        peering_group_peer=None,
17321        rate_limit=None,
17322    ):
17323        self.meta = meta if meta is not None else None
17324        '''
17325         Reserved for future use.
17326        '''
17327        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17328        '''
17329         The created PeeringGroupPeer.
17330        '''
17331        self.rate_limit = rate_limit if rate_limit is not None else None
17332        '''
17333         Rate limit information.
17334        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
17343    def to_dict(self):
17344        return {
17345            'meta': self.meta,
17346            'peering_group_peer': self.peering_group_peer,
17347            'rate_limit': self.rate_limit,
17348        }
@classmethod
def from_dict(cls, d)
17350    @classmethod
17351    def from_dict(cls, d):
17352        return cls(
17353            meta=d.get('meta'),
17354            peering_group_peer=d.get('peering_group_peer'),
17355            rate_limit=d.get('rate_limit'),
17356        )
class PeeringGroupPeerDeleteResponse:
17359class PeeringGroupPeerDeleteResponse:
17360    '''
17361         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
17362    '''
17363    __slots__ = [
17364        'meta',
17365        'rate_limit',
17366    ]
17367
17368    def __init__(
17369        self,
17370        meta=None,
17371        rate_limit=None,
17372    ):
17373        self.meta = meta if meta is not None else None
17374        '''
17375         Reserved for future use.
17376        '''
17377        self.rate_limit = rate_limit if rate_limit is not None else None
17378        '''
17379         Rate limit information.
17380        '''
17381
17382    def __repr__(self):
17383        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
17384            'meta: ' + repr(self.meta) + ' ' +\
17385            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17386            '>'
17387
17388    def to_dict(self):
17389        return {
17390            'meta': self.meta,
17391            'rate_limit': self.rate_limit,
17392        }
17393
17394    @classmethod
17395    def from_dict(cls, d):
17396        return cls(
17397            meta=d.get('meta'),
17398            rate_limit=d.get('rate_limit'),
17399        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
17368    def __init__(
17369        self,
17370        meta=None,
17371        rate_limit=None,
17372    ):
17373        self.meta = meta if meta is not None else None
17374        '''
17375         Reserved for future use.
17376        '''
17377        self.rate_limit = rate_limit if rate_limit is not None else None
17378        '''
17379         Rate limit information.
17380        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17388    def to_dict(self):
17389        return {
17390            'meta': self.meta,
17391            'rate_limit': self.rate_limit,
17392        }
@classmethod
def from_dict(cls, d)
17394    @classmethod
17395    def from_dict(cls, d):
17396        return cls(
17397            meta=d.get('meta'),
17398            rate_limit=d.get('rate_limit'),
17399        )
class PeeringGroupPeerGetResponse:
17402class PeeringGroupPeerGetResponse:
17403    '''
17404         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
17405    '''
17406    __slots__ = [
17407        'meta',
17408        'peering_group_peer',
17409        'rate_limit',
17410    ]
17411
17412    def __init__(
17413        self,
17414        meta=None,
17415        peering_group_peer=None,
17416        rate_limit=None,
17417    ):
17418        self.meta = meta if meta is not None else None
17419        '''
17420         Reserved for future use.
17421        '''
17422        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17423        '''
17424         The requested PeeringGroupPeer.
17425        '''
17426        self.rate_limit = rate_limit if rate_limit is not None else None
17427        '''
17428         Rate limit information.
17429        '''
17430
17431    def __repr__(self):
17432        return '<sdm.PeeringGroupPeerGetResponse ' + \
17433            'meta: ' + repr(self.meta) + ' ' +\
17434            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
17435            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17436            '>'
17437
17438    def to_dict(self):
17439        return {
17440            'meta': self.meta,
17441            'peering_group_peer': self.peering_group_peer,
17442            'rate_limit': self.rate_limit,
17443        }
17444
17445    @classmethod
17446    def from_dict(cls, d):
17447        return cls(
17448            meta=d.get('meta'),
17449            peering_group_peer=d.get('peering_group_peer'),
17450            rate_limit=d.get('rate_limit'),
17451        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
17412    def __init__(
17413        self,
17414        meta=None,
17415        peering_group_peer=None,
17416        rate_limit=None,
17417    ):
17418        self.meta = meta if meta is not None else None
17419        '''
17420         Reserved for future use.
17421        '''
17422        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
17423        '''
17424         The requested PeeringGroupPeer.
17425        '''
17426        self.rate_limit = rate_limit if rate_limit is not None else None
17427        '''
17428         Rate limit information.
17429        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
17438    def to_dict(self):
17439        return {
17440            'meta': self.meta,
17441            'peering_group_peer': self.peering_group_peer,
17442            'rate_limit': self.rate_limit,
17443        }
@classmethod
def from_dict(cls, d)
17445    @classmethod
17446    def from_dict(cls, d):
17447        return cls(
17448            meta=d.get('meta'),
17449            peering_group_peer=d.get('peering_group_peer'),
17450            rate_limit=d.get('rate_limit'),
17451        )
class PeeringGroupResource:
17454class PeeringGroupResource:
17455    '''
17456         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
17457    '''
17458    __slots__ = [
17459        'group_id',
17460        'id',
17461        'resource_id',
17462    ]
17463
17464    def __init__(
17465        self,
17466        group_id=None,
17467        id=None,
17468        resource_id=None,
17469    ):
17470        self.group_id = group_id if group_id is not None else ''
17471        '''
17472         Peering Group ID to which the resource will be attached to.
17473        '''
17474        self.id = id if id is not None else ''
17475        '''
17476         Unique identifier of the Attachment.
17477        '''
17478        self.resource_id = resource_id if resource_id is not None else ''
17479        '''
17480         Resource ID to be attached.
17481        '''
17482
17483    def __repr__(self):
17484        return '<sdm.PeeringGroupResource ' + \
17485            'group_id: ' + repr(self.group_id) + ' ' +\
17486            'id: ' + repr(self.id) + ' ' +\
17487            'resource_id: ' + repr(self.resource_id) + ' ' +\
17488            '>'
17489
17490    def to_dict(self):
17491        return {
17492            'group_id': self.group_id,
17493            'id': self.id,
17494            'resource_id': self.resource_id,
17495        }
17496
17497    @classmethod
17498    def from_dict(cls, d):
17499        return cls(
17500            group_id=d.get('group_id'),
17501            id=d.get('id'),
17502            resource_id=d.get('resource_id'),
17503        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
17464    def __init__(
17465        self,
17466        group_id=None,
17467        id=None,
17468        resource_id=None,
17469    ):
17470        self.group_id = group_id if group_id is not None else ''
17471        '''
17472         Peering Group ID to which the resource will be attached to.
17473        '''
17474        self.id = id if id is not None else ''
17475        '''
17476         Unique identifier of the Attachment.
17477        '''
17478        self.resource_id = resource_id if resource_id is not None else ''
17479        '''
17480         Resource ID to be attached.
17481        '''
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)
17490    def to_dict(self):
17491        return {
17492            'group_id': self.group_id,
17493            'id': self.id,
17494            'resource_id': self.resource_id,
17495        }
@classmethod
def from_dict(cls, d)
17497    @classmethod
17498    def from_dict(cls, d):
17499        return cls(
17500            group_id=d.get('group_id'),
17501            id=d.get('id'),
17502            resource_id=d.get('resource_id'),
17503        )
class PeeringGroupResourceCreateResponse:
17506class PeeringGroupResourceCreateResponse:
17507    '''
17508         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
17509    '''
17510    __slots__ = [
17511        'meta',
17512        'peering_group_resource',
17513        'rate_limit',
17514    ]
17515
17516    def __init__(
17517        self,
17518        meta=None,
17519        peering_group_resource=None,
17520        rate_limit=None,
17521    ):
17522        self.meta = meta if meta is not None else None
17523        '''
17524         Reserved for future use.
17525        '''
17526        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17527        '''
17528         The created PeeringGroupResource.
17529        '''
17530        self.rate_limit = rate_limit if rate_limit is not None else None
17531        '''
17532         Rate limit information.
17533        '''
17534
17535    def __repr__(self):
17536        return '<sdm.PeeringGroupResourceCreateResponse ' + \
17537            'meta: ' + repr(self.meta) + ' ' +\
17538            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
17539            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17540            '>'
17541
17542    def to_dict(self):
17543        return {
17544            'meta': self.meta,
17545            'peering_group_resource': self.peering_group_resource,
17546            'rate_limit': self.rate_limit,
17547        }
17548
17549    @classmethod
17550    def from_dict(cls, d):
17551        return cls(
17552            meta=d.get('meta'),
17553            peering_group_resource=d.get('peering_group_resource'),
17554            rate_limit=d.get('rate_limit'),
17555        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
17516    def __init__(
17517        self,
17518        meta=None,
17519        peering_group_resource=None,
17520        rate_limit=None,
17521    ):
17522        self.meta = meta if meta is not None else None
17523        '''
17524         Reserved for future use.
17525        '''
17526        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17527        '''
17528         The created PeeringGroupResource.
17529        '''
17530        self.rate_limit = rate_limit if rate_limit is not None else None
17531        '''
17532         Rate limit information.
17533        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
17542    def to_dict(self):
17543        return {
17544            'meta': self.meta,
17545            'peering_group_resource': self.peering_group_resource,
17546            'rate_limit': self.rate_limit,
17547        }
@classmethod
def from_dict(cls, d)
17549    @classmethod
17550    def from_dict(cls, d):
17551        return cls(
17552            meta=d.get('meta'),
17553            peering_group_resource=d.get('peering_group_resource'),
17554            rate_limit=d.get('rate_limit'),
17555        )
class PeeringGroupResourceDeleteResponse:
17558class PeeringGroupResourceDeleteResponse:
17559    '''
17560         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
17561    '''
17562    __slots__ = [
17563        'meta',
17564        'rate_limit',
17565    ]
17566
17567    def __init__(
17568        self,
17569        meta=None,
17570        rate_limit=None,
17571    ):
17572        self.meta = meta if meta is not None else None
17573        '''
17574         Reserved for future use.
17575        '''
17576        self.rate_limit = rate_limit if rate_limit is not None else None
17577        '''
17578         Rate limit information.
17579        '''
17580
17581    def __repr__(self):
17582        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
17583            'meta: ' + repr(self.meta) + ' ' +\
17584            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17585            '>'
17586
17587    def to_dict(self):
17588        return {
17589            'meta': self.meta,
17590            'rate_limit': self.rate_limit,
17591        }
17592
17593    @classmethod
17594    def from_dict(cls, d):
17595        return cls(
17596            meta=d.get('meta'),
17597            rate_limit=d.get('rate_limit'),
17598        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
17567    def __init__(
17568        self,
17569        meta=None,
17570        rate_limit=None,
17571    ):
17572        self.meta = meta if meta is not None else None
17573        '''
17574         Reserved for future use.
17575        '''
17576        self.rate_limit = rate_limit if rate_limit is not None else None
17577        '''
17578         Rate limit information.
17579        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17587    def to_dict(self):
17588        return {
17589            'meta': self.meta,
17590            'rate_limit': self.rate_limit,
17591        }
@classmethod
def from_dict(cls, d)
17593    @classmethod
17594    def from_dict(cls, d):
17595        return cls(
17596            meta=d.get('meta'),
17597            rate_limit=d.get('rate_limit'),
17598        )
class PeeringGroupResourceGetResponse:
17601class PeeringGroupResourceGetResponse:
17602    '''
17603         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
17604    '''
17605    __slots__ = [
17606        'meta',
17607        'peering_group_resource',
17608        'rate_limit',
17609    ]
17610
17611    def __init__(
17612        self,
17613        meta=None,
17614        peering_group_resource=None,
17615        rate_limit=None,
17616    ):
17617        self.meta = meta if meta is not None else None
17618        '''
17619         Reserved for future use.
17620        '''
17621        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17622        '''
17623         The requested PeeringGroupResource.
17624        '''
17625        self.rate_limit = rate_limit if rate_limit is not None else None
17626        '''
17627         Rate limit information.
17628        '''
17629
17630    def __repr__(self):
17631        return '<sdm.PeeringGroupResourceGetResponse ' + \
17632            'meta: ' + repr(self.meta) + ' ' +\
17633            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
17634            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17635            '>'
17636
17637    def to_dict(self):
17638        return {
17639            'meta': self.meta,
17640            'peering_group_resource': self.peering_group_resource,
17641            'rate_limit': self.rate_limit,
17642        }
17643
17644    @classmethod
17645    def from_dict(cls, d):
17646        return cls(
17647            meta=d.get('meta'),
17648            peering_group_resource=d.get('peering_group_resource'),
17649            rate_limit=d.get('rate_limit'),
17650        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
17611    def __init__(
17612        self,
17613        meta=None,
17614        peering_group_resource=None,
17615        rate_limit=None,
17616    ):
17617        self.meta = meta if meta is not None else None
17618        '''
17619         Reserved for future use.
17620        '''
17621        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
17622        '''
17623         The requested PeeringGroupResource.
17624        '''
17625        self.rate_limit = rate_limit if rate_limit is not None else None
17626        '''
17627         Rate limit information.
17628        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
17637    def to_dict(self):
17638        return {
17639            'meta': self.meta,
17640            'peering_group_resource': self.peering_group_resource,
17641            'rate_limit': self.rate_limit,
17642        }
@classmethod
def from_dict(cls, d)
17644    @classmethod
17645    def from_dict(cls, d):
17646        return cls(
17647            meta=d.get('meta'),
17648            peering_group_resource=d.get('peering_group_resource'),
17649            rate_limit=d.get('rate_limit'),
17650        )
class Policy:
17653class Policy:
17654    '''
17655         Policy is a collection of one or more statements that enforce fine-grained access control
17656     for the users of an organization.
17657    '''
17658    __slots__ = [
17659        'description',
17660        'id',
17661        'name',
17662        'policy',
17663    ]
17664
17665    def __init__(
17666        self,
17667        description=None,
17668        id=None,
17669        name=None,
17670        policy=None,
17671    ):
17672        self.description = description if description is not None else ''
17673        '''
17674         Optional description of the Policy.
17675        '''
17676        self.id = id if id is not None else ''
17677        '''
17678         Unique identifier of the Policy.
17679        '''
17680        self.name = name if name is not None else ''
17681        '''
17682         Unique human-readable name of the Policy.
17683        '''
17684        self.policy = policy if policy is not None else ''
17685        '''
17686         The content of the Policy, in Cedar policy language.
17687        '''
17688
17689    def __repr__(self):
17690        return '<sdm.Policy ' + \
17691            'description: ' + repr(self.description) + ' ' +\
17692            'id: ' + repr(self.id) + ' ' +\
17693            'name: ' + repr(self.name) + ' ' +\
17694            'policy: ' + repr(self.policy) + ' ' +\
17695            '>'
17696
17697    def to_dict(self):
17698        return {
17699            'description': self.description,
17700            'id': self.id,
17701            'name': self.name,
17702            'policy': self.policy,
17703        }
17704
17705    @classmethod
17706    def from_dict(cls, d):
17707        return cls(
17708            description=d.get('description'),
17709            id=d.get('id'),
17710            name=d.get('name'),
17711            policy=d.get('policy'),
17712        )

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)
17665    def __init__(
17666        self,
17667        description=None,
17668        id=None,
17669        name=None,
17670        policy=None,
17671    ):
17672        self.description = description if description is not None else ''
17673        '''
17674         Optional description of the Policy.
17675        '''
17676        self.id = id if id is not None else ''
17677        '''
17678         Unique identifier of the Policy.
17679        '''
17680        self.name = name if name is not None else ''
17681        '''
17682         Unique human-readable name of the Policy.
17683        '''
17684        self.policy = policy if policy is not None else ''
17685        '''
17686         The content of the Policy, in Cedar policy language.
17687        '''
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)
17697    def to_dict(self):
17698        return {
17699            'description': self.description,
17700            'id': self.id,
17701            'name': self.name,
17702            'policy': self.policy,
17703        }
@classmethod
def from_dict(cls, d)
17705    @classmethod
17706    def from_dict(cls, d):
17707        return cls(
17708            description=d.get('description'),
17709            id=d.get('id'),
17710            name=d.get('name'),
17711            policy=d.get('policy'),
17712        )
class PolicyCreateResponse:
17715class PolicyCreateResponse:
17716    '''
17717         PolicyCreateResponse reports how the Policy was created in the system.
17718    '''
17719    __slots__ = [
17720        'policy',
17721        'rate_limit',
17722    ]
17723
17724    def __init__(
17725        self,
17726        policy=None,
17727        rate_limit=None,
17728    ):
17729        self.policy = policy if policy is not None else None
17730        '''
17731         The created Policy.
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.PolicyCreateResponse ' + \
17740            'policy: ' + repr(self.policy) + ' ' +\
17741            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17742            '>'
17743
17744    def to_dict(self):
17745        return {
17746            'policy': self.policy,
17747            'rate_limit': self.rate_limit,
17748        }
17749
17750    @classmethod
17751    def from_dict(cls, d):
17752        return cls(
17753            policy=d.get('policy'),
17754            rate_limit=d.get('rate_limit'),
17755        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
17724    def __init__(
17725        self,
17726        policy=None,
17727        rate_limit=None,
17728    ):
17729        self.policy = policy if policy is not None else None
17730        '''
17731         The created Policy.
17732        '''
17733        self.rate_limit = rate_limit if rate_limit is not None else None
17734        '''
17735         Rate limit information.
17736        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
17744    def to_dict(self):
17745        return {
17746            'policy': self.policy,
17747            'rate_limit': self.rate_limit,
17748        }
@classmethod
def from_dict(cls, d)
17750    @classmethod
17751    def from_dict(cls, d):
17752        return cls(
17753            policy=d.get('policy'),
17754            rate_limit=d.get('rate_limit'),
17755        )
class PolicyDeleteResponse:
17758class PolicyDeleteResponse:
17759    '''
17760         PolicyDeleteResponse returns information about a Policy that was deleted.
17761    '''
17762    __slots__ = [
17763        'rate_limit',
17764    ]
17765
17766    def __init__(
17767        self,
17768        rate_limit=None,
17769    ):
17770        self.rate_limit = rate_limit if rate_limit is not None else None
17771        '''
17772         Rate limit information.
17773        '''
17774
17775    def __repr__(self):
17776        return '<sdm.PolicyDeleteResponse ' + \
17777            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17778            '>'
17779
17780    def to_dict(self):
17781        return {
17782            'rate_limit': self.rate_limit,
17783        }
17784
17785    @classmethod
17786    def from_dict(cls, d):
17787        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
17766    def __init__(
17767        self,
17768        rate_limit=None,
17769    ):
17770        self.rate_limit = rate_limit if rate_limit is not None else None
17771        '''
17772         Rate limit information.
17773        '''
rate_limit

Rate limit information.

def to_dict(self)
17780    def to_dict(self):
17781        return {
17782            'rate_limit': self.rate_limit,
17783        }
@classmethod
def from_dict(cls, d)
17785    @classmethod
17786    def from_dict(cls, d):
17787        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
17790class PolicyGetResponse:
17791    '''
17792         PolicyGetResponse returns a requested Policy.
17793    '''
17794    __slots__ = [
17795        'meta',
17796        'policy',
17797        'rate_limit',
17798    ]
17799
17800    def __init__(
17801        self,
17802        meta=None,
17803        policy=None,
17804        rate_limit=None,
17805    ):
17806        self.meta = meta if meta is not None else None
17807        '''
17808         Reserved for future use.
17809        '''
17810        self.policy = policy if policy is not None else None
17811        '''
17812         The requested Policy.
17813        '''
17814        self.rate_limit = rate_limit if rate_limit is not None else None
17815        '''
17816         Rate limit information.
17817        '''
17818
17819    def __repr__(self):
17820        return '<sdm.PolicyGetResponse ' + \
17821            'meta: ' + repr(self.meta) + ' ' +\
17822            'policy: ' + repr(self.policy) + ' ' +\
17823            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17824            '>'
17825
17826    def to_dict(self):
17827        return {
17828            'meta': self.meta,
17829            'policy': self.policy,
17830            'rate_limit': self.rate_limit,
17831        }
17832
17833    @classmethod
17834    def from_dict(cls, d):
17835        return cls(
17836            meta=d.get('meta'),
17837            policy=d.get('policy'),
17838            rate_limit=d.get('rate_limit'),
17839        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
17800    def __init__(
17801        self,
17802        meta=None,
17803        policy=None,
17804        rate_limit=None,
17805    ):
17806        self.meta = meta if meta is not None else None
17807        '''
17808         Reserved for future use.
17809        '''
17810        self.policy = policy if policy is not None else None
17811        '''
17812         The requested Policy.
17813        '''
17814        self.rate_limit = rate_limit if rate_limit is not None else None
17815        '''
17816         Rate limit information.
17817        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
17826    def to_dict(self):
17827        return {
17828            'meta': self.meta,
17829            'policy': self.policy,
17830            'rate_limit': self.rate_limit,
17831        }
@classmethod
def from_dict(cls, d)
17833    @classmethod
17834    def from_dict(cls, d):
17835        return cls(
17836            meta=d.get('meta'),
17837            policy=d.get('policy'),
17838            rate_limit=d.get('rate_limit'),
17839        )
class PolicyHistory:
17842class PolicyHistory:
17843    '''
17844         PolicyHistory records the state of a Policy at a given point in time,
17845     where every change (create, update and delete) to a Policy produces a
17846     PolicyHistory record.
17847    '''
17848    __slots__ = [
17849        'activity_id',
17850        'deleted_at',
17851        'policy',
17852        'timestamp',
17853    ]
17854
17855    def __init__(
17856        self,
17857        activity_id=None,
17858        deleted_at=None,
17859        policy=None,
17860        timestamp=None,
17861    ):
17862        self.activity_id = activity_id if activity_id is not None else ''
17863        '''
17864         The unique identifier of the Activity that produced this change to the Policy.
17865         May be empty for some system-initiated updates.
17866        '''
17867        self.deleted_at = deleted_at if deleted_at is not None else None
17868        '''
17869         If this Policy was deleted, the time it was deleted.
17870        '''
17871        self.policy = policy if policy is not None else None
17872        '''
17873         The complete Policy state at this time.
17874        '''
17875        self.timestamp = timestamp if timestamp is not None else None
17876        '''
17877         The time at which the Policy state was recorded.
17878        '''
17879
17880    def __repr__(self):
17881        return '<sdm.PolicyHistory ' + \
17882            'activity_id: ' + repr(self.activity_id) + ' ' +\
17883            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
17884            'policy: ' + repr(self.policy) + ' ' +\
17885            'timestamp: ' + repr(self.timestamp) + ' ' +\
17886            '>'
17887
17888    def to_dict(self):
17889        return {
17890            'activity_id': self.activity_id,
17891            'deleted_at': self.deleted_at,
17892            'policy': self.policy,
17893            'timestamp': self.timestamp,
17894        }
17895
17896    @classmethod
17897    def from_dict(cls, d):
17898        return cls(
17899            activity_id=d.get('activity_id'),
17900            deleted_at=d.get('deleted_at'),
17901            policy=d.get('policy'),
17902            timestamp=d.get('timestamp'),
17903        )

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)
17855    def __init__(
17856        self,
17857        activity_id=None,
17858        deleted_at=None,
17859        policy=None,
17860        timestamp=None,
17861    ):
17862        self.activity_id = activity_id if activity_id is not None else ''
17863        '''
17864         The unique identifier of the Activity that produced this change to the Policy.
17865         May be empty for some system-initiated updates.
17866        '''
17867        self.deleted_at = deleted_at if deleted_at is not None else None
17868        '''
17869         If this Policy was deleted, the time it was deleted.
17870        '''
17871        self.policy = policy if policy is not None else None
17872        '''
17873         The complete Policy state at this time.
17874        '''
17875        self.timestamp = timestamp if timestamp is not None else None
17876        '''
17877         The time at which the Policy state was recorded.
17878        '''
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)
17888    def to_dict(self):
17889        return {
17890            'activity_id': self.activity_id,
17891            'deleted_at': self.deleted_at,
17892            'policy': self.policy,
17893            'timestamp': self.timestamp,
17894        }
@classmethod
def from_dict(cls, d)
17896    @classmethod
17897    def from_dict(cls, d):
17898        return cls(
17899            activity_id=d.get('activity_id'),
17900            deleted_at=d.get('deleted_at'),
17901            policy=d.get('policy'),
17902            timestamp=d.get('timestamp'),
17903        )
class PolicyListResponse:
17906class PolicyListResponse:
17907    '''
17908         PolicyListResponse returns a list of Policy records that meet
17909     the criteria of a PolicyListRequest.
17910    '''
17911    __slots__ = [
17912        'rate_limit',
17913    ]
17914
17915    def __init__(
17916        self,
17917        rate_limit=None,
17918    ):
17919        self.rate_limit = rate_limit if rate_limit is not None else None
17920        '''
17921         Rate limit information.
17922        '''
17923
17924    def __repr__(self):
17925        return '<sdm.PolicyListResponse ' + \
17926            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17927            '>'
17928
17929    def to_dict(self):
17930        return {
17931            'rate_limit': self.rate_limit,
17932        }
17933
17934    @classmethod
17935    def from_dict(cls, d):
17936        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)
17915    def __init__(
17916        self,
17917        rate_limit=None,
17918    ):
17919        self.rate_limit = rate_limit if rate_limit is not None else None
17920        '''
17921         Rate limit information.
17922        '''
rate_limit

Rate limit information.

def to_dict(self)
17929    def to_dict(self):
17930        return {
17931            'rate_limit': self.rate_limit,
17932        }
@classmethod
def from_dict(cls, d)
17934    @classmethod
17935    def from_dict(cls, d):
17936        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
17939class PolicyUpdateResponse:
17940    '''
17941         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
17942     a PolicyUpdateRequest.
17943    '''
17944    __slots__ = [
17945        'policy',
17946        'rate_limit',
17947    ]
17948
17949    def __init__(
17950        self,
17951        policy=None,
17952        rate_limit=None,
17953    ):
17954        self.policy = policy if policy is not None else None
17955        '''
17956         The updated Policy.
17957        '''
17958        self.rate_limit = rate_limit if rate_limit is not None else None
17959        '''
17960         Rate limit information.
17961        '''
17962
17963    def __repr__(self):
17964        return '<sdm.PolicyUpdateResponse ' + \
17965            'policy: ' + repr(self.policy) + ' ' +\
17966            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17967            '>'
17968
17969    def to_dict(self):
17970        return {
17971            'policy': self.policy,
17972            'rate_limit': self.rate_limit,
17973        }
17974
17975    @classmethod
17976    def from_dict(cls, d):
17977        return cls(
17978            policy=d.get('policy'),
17979            rate_limit=d.get('rate_limit'),
17980        )

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

PolicyUpdateResponse(policy=None, rate_limit=None)
17949    def __init__(
17950        self,
17951        policy=None,
17952        rate_limit=None,
17953    ):
17954        self.policy = policy if policy is not None else None
17955        '''
17956         The updated Policy.
17957        '''
17958        self.rate_limit = rate_limit if rate_limit is not None else None
17959        '''
17960         Rate limit information.
17961        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
17969    def to_dict(self):
17970        return {
17971            'policy': self.policy,
17972            'rate_limit': self.rate_limit,
17973        }
@classmethod
def from_dict(cls, d)
17975    @classmethod
17976    def from_dict(cls, d):
17977        return cls(
17978            policy=d.get('policy'),
17979            rate_limit=d.get('rate_limit'),
17980        )
class Postgres:
17983class Postgres:
17984    __slots__ = [
17985        'bind_interface',
17986        'database',
17987        'egress_filter',
17988        'healthy',
17989        'hostname',
17990        'id',
17991        'name',
17992        'override_database',
17993        'password',
17994        'port',
17995        'port_override',
17996        'proxy_cluster_id',
17997        'secret_store_id',
17998        'subdomain',
17999        'tags',
18000        'username',
18001    ]
18002
18003    def __init__(
18004        self,
18005        bind_interface=None,
18006        database=None,
18007        egress_filter=None,
18008        healthy=None,
18009        hostname=None,
18010        id=None,
18011        name=None,
18012        override_database=None,
18013        password=None,
18014        port=None,
18015        port_override=None,
18016        proxy_cluster_id=None,
18017        secret_store_id=None,
18018        subdomain=None,
18019        tags=None,
18020        username=None,
18021    ):
18022        self.bind_interface = bind_interface if bind_interface is not None else ''
18023        '''
18024         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18025        '''
18026        self.database = database if database is not None else ''
18027        '''
18028         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18029        '''
18030        self.egress_filter = egress_filter if egress_filter is not None else ''
18031        '''
18032         A filter applied to the routing logic to pin datasource to nodes.
18033        '''
18034        self.healthy = healthy if healthy is not None else False
18035        '''
18036         True if the datasource is reachable and the credentials are valid.
18037        '''
18038        self.hostname = hostname if hostname is not None else ''
18039        '''
18040         The host to dial to initiate a connection from the egress node to this resource.
18041        '''
18042        self.id = id if id is not None else ''
18043        '''
18044         Unique identifier of the Resource.
18045        '''
18046        self.name = name if name is not None else ''
18047        '''
18048         Unique human-readable name of the Resource.
18049        '''
18050        self.override_database = override_database if override_database is not None else False
18051        '''
18052         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.
18053        '''
18054        self.password = password if password is not None else ''
18055        '''
18056         The password to authenticate with.
18057        '''
18058        self.port = port if port is not None else 0
18059        '''
18060         The port to dial to initiate a connection from the egress node to this resource.
18061        '''
18062        self.port_override = port_override if port_override is not None else 0
18063        '''
18064         The local port used by clients to connect to this resource.
18065        '''
18066        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18067        '''
18068         ID of the proxy cluster for this resource, if any.
18069        '''
18070        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18071        '''
18072         ID of the secret store containing credentials for this resource, if any.
18073        '''
18074        self.subdomain = subdomain if subdomain is not None else ''
18075        '''
18076         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18077        '''
18078        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18079        '''
18080         Tags is a map of key, value pairs.
18081        '''
18082        self.username = username if username is not None else ''
18083        '''
18084         The username to authenticate with.
18085        '''
18086
18087    def __repr__(self):
18088        return '<sdm.Postgres ' + \
18089            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18090            'database: ' + repr(self.database) + ' ' +\
18091            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18092            'healthy: ' + repr(self.healthy) + ' ' +\
18093            'hostname: ' + repr(self.hostname) + ' ' +\
18094            'id: ' + repr(self.id) + ' ' +\
18095            'name: ' + repr(self.name) + ' ' +\
18096            'override_database: ' + repr(self.override_database) + ' ' +\
18097            'password: ' + repr(self.password) + ' ' +\
18098            'port: ' + repr(self.port) + ' ' +\
18099            'port_override: ' + repr(self.port_override) + ' ' +\
18100            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18101            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18102            'subdomain: ' + repr(self.subdomain) + ' ' +\
18103            'tags: ' + repr(self.tags) + ' ' +\
18104            'username: ' + repr(self.username) + ' ' +\
18105            '>'
18106
18107    def to_dict(self):
18108        return {
18109            'bind_interface': self.bind_interface,
18110            'database': self.database,
18111            'egress_filter': self.egress_filter,
18112            'healthy': self.healthy,
18113            'hostname': self.hostname,
18114            'id': self.id,
18115            'name': self.name,
18116            'override_database': self.override_database,
18117            'password': self.password,
18118            'port': self.port,
18119            'port_override': self.port_override,
18120            'proxy_cluster_id': self.proxy_cluster_id,
18121            'secret_store_id': self.secret_store_id,
18122            'subdomain': self.subdomain,
18123            'tags': self.tags,
18124            'username': self.username,
18125        }
18126
18127    @classmethod
18128    def from_dict(cls, d):
18129        return cls(
18130            bind_interface=d.get('bind_interface'),
18131            database=d.get('database'),
18132            egress_filter=d.get('egress_filter'),
18133            healthy=d.get('healthy'),
18134            hostname=d.get('hostname'),
18135            id=d.get('id'),
18136            name=d.get('name'),
18137            override_database=d.get('override_database'),
18138            password=d.get('password'),
18139            port=d.get('port'),
18140            port_override=d.get('port_override'),
18141            proxy_cluster_id=d.get('proxy_cluster_id'),
18142            secret_store_id=d.get('secret_store_id'),
18143            subdomain=d.get('subdomain'),
18144            tags=d.get('tags'),
18145            username=d.get('username'),
18146        )
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)
18003    def __init__(
18004        self,
18005        bind_interface=None,
18006        database=None,
18007        egress_filter=None,
18008        healthy=None,
18009        hostname=None,
18010        id=None,
18011        name=None,
18012        override_database=None,
18013        password=None,
18014        port=None,
18015        port_override=None,
18016        proxy_cluster_id=None,
18017        secret_store_id=None,
18018        subdomain=None,
18019        tags=None,
18020        username=None,
18021    ):
18022        self.bind_interface = bind_interface if bind_interface is not None else ''
18023        '''
18024         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18025        '''
18026        self.database = database if database is not None else ''
18027        '''
18028         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18029        '''
18030        self.egress_filter = egress_filter if egress_filter is not None else ''
18031        '''
18032         A filter applied to the routing logic to pin datasource to nodes.
18033        '''
18034        self.healthy = healthy if healthy is not None else False
18035        '''
18036         True if the datasource is reachable and the credentials are valid.
18037        '''
18038        self.hostname = hostname if hostname is not None else ''
18039        '''
18040         The host to dial to initiate a connection from the egress node to this resource.
18041        '''
18042        self.id = id if id is not None else ''
18043        '''
18044         Unique identifier of the Resource.
18045        '''
18046        self.name = name if name is not None else ''
18047        '''
18048         Unique human-readable name of the Resource.
18049        '''
18050        self.override_database = override_database if override_database is not None else False
18051        '''
18052         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.
18053        '''
18054        self.password = password if password is not None else ''
18055        '''
18056         The password to authenticate with.
18057        '''
18058        self.port = port if port is not None else 0
18059        '''
18060         The port to dial to initiate a connection from the egress node to this resource.
18061        '''
18062        self.port_override = port_override if port_override is not None else 0
18063        '''
18064         The local port used by clients to connect to this resource.
18065        '''
18066        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18067        '''
18068         ID of the proxy cluster for this resource, if any.
18069        '''
18070        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18071        '''
18072         ID of the secret store containing credentials for this resource, if any.
18073        '''
18074        self.subdomain = subdomain if subdomain is not None else ''
18075        '''
18076         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18077        '''
18078        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18079        '''
18080         Tags is a map of key, value pairs.
18081        '''
18082        self.username = username if username is not None else ''
18083        '''
18084         The username to authenticate with.
18085        '''
bind_interface

The bind interface is the IP 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)
18107    def to_dict(self):
18108        return {
18109            'bind_interface': self.bind_interface,
18110            'database': self.database,
18111            'egress_filter': self.egress_filter,
18112            'healthy': self.healthy,
18113            'hostname': self.hostname,
18114            'id': self.id,
18115            'name': self.name,
18116            'override_database': self.override_database,
18117            'password': self.password,
18118            'port': self.port,
18119            'port_override': self.port_override,
18120            'proxy_cluster_id': self.proxy_cluster_id,
18121            'secret_store_id': self.secret_store_id,
18122            'subdomain': self.subdomain,
18123            'tags': self.tags,
18124            'username': self.username,
18125        }
@classmethod
def from_dict(cls, d)
18127    @classmethod
18128    def from_dict(cls, d):
18129        return cls(
18130            bind_interface=d.get('bind_interface'),
18131            database=d.get('database'),
18132            egress_filter=d.get('egress_filter'),
18133            healthy=d.get('healthy'),
18134            hostname=d.get('hostname'),
18135            id=d.get('id'),
18136            name=d.get('name'),
18137            override_database=d.get('override_database'),
18138            password=d.get('password'),
18139            port=d.get('port'),
18140            port_override=d.get('port_override'),
18141            proxy_cluster_id=d.get('proxy_cluster_id'),
18142            secret_store_id=d.get('secret_store_id'),
18143            subdomain=d.get('subdomain'),
18144            tags=d.get('tags'),
18145            username=d.get('username'),
18146        )
class Presto:
18149class Presto:
18150    __slots__ = [
18151        'bind_interface',
18152        'database',
18153        'egress_filter',
18154        'healthy',
18155        'hostname',
18156        'id',
18157        'name',
18158        'password',
18159        'port',
18160        'port_override',
18161        'proxy_cluster_id',
18162        'secret_store_id',
18163        'subdomain',
18164        'tags',
18165        'tls_required',
18166        'username',
18167    ]
18168
18169    def __init__(
18170        self,
18171        bind_interface=None,
18172        database=None,
18173        egress_filter=None,
18174        healthy=None,
18175        hostname=None,
18176        id=None,
18177        name=None,
18178        password=None,
18179        port=None,
18180        port_override=None,
18181        proxy_cluster_id=None,
18182        secret_store_id=None,
18183        subdomain=None,
18184        tags=None,
18185        tls_required=None,
18186        username=None,
18187    ):
18188        self.bind_interface = bind_interface if bind_interface is not None else ''
18189        '''
18190         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18191        '''
18192        self.database = database if database is not None else ''
18193        '''
18194         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18195        '''
18196        self.egress_filter = egress_filter if egress_filter is not None else ''
18197        '''
18198         A filter applied to the routing logic to pin datasource to nodes.
18199        '''
18200        self.healthy = healthy if healthy is not None else False
18201        '''
18202         True if the datasource is reachable and the credentials are valid.
18203        '''
18204        self.hostname = hostname if hostname is not None else ''
18205        '''
18206         The host to dial to initiate a connection from the egress node to this resource.
18207        '''
18208        self.id = id if id is not None else ''
18209        '''
18210         Unique identifier of the Resource.
18211        '''
18212        self.name = name if name is not None else ''
18213        '''
18214         Unique human-readable name of the Resource.
18215        '''
18216        self.password = password if password is not None else ''
18217        '''
18218         The password to authenticate with.
18219        '''
18220        self.port = port if port is not None else 0
18221        '''
18222         The port to dial to initiate a connection from the egress node to this resource.
18223        '''
18224        self.port_override = port_override if port_override is not None else 0
18225        '''
18226         The local port used by clients to connect to this resource.
18227        '''
18228        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18229        '''
18230         ID of the proxy cluster for this resource, if any.
18231        '''
18232        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18233        '''
18234         ID of the secret store containing credentials for this resource, if any.
18235        '''
18236        self.subdomain = subdomain if subdomain is not None else ''
18237        '''
18238         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18239        '''
18240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18241        '''
18242         Tags is a map of key, value pairs.
18243        '''
18244        self.tls_required = tls_required if tls_required is not None else False
18245        '''
18246         If set, TLS must be used to connect to this resource.
18247        '''
18248        self.username = username if username is not None else ''
18249        '''
18250         The username to authenticate with.
18251        '''
18252
18253    def __repr__(self):
18254        return '<sdm.Presto ' + \
18255            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18256            'database: ' + repr(self.database) + ' ' +\
18257            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18258            'healthy: ' + repr(self.healthy) + ' ' +\
18259            'hostname: ' + repr(self.hostname) + ' ' +\
18260            'id: ' + repr(self.id) + ' ' +\
18261            'name: ' + repr(self.name) + ' ' +\
18262            'password: ' + repr(self.password) + ' ' +\
18263            'port: ' + repr(self.port) + ' ' +\
18264            'port_override: ' + repr(self.port_override) + ' ' +\
18265            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18266            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18267            'subdomain: ' + repr(self.subdomain) + ' ' +\
18268            'tags: ' + repr(self.tags) + ' ' +\
18269            'tls_required: ' + repr(self.tls_required) + ' ' +\
18270            'username: ' + repr(self.username) + ' ' +\
18271            '>'
18272
18273    def to_dict(self):
18274        return {
18275            'bind_interface': self.bind_interface,
18276            'database': self.database,
18277            'egress_filter': self.egress_filter,
18278            'healthy': self.healthy,
18279            'hostname': self.hostname,
18280            'id': self.id,
18281            'name': self.name,
18282            'password': self.password,
18283            'port': self.port,
18284            'port_override': self.port_override,
18285            'proxy_cluster_id': self.proxy_cluster_id,
18286            'secret_store_id': self.secret_store_id,
18287            'subdomain': self.subdomain,
18288            'tags': self.tags,
18289            'tls_required': self.tls_required,
18290            'username': self.username,
18291        }
18292
18293    @classmethod
18294    def from_dict(cls, d):
18295        return cls(
18296            bind_interface=d.get('bind_interface'),
18297            database=d.get('database'),
18298            egress_filter=d.get('egress_filter'),
18299            healthy=d.get('healthy'),
18300            hostname=d.get('hostname'),
18301            id=d.get('id'),
18302            name=d.get('name'),
18303            password=d.get('password'),
18304            port=d.get('port'),
18305            port_override=d.get('port_override'),
18306            proxy_cluster_id=d.get('proxy_cluster_id'),
18307            secret_store_id=d.get('secret_store_id'),
18308            subdomain=d.get('subdomain'),
18309            tags=d.get('tags'),
18310            tls_required=d.get('tls_required'),
18311            username=d.get('username'),
18312        )
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)
18169    def __init__(
18170        self,
18171        bind_interface=None,
18172        database=None,
18173        egress_filter=None,
18174        healthy=None,
18175        hostname=None,
18176        id=None,
18177        name=None,
18178        password=None,
18179        port=None,
18180        port_override=None,
18181        proxy_cluster_id=None,
18182        secret_store_id=None,
18183        subdomain=None,
18184        tags=None,
18185        tls_required=None,
18186        username=None,
18187    ):
18188        self.bind_interface = bind_interface if bind_interface is not None else ''
18189        '''
18190         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18191        '''
18192        self.database = database if database is not None else ''
18193        '''
18194         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18195        '''
18196        self.egress_filter = egress_filter if egress_filter is not None else ''
18197        '''
18198         A filter applied to the routing logic to pin datasource to nodes.
18199        '''
18200        self.healthy = healthy if healthy is not None else False
18201        '''
18202         True if the datasource is reachable and the credentials are valid.
18203        '''
18204        self.hostname = hostname if hostname is not None else ''
18205        '''
18206         The host to dial to initiate a connection from the egress node to this resource.
18207        '''
18208        self.id = id if id is not None else ''
18209        '''
18210         Unique identifier of the Resource.
18211        '''
18212        self.name = name if name is not None else ''
18213        '''
18214         Unique human-readable name of the Resource.
18215        '''
18216        self.password = password if password is not None else ''
18217        '''
18218         The password to authenticate with.
18219        '''
18220        self.port = port if port is not None else 0
18221        '''
18222         The port to dial to initiate a connection from the egress node to this resource.
18223        '''
18224        self.port_override = port_override if port_override is not None else 0
18225        '''
18226         The local port used by clients to connect to this resource.
18227        '''
18228        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18229        '''
18230         ID of the proxy cluster for this resource, if any.
18231        '''
18232        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18233        '''
18234         ID of the secret store containing credentials for this resource, if any.
18235        '''
18236        self.subdomain = subdomain if subdomain is not None else ''
18237        '''
18238         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18239        '''
18240        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18241        '''
18242         Tags is a map of key, value pairs.
18243        '''
18244        self.tls_required = tls_required if tls_required is not None else False
18245        '''
18246         If set, TLS must be used to connect to this resource.
18247        '''
18248        self.username = username if username is not None else ''
18249        '''
18250         The username to authenticate with.
18251        '''
bind_interface

The bind interface is the IP 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)
18273    def to_dict(self):
18274        return {
18275            'bind_interface': self.bind_interface,
18276            'database': self.database,
18277            'egress_filter': self.egress_filter,
18278            'healthy': self.healthy,
18279            'hostname': self.hostname,
18280            'id': self.id,
18281            'name': self.name,
18282            'password': self.password,
18283            'port': self.port,
18284            'port_override': self.port_override,
18285            'proxy_cluster_id': self.proxy_cluster_id,
18286            'secret_store_id': self.secret_store_id,
18287            'subdomain': self.subdomain,
18288            'tags': self.tags,
18289            'tls_required': self.tls_required,
18290            'username': self.username,
18291        }
@classmethod
def from_dict(cls, d)
18293    @classmethod
18294    def from_dict(cls, d):
18295        return cls(
18296            bind_interface=d.get('bind_interface'),
18297            database=d.get('database'),
18298            egress_filter=d.get('egress_filter'),
18299            healthy=d.get('healthy'),
18300            hostname=d.get('hostname'),
18301            id=d.get('id'),
18302            name=d.get('name'),
18303            password=d.get('password'),
18304            port=d.get('port'),
18305            port_override=d.get('port_override'),
18306            proxy_cluster_id=d.get('proxy_cluster_id'),
18307            secret_store_id=d.get('secret_store_id'),
18308            subdomain=d.get('subdomain'),
18309            tags=d.get('tags'),
18310            tls_required=d.get('tls_required'),
18311            username=d.get('username'),
18312        )
class ProxyCluster:
18315class ProxyCluster:
18316    '''
18317         ProxyCluster represents a cluster of StrongDM proxies.
18318    '''
18319    __slots__ = [
18320        'address',
18321        'id',
18322        'maintenance_windows',
18323        'name',
18324        'tags',
18325    ]
18326
18327    def __init__(
18328        self,
18329        address=None,
18330        id=None,
18331        maintenance_windows=None,
18332        name=None,
18333        tags=None,
18334    ):
18335        self.address = address if address is not None else ''
18336        '''
18337         The public hostname/port tuple at which the proxy cluster will be
18338         accessible to clients.
18339        '''
18340        self.id = id if id is not None else ''
18341        '''
18342         Unique identifier of the Proxy Cluster.
18343        '''
18344        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
18345        '''
18346         Maintenance Windows define when this node is allowed to restart. If a node
18347         is requested to restart, it will check each window to determine if any of
18348         them permit it to restart, and if any do, it will. This check is repeated
18349         per window until the restart is successfully completed.
18350         
18351         If not set here, may be set on the command line or via an environment variable
18352         on the process itself; any server setting will take precedence over local
18353         settings. This setting is ineffective for nodes below version 38.44.0.
18354         
18355         If this setting is not applied via this remote configuration or via local
18356         configuration, the default setting is used: always allow restarts if serving
18357         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
18358        '''
18359        self.name = name if name is not None else ''
18360        '''
18361         Unique human-readable name of the proxy cluster. Names must
18362         include only letters, numbers, and hyphens (no spaces, underscores, or
18363         other special characters). Generated if not provided on create.
18364        '''
18365        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18366        '''
18367         Tags is a map of key, value pairs.
18368        '''
18369
18370    def __repr__(self):
18371        return '<sdm.ProxyCluster ' + \
18372            'address: ' + repr(self.address) + ' ' +\
18373            'id: ' + repr(self.id) + ' ' +\
18374            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
18375            'name: ' + repr(self.name) + ' ' +\
18376            'tags: ' + repr(self.tags) + ' ' +\
18377            '>'
18378
18379    def to_dict(self):
18380        return {
18381            'address': self.address,
18382            'id': self.id,
18383            'maintenance_windows': self.maintenance_windows,
18384            'name': self.name,
18385            'tags': self.tags,
18386        }
18387
18388    @classmethod
18389    def from_dict(cls, d):
18390        return cls(
18391            address=d.get('address'),
18392            id=d.get('id'),
18393            maintenance_windows=d.get('maintenance_windows'),
18394            name=d.get('name'),
18395            tags=d.get('tags'),
18396        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
18327    def __init__(
18328        self,
18329        address=None,
18330        id=None,
18331        maintenance_windows=None,
18332        name=None,
18333        tags=None,
18334    ):
18335        self.address = address if address is not None else ''
18336        '''
18337         The public hostname/port tuple at which the proxy cluster will be
18338         accessible to clients.
18339        '''
18340        self.id = id if id is not None else ''
18341        '''
18342         Unique identifier of the Proxy Cluster.
18343        '''
18344        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
18345        '''
18346         Maintenance Windows define when this node is allowed to restart. If a node
18347         is requested to restart, it will check each window to determine if any of
18348         them permit it to restart, and if any do, it will. This check is repeated
18349         per window until the restart is successfully completed.
18350         
18351         If not set here, may be set on the command line or via an environment variable
18352         on the process itself; any server setting will take precedence over local
18353         settings. This setting is ineffective for nodes below version 38.44.0.
18354         
18355         If this setting is not applied via this remote configuration or via local
18356         configuration, the default setting is used: always allow restarts if serving
18357         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
18358        '''
18359        self.name = name if name is not None else ''
18360        '''
18361         Unique human-readable name of the proxy cluster. Names must
18362         include only letters, numbers, and hyphens (no spaces, underscores, or
18363         other special characters). Generated if not provided on create.
18364        '''
18365        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18366        '''
18367         Tags is a map of key, value pairs.
18368        '''
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)
18379    def to_dict(self):
18380        return {
18381            'address': self.address,
18382            'id': self.id,
18383            'maintenance_windows': self.maintenance_windows,
18384            'name': self.name,
18385            'tags': self.tags,
18386        }
@classmethod
def from_dict(cls, d)
18388    @classmethod
18389    def from_dict(cls, d):
18390        return cls(
18391            address=d.get('address'),
18392            id=d.get('id'),
18393            maintenance_windows=d.get('maintenance_windows'),
18394            name=d.get('name'),
18395            tags=d.get('tags'),
18396        )
class ProxyClusterKey:
18399class ProxyClusterKey:
18400    '''
18401         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
18402     The proxies within a cluster share the same key. One cluster can have
18403     multiple keys in order to facilitate key rotation.
18404    '''
18405    __slots__ = [
18406        'created_at',
18407        'id',
18408        'last_used_at',
18409        'proxy_cluster_id',
18410    ]
18411
18412    def __init__(
18413        self,
18414        created_at=None,
18415        id=None,
18416        last_used_at=None,
18417        proxy_cluster_id=None,
18418    ):
18419        self.created_at = created_at if created_at is not None else None
18420        '''
18421         The timestamp when this key was created.
18422        '''
18423        self.id = id if id is not None else ''
18424        '''
18425         Unique identifier of the Relay.
18426        '''
18427        self.last_used_at = last_used_at if last_used_at is not None else None
18428        '''
18429         The timestamp when this key was last used, if at all.
18430        '''
18431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18432        '''
18433         The ID of the proxy cluster which this key authenticates to.
18434        '''
18435
18436    def __repr__(self):
18437        return '<sdm.ProxyClusterKey ' + \
18438            'created_at: ' + repr(self.created_at) + ' ' +\
18439            'id: ' + repr(self.id) + ' ' +\
18440            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
18441            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18442            '>'
18443
18444    def to_dict(self):
18445        return {
18446            'created_at': self.created_at,
18447            'id': self.id,
18448            'last_used_at': self.last_used_at,
18449            'proxy_cluster_id': self.proxy_cluster_id,
18450        }
18451
18452    @classmethod
18453    def from_dict(cls, d):
18454        return cls(
18455            created_at=d.get('created_at'),
18456            id=d.get('id'),
18457            last_used_at=d.get('last_used_at'),
18458            proxy_cluster_id=d.get('proxy_cluster_id'),
18459        )

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)
18412    def __init__(
18413        self,
18414        created_at=None,
18415        id=None,
18416        last_used_at=None,
18417        proxy_cluster_id=None,
18418    ):
18419        self.created_at = created_at if created_at is not None else None
18420        '''
18421         The timestamp when this key was created.
18422        '''
18423        self.id = id if id is not None else ''
18424        '''
18425         Unique identifier of the Relay.
18426        '''
18427        self.last_used_at = last_used_at if last_used_at is not None else None
18428        '''
18429         The timestamp when this key was last used, if at all.
18430        '''
18431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18432        '''
18433         The ID of the proxy cluster which this key authenticates to.
18434        '''
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)
18444    def to_dict(self):
18445        return {
18446            'created_at': self.created_at,
18447            'id': self.id,
18448            'last_used_at': self.last_used_at,
18449            'proxy_cluster_id': self.proxy_cluster_id,
18450        }
@classmethod
def from_dict(cls, d)
18452    @classmethod
18453    def from_dict(cls, d):
18454        return cls(
18455            created_at=d.get('created_at'),
18456            id=d.get('id'),
18457            last_used_at=d.get('last_used_at'),
18458            proxy_cluster_id=d.get('proxy_cluster_id'),
18459        )
class ProxyClusterKeyCreateResponse:
18462class ProxyClusterKeyCreateResponse:
18463    '''
18464         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
18465    '''
18466    __slots__ = [
18467        'meta',
18468        'proxy_cluster_key',
18469        'rate_limit',
18470        'secret_key',
18471    ]
18472
18473    def __init__(
18474        self,
18475        meta=None,
18476        proxy_cluster_key=None,
18477        rate_limit=None,
18478        secret_key=None,
18479    ):
18480        self.meta = meta if meta is not None else None
18481        '''
18482         Reserved for future use.
18483        '''
18484        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18485        '''
18486         The created ProxyClusterKey.
18487        '''
18488        self.rate_limit = rate_limit if rate_limit is not None else None
18489        '''
18490         Rate limit information.
18491        '''
18492        self.secret_key = secret_key if secret_key is not None else ''
18493        '''
18494         The secret key component of this key. It must be saved upon creation
18495         because it will not be available for retrieval later.
18496        '''
18497
18498    def __repr__(self):
18499        return '<sdm.ProxyClusterKeyCreateResponse ' + \
18500            'meta: ' + repr(self.meta) + ' ' +\
18501            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
18502            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18503            'secret_key: ' + repr(self.secret_key) + ' ' +\
18504            '>'
18505
18506    def to_dict(self):
18507        return {
18508            'meta': self.meta,
18509            'proxy_cluster_key': self.proxy_cluster_key,
18510            'rate_limit': self.rate_limit,
18511            'secret_key': self.secret_key,
18512        }
18513
18514    @classmethod
18515    def from_dict(cls, d):
18516        return cls(
18517            meta=d.get('meta'),
18518            proxy_cluster_key=d.get('proxy_cluster_key'),
18519            rate_limit=d.get('rate_limit'),
18520            secret_key=d.get('secret_key'),
18521        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
18473    def __init__(
18474        self,
18475        meta=None,
18476        proxy_cluster_key=None,
18477        rate_limit=None,
18478        secret_key=None,
18479    ):
18480        self.meta = meta if meta is not None else None
18481        '''
18482         Reserved for future use.
18483        '''
18484        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18485        '''
18486         The created ProxyClusterKey.
18487        '''
18488        self.rate_limit = rate_limit if rate_limit is not None else None
18489        '''
18490         Rate limit information.
18491        '''
18492        self.secret_key = secret_key if secret_key is not None else ''
18493        '''
18494         The secret key component of this key. It must be saved upon creation
18495         because it will not be available for retrieval later.
18496        '''
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)
18506    def to_dict(self):
18507        return {
18508            'meta': self.meta,
18509            'proxy_cluster_key': self.proxy_cluster_key,
18510            'rate_limit': self.rate_limit,
18511            'secret_key': self.secret_key,
18512        }
@classmethod
def from_dict(cls, d)
18514    @classmethod
18515    def from_dict(cls, d):
18516        return cls(
18517            meta=d.get('meta'),
18518            proxy_cluster_key=d.get('proxy_cluster_key'),
18519            rate_limit=d.get('rate_limit'),
18520            secret_key=d.get('secret_key'),
18521        )
class ProxyClusterKeyDeleteResponse:
18524class ProxyClusterKeyDeleteResponse:
18525    '''
18526         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
18527    '''
18528    __slots__ = [
18529        'meta',
18530        'rate_limit',
18531    ]
18532
18533    def __init__(
18534        self,
18535        meta=None,
18536        rate_limit=None,
18537    ):
18538        self.meta = meta if meta is not None else None
18539        '''
18540         Reserved for future use.
18541        '''
18542        self.rate_limit = rate_limit if rate_limit is not None else None
18543        '''
18544         Rate limit information.
18545        '''
18546
18547    def __repr__(self):
18548        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
18549            'meta: ' + repr(self.meta) + ' ' +\
18550            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18551            '>'
18552
18553    def to_dict(self):
18554        return {
18555            'meta': self.meta,
18556            'rate_limit': self.rate_limit,
18557        }
18558
18559    @classmethod
18560    def from_dict(cls, d):
18561        return cls(
18562            meta=d.get('meta'),
18563            rate_limit=d.get('rate_limit'),
18564        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
18533    def __init__(
18534        self,
18535        meta=None,
18536        rate_limit=None,
18537    ):
18538        self.meta = meta if meta is not None else None
18539        '''
18540         Reserved for future use.
18541        '''
18542        self.rate_limit = rate_limit if rate_limit is not None else None
18543        '''
18544         Rate limit information.
18545        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
18553    def to_dict(self):
18554        return {
18555            'meta': self.meta,
18556            'rate_limit': self.rate_limit,
18557        }
@classmethod
def from_dict(cls, d)
18559    @classmethod
18560    def from_dict(cls, d):
18561        return cls(
18562            meta=d.get('meta'),
18563            rate_limit=d.get('rate_limit'),
18564        )
class ProxyClusterKeyGetResponse:
18567class ProxyClusterKeyGetResponse:
18568    '''
18569         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
18570    '''
18571    __slots__ = [
18572        'meta',
18573        'proxy_cluster_key',
18574        'rate_limit',
18575    ]
18576
18577    def __init__(
18578        self,
18579        meta=None,
18580        proxy_cluster_key=None,
18581        rate_limit=None,
18582    ):
18583        self.meta = meta if meta is not None else None
18584        '''
18585         Reserved for future use.
18586        '''
18587        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18588        '''
18589         The requested ProxyClusterKey.
18590        '''
18591        self.rate_limit = rate_limit if rate_limit is not None else None
18592        '''
18593         Rate limit information.
18594        '''
18595
18596    def __repr__(self):
18597        return '<sdm.ProxyClusterKeyGetResponse ' + \
18598            'meta: ' + repr(self.meta) + ' ' +\
18599            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
18600            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
18601            '>'
18602
18603    def to_dict(self):
18604        return {
18605            'meta': self.meta,
18606            'proxy_cluster_key': self.proxy_cluster_key,
18607            'rate_limit': self.rate_limit,
18608        }
18609
18610    @classmethod
18611    def from_dict(cls, d):
18612        return cls(
18613            meta=d.get('meta'),
18614            proxy_cluster_key=d.get('proxy_cluster_key'),
18615            rate_limit=d.get('rate_limit'),
18616        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
18577    def __init__(
18578        self,
18579        meta=None,
18580        proxy_cluster_key=None,
18581        rate_limit=None,
18582    ):
18583        self.meta = meta if meta is not None else None
18584        '''
18585         Reserved for future use.
18586        '''
18587        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
18588        '''
18589         The requested ProxyClusterKey.
18590        '''
18591        self.rate_limit = rate_limit if rate_limit is not None else None
18592        '''
18593         Rate limit information.
18594        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
18603    def to_dict(self):
18604        return {
18605            'meta': self.meta,
18606            'proxy_cluster_key': self.proxy_cluster_key,
18607            'rate_limit': self.rate_limit,
18608        }
@classmethod
def from_dict(cls, d)
18610    @classmethod
18611    def from_dict(cls, d):
18612        return cls(
18613            meta=d.get('meta'),
18614            proxy_cluster_key=d.get('proxy_cluster_key'),
18615            rate_limit=d.get('rate_limit'),
18616        )
class Query:
18619class Query:
18620    '''
18621         A Query is a record of a single client request to a resource, such as a SQL query.
18622     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
18623     interactive sessions will return two Query records with the same identifier, one record
18624     at the start of the query and a second record upon the completion of the query with
18625     additional detail.
18626    '''
18627    __slots__ = [
18628        'account_email',
18629        'account_first_name',
18630        'account_id',
18631        'account_last_name',
18632        'account_tags',
18633        'authzjson',
18634        'capture',
18635        'client_ip',
18636        'completed_at',
18637        'duration',
18638        'egress_node_id',
18639        'encrypted',
18640        'id',
18641        'identity_alias_username',
18642        'query_body',
18643        'query_category',
18644        'query_hash',
18645        'query_key',
18646        'record_count',
18647        'remote_identity_username',
18648        'replayable',
18649        'resource_id',
18650        'resource_name',
18651        'resource_tags',
18652        'resource_type',
18653        'source_ip',
18654        'target',
18655        'timestamp',
18656    ]
18657
18658    def __init__(
18659        self,
18660        account_email=None,
18661        account_first_name=None,
18662        account_id=None,
18663        account_last_name=None,
18664        account_tags=None,
18665        authzjson=None,
18666        capture=None,
18667        client_ip=None,
18668        completed_at=None,
18669        duration=None,
18670        egress_node_id=None,
18671        encrypted=None,
18672        id=None,
18673        identity_alias_username=None,
18674        query_body=None,
18675        query_category=None,
18676        query_hash=None,
18677        query_key=None,
18678        record_count=None,
18679        remote_identity_username=None,
18680        replayable=None,
18681        resource_id=None,
18682        resource_name=None,
18683        resource_tags=None,
18684        resource_type=None,
18685        source_ip=None,
18686        target=None,
18687        timestamp=None,
18688    ):
18689        self.account_email = account_email if account_email is not None else ''
18690        '''
18691         The email of the account performing this query, at the time the query was executed.
18692         If the account email is later changed, that change will not be reflected via this field.
18693        '''
18694        self.account_first_name = account_first_name if account_first_name is not None else ''
18695        '''
18696         The given name of the account performing this query, at the time the query was executed.
18697         If the account is later renamed, that change will not be reflected via this field.
18698        '''
18699        self.account_id = account_id if account_id is not None else ''
18700        '''
18701         Unique identifier of the Account that performed the Query.
18702        '''
18703        self.account_last_name = account_last_name if account_last_name is not None else ''
18704        '''
18705         The family name of the account performing this query, at the time the query was executed.
18706         If the account is later renamed, that change will not be reflected via this field.
18707        '''
18708        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
18709        )
18710        '''
18711         The tags of the account accessed, at the time the query was executed. If the account
18712         tags are later changed, that change will not be reflected via this field.
18713        '''
18714        self.authzjson = authzjson if authzjson is not None else ''
18715        '''
18716         Authorization metadata associated with this query.
18717        '''
18718        self.capture = capture if capture is not None else None
18719        '''
18720         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
18721         about the captured query.
18722        '''
18723        self.client_ip = client_ip if client_ip is not None else ''
18724        '''
18725         The IP address the Query was performed from, as detected at the StrongDM control plane.
18726        '''
18727        self.completed_at = completed_at if completed_at is not None else None
18728        '''
18729         The time at which the Query was completed.
18730         Empty if this record indicates the start of a long-running query.
18731        '''
18732        self.duration = duration if duration is not None else None
18733        '''
18734         The duration of the Query.
18735        '''
18736        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
18737        '''
18738         The unique ID of the node through which the Resource was accessed.
18739        '''
18740        self.encrypted = encrypted if encrypted is not None else False
18741        '''
18742         Indicates that the body of the Query is encrypted.
18743        '''
18744        self.id = id if id is not None else ''
18745        '''
18746         Unique identifier of the Query.
18747        '''
18748        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
18749        '''
18750         The username of the IdentityAlias used to access the Resource.
18751        '''
18752        self.query_body = query_body if query_body is not None else ''
18753        '''
18754         The captured content of the Query.
18755         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
18756        '''
18757        self.query_category = query_category if query_category is not None else ''
18758        '''
18759         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
18760        '''
18761        self.query_hash = query_hash if query_hash is not None else ''
18762        '''
18763         The hash of the body of the Query.
18764        '''
18765        self.query_key = query_key if query_key is not None else ''
18766        '''
18767         The symmetric key used to encrypt the body of this Query and its replay if replayable.
18768         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
18769         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
18770         If the Query is not encrypted, this field is empty.
18771        '''
18772        self.record_count = record_count if record_count is not None else 0
18773        '''
18774         The number of records returned by the Query, for a database Resource.
18775        '''
18776        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
18777        '''
18778         The username of the RemoteIdentity used to access the Resource.
18779        '''
18780        self.replayable = replayable if replayable is not None else False
18781        '''
18782         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
18783        '''
18784        self.resource_id = resource_id if resource_id is not None else ''
18785        '''
18786         Unique identifier of the Resource against which the Query was performed.
18787        '''
18788        self.resource_name = resource_name if resource_name is not None else ''
18789        '''
18790         The name of the resource accessed, at the time the query was executed. If the resource
18791         is later renamed, that change will not be reflected via this field.
18792        '''
18793        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
18794        )
18795        '''
18796         The tags of the resource accessed, at the time the query was executed. If the resource
18797         tags are later changed, that change will not be reflected via this field.
18798        '''
18799        self.resource_type = resource_type if resource_type is not None else ''
18800        '''
18801         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
18802        '''
18803        self.source_ip = source_ip if source_ip is not None else ''
18804        '''
18805         The IP address the Query was performed from, as detected at the ingress gateway.
18806        '''
18807        self.target = target if target is not None else ''
18808        '''
18809         The target destination of the query, in host:port format.
18810        '''
18811        self.timestamp = timestamp if timestamp is not None else None
18812        '''
18813         The time at which the Query was started.
18814        '''
18815
18816    def __repr__(self):
18817        return '<sdm.Query ' + \
18818            'account_email: ' + repr(self.account_email) + ' ' +\
18819            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
18820            'account_id: ' + repr(self.account_id) + ' ' +\
18821            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
18822            'account_tags: ' + repr(self.account_tags) + ' ' +\
18823            'authzjson: ' + repr(self.authzjson) + ' ' +\
18824            'capture: ' + repr(self.capture) + ' ' +\
18825            'client_ip: ' + repr(self.client_ip) + ' ' +\
18826            'completed_at: ' + repr(self.completed_at) + ' ' +\
18827            'duration: ' + repr(self.duration) + ' ' +\
18828            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
18829            'encrypted: ' + repr(self.encrypted) + ' ' +\
18830            'id: ' + repr(self.id) + ' ' +\
18831            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
18832            'query_body: ' + repr(self.query_body) + ' ' +\
18833            'query_category: ' + repr(self.query_category) + ' ' +\
18834            'query_hash: ' + repr(self.query_hash) + ' ' +\
18835            'query_key: ' + repr(self.query_key) + ' ' +\
18836            'record_count: ' + repr(self.record_count) + ' ' +\
18837            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
18838            'replayable: ' + repr(self.replayable) + ' ' +\
18839            'resource_id: ' + repr(self.resource_id) + ' ' +\
18840            'resource_name: ' + repr(self.resource_name) + ' ' +\
18841            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
18842            'resource_type: ' + repr(self.resource_type) + ' ' +\
18843            'source_ip: ' + repr(self.source_ip) + ' ' +\
18844            'target: ' + repr(self.target) + ' ' +\
18845            'timestamp: ' + repr(self.timestamp) + ' ' +\
18846            '>'
18847
18848    def to_dict(self):
18849        return {
18850            'account_email': self.account_email,
18851            'account_first_name': self.account_first_name,
18852            'account_id': self.account_id,
18853            'account_last_name': self.account_last_name,
18854            'account_tags': self.account_tags,
18855            'authzjson': self.authzjson,
18856            'capture': self.capture,
18857            'client_ip': self.client_ip,
18858            'completed_at': self.completed_at,
18859            'duration': self.duration,
18860            'egress_node_id': self.egress_node_id,
18861            'encrypted': self.encrypted,
18862            'id': self.id,
18863            'identity_alias_username': self.identity_alias_username,
18864            'query_body': self.query_body,
18865            'query_category': self.query_category,
18866            'query_hash': self.query_hash,
18867            'query_key': self.query_key,
18868            'record_count': self.record_count,
18869            'remote_identity_username': self.remote_identity_username,
18870            'replayable': self.replayable,
18871            'resource_id': self.resource_id,
18872            'resource_name': self.resource_name,
18873            'resource_tags': self.resource_tags,
18874            'resource_type': self.resource_type,
18875            'source_ip': self.source_ip,
18876            'target': self.target,
18877            'timestamp': self.timestamp,
18878        }
18879
18880    @classmethod
18881    def from_dict(cls, d):
18882        return cls(
18883            account_email=d.get('account_email'),
18884            account_first_name=d.get('account_first_name'),
18885            account_id=d.get('account_id'),
18886            account_last_name=d.get('account_last_name'),
18887            account_tags=d.get('account_tags'),
18888            authzjson=d.get('authzjson'),
18889            capture=d.get('capture'),
18890            client_ip=d.get('client_ip'),
18891            completed_at=d.get('completed_at'),
18892            duration=d.get('duration'),
18893            egress_node_id=d.get('egress_node_id'),
18894            encrypted=d.get('encrypted'),
18895            id=d.get('id'),
18896            identity_alias_username=d.get('identity_alias_username'),
18897            query_body=d.get('query_body'),
18898            query_category=d.get('query_category'),
18899            query_hash=d.get('query_hash'),
18900            query_key=d.get('query_key'),
18901            record_count=d.get('record_count'),
18902            remote_identity_username=d.get('remote_identity_username'),
18903            replayable=d.get('replayable'),
18904            resource_id=d.get('resource_id'),
18905            resource_name=d.get('resource_name'),
18906            resource_tags=d.get('resource_tags'),
18907            resource_type=d.get('resource_type'),
18908            source_ip=d.get('source_ip'),
18909            target=d.get('target'),
18910            timestamp=d.get('timestamp'),
18911        )

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)
18658    def __init__(
18659        self,
18660        account_email=None,
18661        account_first_name=None,
18662        account_id=None,
18663        account_last_name=None,
18664        account_tags=None,
18665        authzjson=None,
18666        capture=None,
18667        client_ip=None,
18668        completed_at=None,
18669        duration=None,
18670        egress_node_id=None,
18671        encrypted=None,
18672        id=None,
18673        identity_alias_username=None,
18674        query_body=None,
18675        query_category=None,
18676        query_hash=None,
18677        query_key=None,
18678        record_count=None,
18679        remote_identity_username=None,
18680        replayable=None,
18681        resource_id=None,
18682        resource_name=None,
18683        resource_tags=None,
18684        resource_type=None,
18685        source_ip=None,
18686        target=None,
18687        timestamp=None,
18688    ):
18689        self.account_email = account_email if account_email is not None else ''
18690        '''
18691         The email of the account performing this query, at the time the query was executed.
18692         If the account email is later changed, that change will not be reflected via this field.
18693        '''
18694        self.account_first_name = account_first_name if account_first_name is not None else ''
18695        '''
18696         The given name of the account performing this query, at the time the query was executed.
18697         If the account is later renamed, that change will not be reflected via this field.
18698        '''
18699        self.account_id = account_id if account_id is not None else ''
18700        '''
18701         Unique identifier of the Account that performed the Query.
18702        '''
18703        self.account_last_name = account_last_name if account_last_name is not None else ''
18704        '''
18705         The family name of the account performing this query, at the time the query was executed.
18706         If the account is later renamed, that change will not be reflected via this field.
18707        '''
18708        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
18709        )
18710        '''
18711         The tags of the account accessed, at the time the query was executed. If the account
18712         tags are later changed, that change will not be reflected via this field.
18713        '''
18714        self.authzjson = authzjson if authzjson is not None else ''
18715        '''
18716         Authorization metadata associated with this query.
18717        '''
18718        self.capture = capture if capture is not None else None
18719        '''
18720         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
18721         about the captured query.
18722        '''
18723        self.client_ip = client_ip if client_ip is not None else ''
18724        '''
18725         The IP address the Query was performed from, as detected at the StrongDM control plane.
18726        '''
18727        self.completed_at = completed_at if completed_at is not None else None
18728        '''
18729         The time at which the Query was completed.
18730         Empty if this record indicates the start of a long-running query.
18731        '''
18732        self.duration = duration if duration is not None else None
18733        '''
18734         The duration of the Query.
18735        '''
18736        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
18737        '''
18738         The unique ID of the node through which the Resource was accessed.
18739        '''
18740        self.encrypted = encrypted if encrypted is not None else False
18741        '''
18742         Indicates that the body of the Query is encrypted.
18743        '''
18744        self.id = id if id is not None else ''
18745        '''
18746         Unique identifier of the Query.
18747        '''
18748        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
18749        '''
18750         The username of the IdentityAlias used to access the Resource.
18751        '''
18752        self.query_body = query_body if query_body is not None else ''
18753        '''
18754         The captured content of the Query.
18755         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
18756        '''
18757        self.query_category = query_category if query_category is not None else ''
18758        '''
18759         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
18760        '''
18761        self.query_hash = query_hash if query_hash is not None else ''
18762        '''
18763         The hash of the body of the Query.
18764        '''
18765        self.query_key = query_key if query_key is not None else ''
18766        '''
18767         The symmetric key used to encrypt the body of this Query and its replay if replayable.
18768         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
18769         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
18770         If the Query is not encrypted, this field is empty.
18771        '''
18772        self.record_count = record_count if record_count is not None else 0
18773        '''
18774         The number of records returned by the Query, for a database Resource.
18775        '''
18776        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
18777        '''
18778         The username of the RemoteIdentity used to access the Resource.
18779        '''
18780        self.replayable = replayable if replayable is not None else False
18781        '''
18782         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
18783        '''
18784        self.resource_id = resource_id if resource_id is not None else ''
18785        '''
18786         Unique identifier of the Resource against which the Query was performed.
18787        '''
18788        self.resource_name = resource_name if resource_name is not None else ''
18789        '''
18790         The name of the resource accessed, at the time the query was executed. If the resource
18791         is later renamed, that change will not be reflected via this field.
18792        '''
18793        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
18794        )
18795        '''
18796         The tags of the resource accessed, at the time the query was executed. If the resource
18797         tags are later changed, that change will not be reflected via this field.
18798        '''
18799        self.resource_type = resource_type if resource_type is not None else ''
18800        '''
18801         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
18802        '''
18803        self.source_ip = source_ip if source_ip is not None else ''
18804        '''
18805         The IP address the Query was performed from, as detected at the ingress gateway.
18806        '''
18807        self.target = target if target is not None else ''
18808        '''
18809         The target destination of the query, in host:port format.
18810        '''
18811        self.timestamp = timestamp if timestamp is not None else None
18812        '''
18813         The time at which the Query was started.
18814        '''
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)
18848    def to_dict(self):
18849        return {
18850            'account_email': self.account_email,
18851            'account_first_name': self.account_first_name,
18852            'account_id': self.account_id,
18853            'account_last_name': self.account_last_name,
18854            'account_tags': self.account_tags,
18855            'authzjson': self.authzjson,
18856            'capture': self.capture,
18857            'client_ip': self.client_ip,
18858            'completed_at': self.completed_at,
18859            'duration': self.duration,
18860            'egress_node_id': self.egress_node_id,
18861            'encrypted': self.encrypted,
18862            'id': self.id,
18863            'identity_alias_username': self.identity_alias_username,
18864            'query_body': self.query_body,
18865            'query_category': self.query_category,
18866            'query_hash': self.query_hash,
18867            'query_key': self.query_key,
18868            'record_count': self.record_count,
18869            'remote_identity_username': self.remote_identity_username,
18870            'replayable': self.replayable,
18871            'resource_id': self.resource_id,
18872            'resource_name': self.resource_name,
18873            'resource_tags': self.resource_tags,
18874            'resource_type': self.resource_type,
18875            'source_ip': self.source_ip,
18876            'target': self.target,
18877            'timestamp': self.timestamp,
18878        }
@classmethod
def from_dict(cls, d)
18880    @classmethod
18881    def from_dict(cls, d):
18882        return cls(
18883            account_email=d.get('account_email'),
18884            account_first_name=d.get('account_first_name'),
18885            account_id=d.get('account_id'),
18886            account_last_name=d.get('account_last_name'),
18887            account_tags=d.get('account_tags'),
18888            authzjson=d.get('authzjson'),
18889            capture=d.get('capture'),
18890            client_ip=d.get('client_ip'),
18891            completed_at=d.get('completed_at'),
18892            duration=d.get('duration'),
18893            egress_node_id=d.get('egress_node_id'),
18894            encrypted=d.get('encrypted'),
18895            id=d.get('id'),
18896            identity_alias_username=d.get('identity_alias_username'),
18897            query_body=d.get('query_body'),
18898            query_category=d.get('query_category'),
18899            query_hash=d.get('query_hash'),
18900            query_key=d.get('query_key'),
18901            record_count=d.get('record_count'),
18902            remote_identity_username=d.get('remote_identity_username'),
18903            replayable=d.get('replayable'),
18904            resource_id=d.get('resource_id'),
18905            resource_name=d.get('resource_name'),
18906            resource_tags=d.get('resource_tags'),
18907            resource_type=d.get('resource_type'),
18908            source_ip=d.get('source_ip'),
18909            target=d.get('target'),
18910            timestamp=d.get('timestamp'),
18911        )
class QueryCapture:
18914class QueryCapture:
18915    '''
18916         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
18917    '''
18918    __slots__ = [
18919        'client_command',
18920        'command',
18921        'container',
18922        'env',
18923        'file_name',
18924        'file_size',
18925        'height',
18926        'impersonation_groups',
18927        'impersonation_user',
18928        'pod',
18929        'request_body',
18930        'request_method',
18931        'request_uri',
18932        'type',
18933        'width',
18934    ]
18935
18936    def __init__(
18937        self,
18938        client_command=None,
18939        command=None,
18940        container=None,
18941        env=None,
18942        file_name=None,
18943        file_size=None,
18944        height=None,
18945        impersonation_groups=None,
18946        impersonation_user=None,
18947        pod=None,
18948        request_body=None,
18949        request_method=None,
18950        request_uri=None,
18951        type=None,
18952        width=None,
18953    ):
18954        self.client_command = client_command if client_command is not None else ''
18955        '''
18956         The command executed on the client for a Kubernetes session.
18957        '''
18958        self.command = command if command is not None else ''
18959        '''
18960         The command executed over an SSH or Kubernetes session.
18961        '''
18962        self.container = container if container is not None else ''
18963        '''
18964         The target container of a Kubernetes operation.
18965        '''
18966        self.env = env if env is not None else {}
18967        '''
18968         The environment variables for an SSH or Kubernetes session.
18969        '''
18970        self.file_name = file_name if file_name is not None else ''
18971        '''
18972         The remote file name of an SCP operation.
18973        '''
18974        self.file_size = file_size if file_size is not None else 0
18975        '''
18976         The file size transferred for an SCP operation.
18977        '''
18978        self.height = height if height is not None else 0
18979        '''
18980         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
18981        '''
18982        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
18983        '''
18984         The impersonation groups of a Kubernetes operation.
18985        '''
18986        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
18987        '''
18988         The impersonation user of a Kubernetes operation.
18989        '''
18990        self.pod = pod if pod is not None else ''
18991        '''
18992         The target pod of a Kubernetes operation.
18993        '''
18994        self.request_body = request_body if request_body is not None else b''
18995        '''
18996         The HTTP request body of a Kubernetes operation.
18997        '''
18998        self.request_method = request_method if request_method is not None else ''
18999        '''
19000         The HTTP request method of a Kubernetes operation.
19001        '''
19002        self.request_uri = request_uri if request_uri is not None else ''
19003        '''
19004         The HTTP request URI of a Kubernetes operation.
19005        '''
19006        self.type = type if type is not None else ''
19007        '''
19008         The CaptureType of this query capture, one of the CaptureType constants.
19009        '''
19010        self.width = width if width is not None else 0
19011        '''
19012         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
19013        '''
19014
19015    def __repr__(self):
19016        return '<sdm.QueryCapture ' + \
19017            'client_command: ' + repr(self.client_command) + ' ' +\
19018            'command: ' + repr(self.command) + ' ' +\
19019            'container: ' + repr(self.container) + ' ' +\
19020            'env: ' + repr(self.env) + ' ' +\
19021            'file_name: ' + repr(self.file_name) + ' ' +\
19022            'file_size: ' + repr(self.file_size) + ' ' +\
19023            'height: ' + repr(self.height) + ' ' +\
19024            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
19025            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
19026            'pod: ' + repr(self.pod) + ' ' +\
19027            'request_body: ' + repr(self.request_body) + ' ' +\
19028            'request_method: ' + repr(self.request_method) + ' ' +\
19029            'request_uri: ' + repr(self.request_uri) + ' ' +\
19030            'type: ' + repr(self.type) + ' ' +\
19031            'width: ' + repr(self.width) + ' ' +\
19032            '>'
19033
19034    def to_dict(self):
19035        return {
19036            'client_command': self.client_command,
19037            'command': self.command,
19038            'container': self.container,
19039            'env': self.env,
19040            'file_name': self.file_name,
19041            'file_size': self.file_size,
19042            'height': self.height,
19043            'impersonation_groups': self.impersonation_groups,
19044            'impersonation_user': self.impersonation_user,
19045            'pod': self.pod,
19046            'request_body': self.request_body,
19047            'request_method': self.request_method,
19048            'request_uri': self.request_uri,
19049            'type': self.type,
19050            'width': self.width,
19051        }
19052
19053    @classmethod
19054    def from_dict(cls, d):
19055        return cls(
19056            client_command=d.get('client_command'),
19057            command=d.get('command'),
19058            container=d.get('container'),
19059            env=d.get('env'),
19060            file_name=d.get('file_name'),
19061            file_size=d.get('file_size'),
19062            height=d.get('height'),
19063            impersonation_groups=d.get('impersonation_groups'),
19064            impersonation_user=d.get('impersonation_user'),
19065            pod=d.get('pod'),
19066            request_body=d.get('request_body'),
19067            request_method=d.get('request_method'),
19068            request_uri=d.get('request_uri'),
19069            type=d.get('type'),
19070            width=d.get('width'),
19071        )

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, request_body=None, request_method=None, request_uri=None, type=None, width=None)
18936    def __init__(
18937        self,
18938        client_command=None,
18939        command=None,
18940        container=None,
18941        env=None,
18942        file_name=None,
18943        file_size=None,
18944        height=None,
18945        impersonation_groups=None,
18946        impersonation_user=None,
18947        pod=None,
18948        request_body=None,
18949        request_method=None,
18950        request_uri=None,
18951        type=None,
18952        width=None,
18953    ):
18954        self.client_command = client_command if client_command is not None else ''
18955        '''
18956         The command executed on the client for a Kubernetes session.
18957        '''
18958        self.command = command if command is not None else ''
18959        '''
18960         The command executed over an SSH or Kubernetes session.
18961        '''
18962        self.container = container if container is not None else ''
18963        '''
18964         The target container of a Kubernetes operation.
18965        '''
18966        self.env = env if env is not None else {}
18967        '''
18968         The environment variables for an SSH or Kubernetes session.
18969        '''
18970        self.file_name = file_name if file_name is not None else ''
18971        '''
18972         The remote file name of an SCP operation.
18973        '''
18974        self.file_size = file_size if file_size is not None else 0
18975        '''
18976         The file size transferred for an SCP operation.
18977        '''
18978        self.height = height if height is not None else 0
18979        '''
18980         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
18981        '''
18982        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
18983        '''
18984         The impersonation groups of a Kubernetes operation.
18985        '''
18986        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
18987        '''
18988         The impersonation user of a Kubernetes operation.
18989        '''
18990        self.pod = pod if pod is not None else ''
18991        '''
18992         The target pod of a Kubernetes operation.
18993        '''
18994        self.request_body = request_body if request_body is not None else b''
18995        '''
18996         The HTTP request body of a Kubernetes operation.
18997        '''
18998        self.request_method = request_method if request_method is not None else ''
18999        '''
19000         The HTTP request method of a Kubernetes operation.
19001        '''
19002        self.request_uri = request_uri if request_uri is not None else ''
19003        '''
19004         The HTTP request URI of a Kubernetes operation.
19005        '''
19006        self.type = type if type is not None else ''
19007        '''
19008         The CaptureType of this query capture, one of the CaptureType constants.
19009        '''
19010        self.width = width if width is not None else 0
19011        '''
19012         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
19013        '''
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.

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)
19034    def to_dict(self):
19035        return {
19036            'client_command': self.client_command,
19037            'command': self.command,
19038            'container': self.container,
19039            'env': self.env,
19040            'file_name': self.file_name,
19041            'file_size': self.file_size,
19042            'height': self.height,
19043            'impersonation_groups': self.impersonation_groups,
19044            'impersonation_user': self.impersonation_user,
19045            'pod': self.pod,
19046            'request_body': self.request_body,
19047            'request_method': self.request_method,
19048            'request_uri': self.request_uri,
19049            'type': self.type,
19050            'width': self.width,
19051        }
@classmethod
def from_dict(cls, d)
19053    @classmethod
19054    def from_dict(cls, d):
19055        return cls(
19056            client_command=d.get('client_command'),
19057            command=d.get('command'),
19058            container=d.get('container'),
19059            env=d.get('env'),
19060            file_name=d.get('file_name'),
19061            file_size=d.get('file_size'),
19062            height=d.get('height'),
19063            impersonation_groups=d.get('impersonation_groups'),
19064            impersonation_user=d.get('impersonation_user'),
19065            pod=d.get('pod'),
19066            request_body=d.get('request_body'),
19067            request_method=d.get('request_method'),
19068            request_uri=d.get('request_uri'),
19069            type=d.get('type'),
19070            width=d.get('width'),
19071        )
class RDP:
19074class RDP:
19075    __slots__ = [
19076        'bind_interface',
19077        'downgrade_nla_connections',
19078        'egress_filter',
19079        'healthy',
19080        'hostname',
19081        'id',
19082        'lock_required',
19083        'name',
19084        'password',
19085        'port',
19086        'port_override',
19087        'proxy_cluster_id',
19088        'secret_store_id',
19089        'subdomain',
19090        'tags',
19091        'username',
19092    ]
19093
19094    def __init__(
19095        self,
19096        bind_interface=None,
19097        downgrade_nla_connections=None,
19098        egress_filter=None,
19099        healthy=None,
19100        hostname=None,
19101        id=None,
19102        lock_required=None,
19103        name=None,
19104        password=None,
19105        port=None,
19106        port_override=None,
19107        proxy_cluster_id=None,
19108        secret_store_id=None,
19109        subdomain=None,
19110        tags=None,
19111        username=None,
19112    ):
19113        self.bind_interface = bind_interface if bind_interface is not None else ''
19114        '''
19115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19116        '''
19117        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
19118        '''
19119         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.
19120        '''
19121        self.egress_filter = egress_filter if egress_filter is not None else ''
19122        '''
19123         A filter applied to the routing logic to pin datasource to nodes.
19124        '''
19125        self.healthy = healthy if healthy is not None else False
19126        '''
19127         True if the datasource is reachable and the credentials are valid.
19128        '''
19129        self.hostname = hostname if hostname is not None else ''
19130        '''
19131         The host to dial to initiate a connection from the egress node to this resource.
19132        '''
19133        self.id = id if id is not None else ''
19134        '''
19135         Unique identifier of the Resource.
19136        '''
19137        self.lock_required = lock_required if lock_required is not None else False
19138        '''
19139         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
19140        '''
19141        self.name = name if name is not None else ''
19142        '''
19143         Unique human-readable name of the Resource.
19144        '''
19145        self.password = password if password is not None else ''
19146        '''
19147         The password to authenticate with.
19148        '''
19149        self.port = port if port is not None else 0
19150        '''
19151         The port to dial to initiate a connection from the egress node to this resource.
19152        '''
19153        self.port_override = port_override if port_override is not None else 0
19154        '''
19155         The local port used by clients to connect to this resource.
19156        '''
19157        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19158        '''
19159         ID of the proxy cluster for this resource, if any.
19160        '''
19161        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19162        '''
19163         ID of the secret store containing credentials for this resource, if any.
19164        '''
19165        self.subdomain = subdomain if subdomain is not None else ''
19166        '''
19167         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19168        '''
19169        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19170        '''
19171         Tags is a map of key, value pairs.
19172        '''
19173        self.username = username if username is not None else ''
19174        '''
19175         The username to authenticate with.
19176        '''
19177
19178    def __repr__(self):
19179        return '<sdm.RDP ' + \
19180            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19181            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
19182            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19183            'healthy: ' + repr(self.healthy) + ' ' +\
19184            'hostname: ' + repr(self.hostname) + ' ' +\
19185            'id: ' + repr(self.id) + ' ' +\
19186            'lock_required: ' + repr(self.lock_required) + ' ' +\
19187            'name: ' + repr(self.name) + ' ' +\
19188            'password: ' + repr(self.password) + ' ' +\
19189            'port: ' + repr(self.port) + ' ' +\
19190            'port_override: ' + repr(self.port_override) + ' ' +\
19191            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19192            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19193            'subdomain: ' + repr(self.subdomain) + ' ' +\
19194            'tags: ' + repr(self.tags) + ' ' +\
19195            'username: ' + repr(self.username) + ' ' +\
19196            '>'
19197
19198    def to_dict(self):
19199        return {
19200            'bind_interface': self.bind_interface,
19201            'downgrade_nla_connections': self.downgrade_nla_connections,
19202            'egress_filter': self.egress_filter,
19203            'healthy': self.healthy,
19204            'hostname': self.hostname,
19205            'id': self.id,
19206            'lock_required': self.lock_required,
19207            'name': self.name,
19208            'password': self.password,
19209            'port': self.port,
19210            'port_override': self.port_override,
19211            'proxy_cluster_id': self.proxy_cluster_id,
19212            'secret_store_id': self.secret_store_id,
19213            'subdomain': self.subdomain,
19214            'tags': self.tags,
19215            'username': self.username,
19216        }
19217
19218    @classmethod
19219    def from_dict(cls, d):
19220        return cls(
19221            bind_interface=d.get('bind_interface'),
19222            downgrade_nla_connections=d.get('downgrade_nla_connections'),
19223            egress_filter=d.get('egress_filter'),
19224            healthy=d.get('healthy'),
19225            hostname=d.get('hostname'),
19226            id=d.get('id'),
19227            lock_required=d.get('lock_required'),
19228            name=d.get('name'),
19229            password=d.get('password'),
19230            port=d.get('port'),
19231            port_override=d.get('port_override'),
19232            proxy_cluster_id=d.get('proxy_cluster_id'),
19233            secret_store_id=d.get('secret_store_id'),
19234            subdomain=d.get('subdomain'),
19235            tags=d.get('tags'),
19236            username=d.get('username'),
19237        )
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)
19094    def __init__(
19095        self,
19096        bind_interface=None,
19097        downgrade_nla_connections=None,
19098        egress_filter=None,
19099        healthy=None,
19100        hostname=None,
19101        id=None,
19102        lock_required=None,
19103        name=None,
19104        password=None,
19105        port=None,
19106        port_override=None,
19107        proxy_cluster_id=None,
19108        secret_store_id=None,
19109        subdomain=None,
19110        tags=None,
19111        username=None,
19112    ):
19113        self.bind_interface = bind_interface if bind_interface is not None else ''
19114        '''
19115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19116        '''
19117        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
19118        '''
19119         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.
19120        '''
19121        self.egress_filter = egress_filter if egress_filter is not None else ''
19122        '''
19123         A filter applied to the routing logic to pin datasource to nodes.
19124        '''
19125        self.healthy = healthy if healthy is not None else False
19126        '''
19127         True if the datasource is reachable and the credentials are valid.
19128        '''
19129        self.hostname = hostname if hostname is not None else ''
19130        '''
19131         The host to dial to initiate a connection from the egress node to this resource.
19132        '''
19133        self.id = id if id is not None else ''
19134        '''
19135         Unique identifier of the Resource.
19136        '''
19137        self.lock_required = lock_required if lock_required is not None else False
19138        '''
19139         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
19140        '''
19141        self.name = name if name is not None else ''
19142        '''
19143         Unique human-readable name of the Resource.
19144        '''
19145        self.password = password if password is not None else ''
19146        '''
19147         The password to authenticate with.
19148        '''
19149        self.port = port if port is not None else 0
19150        '''
19151         The port to dial to initiate a connection from the egress node to this resource.
19152        '''
19153        self.port_override = port_override if port_override is not None else 0
19154        '''
19155         The local port used by clients to connect to this resource.
19156        '''
19157        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19158        '''
19159         ID of the proxy cluster for this resource, if any.
19160        '''
19161        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19162        '''
19163         ID of the secret store containing credentials for this resource, if any.
19164        '''
19165        self.subdomain = subdomain if subdomain is not None else ''
19166        '''
19167         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19168        '''
19169        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19170        '''
19171         Tags is a map of key, value pairs.
19172        '''
19173        self.username = username if username is not None else ''
19174        '''
19175         The username to authenticate with.
19176        '''
bind_interface

The bind interface is the IP 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)
19198    def to_dict(self):
19199        return {
19200            'bind_interface': self.bind_interface,
19201            'downgrade_nla_connections': self.downgrade_nla_connections,
19202            'egress_filter': self.egress_filter,
19203            'healthy': self.healthy,
19204            'hostname': self.hostname,
19205            'id': self.id,
19206            'lock_required': self.lock_required,
19207            'name': self.name,
19208            'password': self.password,
19209            'port': self.port,
19210            'port_override': self.port_override,
19211            'proxy_cluster_id': self.proxy_cluster_id,
19212            'secret_store_id': self.secret_store_id,
19213            'subdomain': self.subdomain,
19214            'tags': self.tags,
19215            'username': self.username,
19216        }
@classmethod
def from_dict(cls, d)
19218    @classmethod
19219    def from_dict(cls, d):
19220        return cls(
19221            bind_interface=d.get('bind_interface'),
19222            downgrade_nla_connections=d.get('downgrade_nla_connections'),
19223            egress_filter=d.get('egress_filter'),
19224            healthy=d.get('healthy'),
19225            hostname=d.get('hostname'),
19226            id=d.get('id'),
19227            lock_required=d.get('lock_required'),
19228            name=d.get('name'),
19229            password=d.get('password'),
19230            port=d.get('port'),
19231            port_override=d.get('port_override'),
19232            proxy_cluster_id=d.get('proxy_cluster_id'),
19233            secret_store_id=d.get('secret_store_id'),
19234            subdomain=d.get('subdomain'),
19235            tags=d.get('tags'),
19236            username=d.get('username'),
19237        )
class RDPCert:
19240class RDPCert:
19241    __slots__ = [
19242        'bind_interface',
19243        'egress_filter',
19244        'healthy',
19245        'hostname',
19246        'id',
19247        'identity_alias_healthcheck_username',
19248        'identity_set_id',
19249        'name',
19250        'port',
19251        'port_override',
19252        'proxy_cluster_id',
19253        'secret_store_id',
19254        'subdomain',
19255        'tags',
19256        'username',
19257    ]
19258
19259    def __init__(
19260        self,
19261        bind_interface=None,
19262        egress_filter=None,
19263        healthy=None,
19264        hostname=None,
19265        id=None,
19266        identity_alias_healthcheck_username=None,
19267        identity_set_id=None,
19268        name=None,
19269        port=None,
19270        port_override=None,
19271        proxy_cluster_id=None,
19272        secret_store_id=None,
19273        subdomain=None,
19274        tags=None,
19275        username=None,
19276    ):
19277        self.bind_interface = bind_interface if bind_interface is not None else ''
19278        '''
19279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19280        '''
19281        self.egress_filter = egress_filter if egress_filter is not None else ''
19282        '''
19283         A filter applied to the routing logic to pin datasource to nodes.
19284        '''
19285        self.healthy = healthy if healthy is not None else False
19286        '''
19287         True if the datasource is reachable and the credentials are valid.
19288        '''
19289        self.hostname = hostname if hostname is not None else ''
19290        '''
19291         The host to dial to initiate a connection from the egress node to this resource.
19292        '''
19293        self.id = id if id is not None else ''
19294        '''
19295         Unique identifier of the Resource.
19296        '''
19297        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19298        '''
19299         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19300        '''
19301        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19302        '''
19303         The ID of the identity set to use for identity connections.
19304        '''
19305        self.name = name if name is not None else ''
19306        '''
19307         Unique human-readable name of the Resource.
19308        '''
19309        self.port = port if port is not None else 0
19310        '''
19311         The port to dial to initiate a connection from the egress node to this resource.
19312        '''
19313        self.port_override = port_override if port_override is not None else 0
19314        '''
19315         The local port used by clients to connect to this resource.
19316        '''
19317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19318        '''
19319         ID of the proxy cluster for this resource, if any.
19320        '''
19321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19322        '''
19323         ID of the secret store containing credentials for this resource, if any.
19324        '''
19325        self.subdomain = subdomain if subdomain is not None else ''
19326        '''
19327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19328        '''
19329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19330        '''
19331         Tags is a map of key, value pairs.
19332        '''
19333        self.username = username if username is not None else ''
19334        '''
19335         The username to authenticate with.
19336        '''
19337
19338    def __repr__(self):
19339        return '<sdm.RDPCert ' + \
19340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19342            'healthy: ' + repr(self.healthy) + ' ' +\
19343            'hostname: ' + repr(self.hostname) + ' ' +\
19344            'id: ' + repr(self.id) + ' ' +\
19345            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
19346            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
19347            'name: ' + repr(self.name) + ' ' +\
19348            'port: ' + repr(self.port) + ' ' +\
19349            'port_override: ' + repr(self.port_override) + ' ' +\
19350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19352            'subdomain: ' + repr(self.subdomain) + ' ' +\
19353            'tags: ' + repr(self.tags) + ' ' +\
19354            'username: ' + repr(self.username) + ' ' +\
19355            '>'
19356
19357    def to_dict(self):
19358        return {
19359            'bind_interface': self.bind_interface,
19360            'egress_filter': self.egress_filter,
19361            'healthy': self.healthy,
19362            'hostname': self.hostname,
19363            'id': self.id,
19364            'identity_alias_healthcheck_username':
19365            self.identity_alias_healthcheck_username,
19366            'identity_set_id': self.identity_set_id,
19367            'name': self.name,
19368            'port': self.port,
19369            'port_override': self.port_override,
19370            'proxy_cluster_id': self.proxy_cluster_id,
19371            'secret_store_id': self.secret_store_id,
19372            'subdomain': self.subdomain,
19373            'tags': self.tags,
19374            'username': self.username,
19375        }
19376
19377    @classmethod
19378    def from_dict(cls, d):
19379        return cls(
19380            bind_interface=d.get('bind_interface'),
19381            egress_filter=d.get('egress_filter'),
19382            healthy=d.get('healthy'),
19383            hostname=d.get('hostname'),
19384            id=d.get('id'),
19385            identity_alias_healthcheck_username=d.get(
19386                'identity_alias_healthcheck_username'),
19387            identity_set_id=d.get('identity_set_id'),
19388            name=d.get('name'),
19389            port=d.get('port'),
19390            port_override=d.get('port_override'),
19391            proxy_cluster_id=d.get('proxy_cluster_id'),
19392            secret_store_id=d.get('secret_store_id'),
19393            subdomain=d.get('subdomain'),
19394            tags=d.get('tags'),
19395            username=d.get('username'),
19396        )
RDPCert( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
19259    def __init__(
19260        self,
19261        bind_interface=None,
19262        egress_filter=None,
19263        healthy=None,
19264        hostname=None,
19265        id=None,
19266        identity_alias_healthcheck_username=None,
19267        identity_set_id=None,
19268        name=None,
19269        port=None,
19270        port_override=None,
19271        proxy_cluster_id=None,
19272        secret_store_id=None,
19273        subdomain=None,
19274        tags=None,
19275        username=None,
19276    ):
19277        self.bind_interface = bind_interface if bind_interface is not None else ''
19278        '''
19279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19280        '''
19281        self.egress_filter = egress_filter if egress_filter is not None else ''
19282        '''
19283         A filter applied to the routing logic to pin datasource to nodes.
19284        '''
19285        self.healthy = healthy if healthy is not None else False
19286        '''
19287         True if the datasource is reachable and the credentials are valid.
19288        '''
19289        self.hostname = hostname if hostname is not None else ''
19290        '''
19291         The host to dial to initiate a connection from the egress node to this resource.
19292        '''
19293        self.id = id if id is not None else ''
19294        '''
19295         Unique identifier of the Resource.
19296        '''
19297        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
19298        '''
19299         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
19300        '''
19301        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
19302        '''
19303         The ID of the identity set to use for identity connections.
19304        '''
19305        self.name = name if name is not None else ''
19306        '''
19307         Unique human-readable name of the Resource.
19308        '''
19309        self.port = port if port is not None else 0
19310        '''
19311         The port to dial to initiate a connection from the egress node to this resource.
19312        '''
19313        self.port_override = port_override if port_override is not None else 0
19314        '''
19315         The local port used by clients to connect to this resource.
19316        '''
19317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19318        '''
19319         ID of the proxy cluster for this resource, if any.
19320        '''
19321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19322        '''
19323         ID of the secret store containing credentials for this resource, if any.
19324        '''
19325        self.subdomain = subdomain if subdomain is not None else ''
19326        '''
19327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19328        '''
19329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19330        '''
19331         Tags is a map of key, value pairs.
19332        '''
19333        self.username = username if username is not None else ''
19334        '''
19335         The username to authenticate with.
19336        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_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)
19357    def to_dict(self):
19358        return {
19359            'bind_interface': self.bind_interface,
19360            'egress_filter': self.egress_filter,
19361            'healthy': self.healthy,
19362            'hostname': self.hostname,
19363            'id': self.id,
19364            'identity_alias_healthcheck_username':
19365            self.identity_alias_healthcheck_username,
19366            'identity_set_id': self.identity_set_id,
19367            'name': self.name,
19368            'port': self.port,
19369            'port_override': self.port_override,
19370            'proxy_cluster_id': self.proxy_cluster_id,
19371            'secret_store_id': self.secret_store_id,
19372            'subdomain': self.subdomain,
19373            'tags': self.tags,
19374            'username': self.username,
19375        }
@classmethod
def from_dict(cls, d)
19377    @classmethod
19378    def from_dict(cls, d):
19379        return cls(
19380            bind_interface=d.get('bind_interface'),
19381            egress_filter=d.get('egress_filter'),
19382            healthy=d.get('healthy'),
19383            hostname=d.get('hostname'),
19384            id=d.get('id'),
19385            identity_alias_healthcheck_username=d.get(
19386                'identity_alias_healthcheck_username'),
19387            identity_set_id=d.get('identity_set_id'),
19388            name=d.get('name'),
19389            port=d.get('port'),
19390            port_override=d.get('port_override'),
19391            proxy_cluster_id=d.get('proxy_cluster_id'),
19392            secret_store_id=d.get('secret_store_id'),
19393            subdomain=d.get('subdomain'),
19394            tags=d.get('tags'),
19395            username=d.get('username'),
19396        )
class RDSPostgresIAM:
19399class RDSPostgresIAM:
19400    __slots__ = [
19401        'bind_interface',
19402        'database',
19403        'egress_filter',
19404        'healthy',
19405        'hostname',
19406        'id',
19407        'name',
19408        'override_database',
19409        'port',
19410        'port_override',
19411        'proxy_cluster_id',
19412        'region',
19413        'role_assumption_arn',
19414        'secret_store_id',
19415        'subdomain',
19416        'tags',
19417        'username',
19418    ]
19419
19420    def __init__(
19421        self,
19422        bind_interface=None,
19423        database=None,
19424        egress_filter=None,
19425        healthy=None,
19426        hostname=None,
19427        id=None,
19428        name=None,
19429        override_database=None,
19430        port=None,
19431        port_override=None,
19432        proxy_cluster_id=None,
19433        region=None,
19434        role_assumption_arn=None,
19435        secret_store_id=None,
19436        subdomain=None,
19437        tags=None,
19438        username=None,
19439    ):
19440        self.bind_interface = bind_interface if bind_interface is not None else ''
19441        '''
19442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19443        '''
19444        self.database = database if database is not None else ''
19445        '''
19446         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19447        '''
19448        self.egress_filter = egress_filter if egress_filter is not None else ''
19449        '''
19450         A filter applied to the routing logic to pin datasource to nodes.
19451        '''
19452        self.healthy = healthy if healthy is not None else False
19453        '''
19454         True if the datasource is reachable and the credentials are valid.
19455        '''
19456        self.hostname = hostname if hostname is not None else ''
19457        '''
19458         The host to dial to initiate a connection from the egress node to this resource.
19459        '''
19460        self.id = id if id is not None else ''
19461        '''
19462         Unique identifier of the Resource.
19463        '''
19464        self.name = name if name is not None else ''
19465        '''
19466         Unique human-readable name of the Resource.
19467        '''
19468        self.override_database = override_database if override_database is not None else False
19469        '''
19470         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.
19471        '''
19472        self.port = port if port is not None else 0
19473        '''
19474         The port to dial to initiate a connection from the egress node to this resource.
19475        '''
19476        self.port_override = port_override if port_override is not None else 0
19477        '''
19478         The local port used by clients to connect to this resource.
19479        '''
19480        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19481        '''
19482         ID of the proxy cluster for this resource, if any.
19483        '''
19484        self.region = region if region is not None else ''
19485        '''
19486         The AWS region to connect to.
19487        '''
19488        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
19489        '''
19490         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
19491        '''
19492        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19493        '''
19494         ID of the secret store containing credentials for this resource, if any.
19495        '''
19496        self.subdomain = subdomain if subdomain is not None else ''
19497        '''
19498         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19499        '''
19500        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19501        '''
19502         Tags is a map of key, value pairs.
19503        '''
19504        self.username = username if username is not None else ''
19505        '''
19506         The username to authenticate with.
19507        '''
19508
19509    def __repr__(self):
19510        return '<sdm.RDSPostgresIAM ' + \
19511            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19512            'database: ' + repr(self.database) + ' ' +\
19513            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19514            'healthy: ' + repr(self.healthy) + ' ' +\
19515            'hostname: ' + repr(self.hostname) + ' ' +\
19516            'id: ' + repr(self.id) + ' ' +\
19517            'name: ' + repr(self.name) + ' ' +\
19518            'override_database: ' + repr(self.override_database) + ' ' +\
19519            'port: ' + repr(self.port) + ' ' +\
19520            'port_override: ' + repr(self.port_override) + ' ' +\
19521            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19522            'region: ' + repr(self.region) + ' ' +\
19523            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
19524            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19525            'subdomain: ' + repr(self.subdomain) + ' ' +\
19526            'tags: ' + repr(self.tags) + ' ' +\
19527            'username: ' + repr(self.username) + ' ' +\
19528            '>'
19529
19530    def to_dict(self):
19531        return {
19532            'bind_interface': self.bind_interface,
19533            'database': self.database,
19534            'egress_filter': self.egress_filter,
19535            'healthy': self.healthy,
19536            'hostname': self.hostname,
19537            'id': self.id,
19538            'name': self.name,
19539            'override_database': self.override_database,
19540            'port': self.port,
19541            'port_override': self.port_override,
19542            'proxy_cluster_id': self.proxy_cluster_id,
19543            'region': self.region,
19544            'role_assumption_arn': self.role_assumption_arn,
19545            'secret_store_id': self.secret_store_id,
19546            'subdomain': self.subdomain,
19547            'tags': self.tags,
19548            'username': self.username,
19549        }
19550
19551    @classmethod
19552    def from_dict(cls, d):
19553        return cls(
19554            bind_interface=d.get('bind_interface'),
19555            database=d.get('database'),
19556            egress_filter=d.get('egress_filter'),
19557            healthy=d.get('healthy'),
19558            hostname=d.get('hostname'),
19559            id=d.get('id'),
19560            name=d.get('name'),
19561            override_database=d.get('override_database'),
19562            port=d.get('port'),
19563            port_override=d.get('port_override'),
19564            proxy_cluster_id=d.get('proxy_cluster_id'),
19565            region=d.get('region'),
19566            role_assumption_arn=d.get('role_assumption_arn'),
19567            secret_store_id=d.get('secret_store_id'),
19568            subdomain=d.get('subdomain'),
19569            tags=d.get('tags'),
19570            username=d.get('username'),
19571        )
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)
19420    def __init__(
19421        self,
19422        bind_interface=None,
19423        database=None,
19424        egress_filter=None,
19425        healthy=None,
19426        hostname=None,
19427        id=None,
19428        name=None,
19429        override_database=None,
19430        port=None,
19431        port_override=None,
19432        proxy_cluster_id=None,
19433        region=None,
19434        role_assumption_arn=None,
19435        secret_store_id=None,
19436        subdomain=None,
19437        tags=None,
19438        username=None,
19439    ):
19440        self.bind_interface = bind_interface if bind_interface is not None else ''
19441        '''
19442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19443        '''
19444        self.database = database if database is not None else ''
19445        '''
19446         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19447        '''
19448        self.egress_filter = egress_filter if egress_filter is not None else ''
19449        '''
19450         A filter applied to the routing logic to pin datasource to nodes.
19451        '''
19452        self.healthy = healthy if healthy is not None else False
19453        '''
19454         True if the datasource is reachable and the credentials are valid.
19455        '''
19456        self.hostname = hostname if hostname is not None else ''
19457        '''
19458         The host to dial to initiate a connection from the egress node to this resource.
19459        '''
19460        self.id = id if id is not None else ''
19461        '''
19462         Unique identifier of the Resource.
19463        '''
19464        self.name = name if name is not None else ''
19465        '''
19466         Unique human-readable name of the Resource.
19467        '''
19468        self.override_database = override_database if override_database is not None else False
19469        '''
19470         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.
19471        '''
19472        self.port = port if port is not None else 0
19473        '''
19474         The port to dial to initiate a connection from the egress node to this resource.
19475        '''
19476        self.port_override = port_override if port_override is not None else 0
19477        '''
19478         The local port used by clients to connect to this resource.
19479        '''
19480        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19481        '''
19482         ID of the proxy cluster for this resource, if any.
19483        '''
19484        self.region = region if region is not None else ''
19485        '''
19486         The AWS region to connect to.
19487        '''
19488        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
19489        '''
19490         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
19491        '''
19492        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19493        '''
19494         ID of the secret store containing credentials for this resource, if any.
19495        '''
19496        self.subdomain = subdomain if subdomain is not None else ''
19497        '''
19498         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19499        '''
19500        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19501        '''
19502         Tags is a map of key, value pairs.
19503        '''
19504        self.username = username if username is not None else ''
19505        '''
19506         The username to authenticate with.
19507        '''
bind_interface

The bind interface is the IP 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)
19530    def to_dict(self):
19531        return {
19532            'bind_interface': self.bind_interface,
19533            'database': self.database,
19534            'egress_filter': self.egress_filter,
19535            'healthy': self.healthy,
19536            'hostname': self.hostname,
19537            'id': self.id,
19538            'name': self.name,
19539            'override_database': self.override_database,
19540            'port': self.port,
19541            'port_override': self.port_override,
19542            'proxy_cluster_id': self.proxy_cluster_id,
19543            'region': self.region,
19544            'role_assumption_arn': self.role_assumption_arn,
19545            'secret_store_id': self.secret_store_id,
19546            'subdomain': self.subdomain,
19547            'tags': self.tags,
19548            'username': self.username,
19549        }
@classmethod
def from_dict(cls, d)
19551    @classmethod
19552    def from_dict(cls, d):
19553        return cls(
19554            bind_interface=d.get('bind_interface'),
19555            database=d.get('database'),
19556            egress_filter=d.get('egress_filter'),
19557            healthy=d.get('healthy'),
19558            hostname=d.get('hostname'),
19559            id=d.get('id'),
19560            name=d.get('name'),
19561            override_database=d.get('override_database'),
19562            port=d.get('port'),
19563            port_override=d.get('port_override'),
19564            proxy_cluster_id=d.get('proxy_cluster_id'),
19565            region=d.get('region'),
19566            role_assumption_arn=d.get('role_assumption_arn'),
19567            secret_store_id=d.get('secret_store_id'),
19568            subdomain=d.get('subdomain'),
19569            tags=d.get('tags'),
19570            username=d.get('username'),
19571        )
class RabbitMQAMQP091:
19574class RabbitMQAMQP091:
19575    __slots__ = [
19576        'bind_interface',
19577        'egress_filter',
19578        'healthy',
19579        'hostname',
19580        'id',
19581        'name',
19582        'password',
19583        'port',
19584        'port_override',
19585        'proxy_cluster_id',
19586        'secret_store_id',
19587        'subdomain',
19588        'tags',
19589        'tls_required',
19590        'username',
19591    ]
19592
19593    def __init__(
19594        self,
19595        bind_interface=None,
19596        egress_filter=None,
19597        healthy=None,
19598        hostname=None,
19599        id=None,
19600        name=None,
19601        password=None,
19602        port=None,
19603        port_override=None,
19604        proxy_cluster_id=None,
19605        secret_store_id=None,
19606        subdomain=None,
19607        tags=None,
19608        tls_required=None,
19609        username=None,
19610    ):
19611        self.bind_interface = bind_interface if bind_interface is not None else ''
19612        '''
19613         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19614        '''
19615        self.egress_filter = egress_filter if egress_filter is not None else ''
19616        '''
19617         A filter applied to the routing logic to pin datasource to nodes.
19618        '''
19619        self.healthy = healthy if healthy is not None else False
19620        '''
19621         True if the datasource is reachable and the credentials are valid.
19622        '''
19623        self.hostname = hostname if hostname is not None else ''
19624        '''
19625         The host to dial to initiate a connection from the egress node to this resource.
19626        '''
19627        self.id = id if id is not None else ''
19628        '''
19629         Unique identifier of the Resource.
19630        '''
19631        self.name = name if name is not None else ''
19632        '''
19633         Unique human-readable name of the Resource.
19634        '''
19635        self.password = password if password is not None else ''
19636        '''
19637         The password to authenticate with.
19638        '''
19639        self.port = port if port is not None else 0
19640        '''
19641         The port to dial to initiate a connection from the egress node to this resource.
19642        '''
19643        self.port_override = port_override if port_override is not None else 0
19644        '''
19645         The local port used by clients to connect to this resource.
19646        '''
19647        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19648        '''
19649         ID of the proxy cluster for this resource, if any.
19650        '''
19651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19652        '''
19653         ID of the secret store containing credentials for this resource, if any.
19654        '''
19655        self.subdomain = subdomain if subdomain is not None else ''
19656        '''
19657         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19658        '''
19659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19660        '''
19661         Tags is a map of key, value pairs.
19662        '''
19663        self.tls_required = tls_required if tls_required is not None else False
19664        '''
19665         If set, TLS must be used to connect to this resource.
19666        '''
19667        self.username = username if username is not None else ''
19668        '''
19669         The username to authenticate with.
19670        '''
19671
19672    def __repr__(self):
19673        return '<sdm.RabbitMQAMQP091 ' + \
19674            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19675            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19676            'healthy: ' + repr(self.healthy) + ' ' +\
19677            'hostname: ' + repr(self.hostname) + ' ' +\
19678            'id: ' + repr(self.id) + ' ' +\
19679            'name: ' + repr(self.name) + ' ' +\
19680            'password: ' + repr(self.password) + ' ' +\
19681            'port: ' + repr(self.port) + ' ' +\
19682            'port_override: ' + repr(self.port_override) + ' ' +\
19683            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19684            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19685            'subdomain: ' + repr(self.subdomain) + ' ' +\
19686            'tags: ' + repr(self.tags) + ' ' +\
19687            'tls_required: ' + repr(self.tls_required) + ' ' +\
19688            'username: ' + repr(self.username) + ' ' +\
19689            '>'
19690
19691    def to_dict(self):
19692        return {
19693            'bind_interface': self.bind_interface,
19694            'egress_filter': self.egress_filter,
19695            'healthy': self.healthy,
19696            'hostname': self.hostname,
19697            'id': self.id,
19698            'name': self.name,
19699            'password': self.password,
19700            'port': self.port,
19701            'port_override': self.port_override,
19702            'proxy_cluster_id': self.proxy_cluster_id,
19703            'secret_store_id': self.secret_store_id,
19704            'subdomain': self.subdomain,
19705            'tags': self.tags,
19706            'tls_required': self.tls_required,
19707            'username': self.username,
19708        }
19709
19710    @classmethod
19711    def from_dict(cls, d):
19712        return cls(
19713            bind_interface=d.get('bind_interface'),
19714            egress_filter=d.get('egress_filter'),
19715            healthy=d.get('healthy'),
19716            hostname=d.get('hostname'),
19717            id=d.get('id'),
19718            name=d.get('name'),
19719            password=d.get('password'),
19720            port=d.get('port'),
19721            port_override=d.get('port_override'),
19722            proxy_cluster_id=d.get('proxy_cluster_id'),
19723            secret_store_id=d.get('secret_store_id'),
19724            subdomain=d.get('subdomain'),
19725            tags=d.get('tags'),
19726            tls_required=d.get('tls_required'),
19727            username=d.get('username'),
19728        )
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)
19593    def __init__(
19594        self,
19595        bind_interface=None,
19596        egress_filter=None,
19597        healthy=None,
19598        hostname=None,
19599        id=None,
19600        name=None,
19601        password=None,
19602        port=None,
19603        port_override=None,
19604        proxy_cluster_id=None,
19605        secret_store_id=None,
19606        subdomain=None,
19607        tags=None,
19608        tls_required=None,
19609        username=None,
19610    ):
19611        self.bind_interface = bind_interface if bind_interface is not None else ''
19612        '''
19613         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19614        '''
19615        self.egress_filter = egress_filter if egress_filter is not None else ''
19616        '''
19617         A filter applied to the routing logic to pin datasource to nodes.
19618        '''
19619        self.healthy = healthy if healthy is not None else False
19620        '''
19621         True if the datasource is reachable and the credentials are valid.
19622        '''
19623        self.hostname = hostname if hostname is not None else ''
19624        '''
19625         The host to dial to initiate a connection from the egress node to this resource.
19626        '''
19627        self.id = id if id is not None else ''
19628        '''
19629         Unique identifier of the Resource.
19630        '''
19631        self.name = name if name is not None else ''
19632        '''
19633         Unique human-readable name of the Resource.
19634        '''
19635        self.password = password if password is not None else ''
19636        '''
19637         The password to authenticate with.
19638        '''
19639        self.port = port if port is not None else 0
19640        '''
19641         The port to dial to initiate a connection from the egress node to this resource.
19642        '''
19643        self.port_override = port_override if port_override is not None else 0
19644        '''
19645         The local port used by clients to connect to this resource.
19646        '''
19647        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19648        '''
19649         ID of the proxy cluster for this resource, if any.
19650        '''
19651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19652        '''
19653         ID of the secret store containing credentials for this resource, if any.
19654        '''
19655        self.subdomain = subdomain if subdomain is not None else ''
19656        '''
19657         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19658        '''
19659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19660        '''
19661         Tags is a map of key, value pairs.
19662        '''
19663        self.tls_required = tls_required if tls_required is not None else False
19664        '''
19665         If set, TLS must be used to connect to this resource.
19666        '''
19667        self.username = username if username is not None else ''
19668        '''
19669         The username to authenticate with.
19670        '''
bind_interface

The bind interface is the IP 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)
19691    def to_dict(self):
19692        return {
19693            'bind_interface': self.bind_interface,
19694            'egress_filter': self.egress_filter,
19695            'healthy': self.healthy,
19696            'hostname': self.hostname,
19697            'id': self.id,
19698            'name': self.name,
19699            'password': self.password,
19700            'port': self.port,
19701            'port_override': self.port_override,
19702            'proxy_cluster_id': self.proxy_cluster_id,
19703            'secret_store_id': self.secret_store_id,
19704            'subdomain': self.subdomain,
19705            'tags': self.tags,
19706            'tls_required': self.tls_required,
19707            'username': self.username,
19708        }
@classmethod
def from_dict(cls, d)
19710    @classmethod
19711    def from_dict(cls, d):
19712        return cls(
19713            bind_interface=d.get('bind_interface'),
19714            egress_filter=d.get('egress_filter'),
19715            healthy=d.get('healthy'),
19716            hostname=d.get('hostname'),
19717            id=d.get('id'),
19718            name=d.get('name'),
19719            password=d.get('password'),
19720            port=d.get('port'),
19721            port_override=d.get('port_override'),
19722            proxy_cluster_id=d.get('proxy_cluster_id'),
19723            secret_store_id=d.get('secret_store_id'),
19724            subdomain=d.get('subdomain'),
19725            tags=d.get('tags'),
19726            tls_required=d.get('tls_required'),
19727            username=d.get('username'),
19728        )
class RateLimitMetadata:
19731class RateLimitMetadata:
19732    '''
19733         RateLimitMetadata contains information about remaining requests avaialable
19734     to the user over some timeframe.
19735    '''
19736    __slots__ = [
19737        'bucket',
19738        'limit',
19739        'remaining',
19740        'reset_at',
19741    ]
19742
19743    def __init__(
19744        self,
19745        bucket=None,
19746        limit=None,
19747        remaining=None,
19748        reset_at=None,
19749    ):
19750        self.bucket = bucket if bucket is not None else ''
19751        '''
19752         The bucket this user/token is associated with, which may be shared between
19753         multiple users/tokens.
19754        '''
19755        self.limit = limit if limit is not None else 0
19756        '''
19757         How many total requests the user/token is authorized to make before being
19758         rate limited.
19759        '''
19760        self.remaining = remaining if remaining is not None else 0
19761        '''
19762         How many remaining requests out of the limit are still avaialable.
19763        '''
19764        self.reset_at = reset_at if reset_at is not None else None
19765        '''
19766         The time when remaining will be reset to limit.
19767        '''
19768
19769    def __repr__(self):
19770        return '<sdm.RateLimitMetadata ' + \
19771            'bucket: ' + repr(self.bucket) + ' ' +\
19772            'limit: ' + repr(self.limit) + ' ' +\
19773            'remaining: ' + repr(self.remaining) + ' ' +\
19774            'reset_at: ' + repr(self.reset_at) + ' ' +\
19775            '>'
19776
19777    def to_dict(self):
19778        return {
19779            'bucket': self.bucket,
19780            'limit': self.limit,
19781            'remaining': self.remaining,
19782            'reset_at': self.reset_at,
19783        }
19784
19785    @classmethod
19786    def from_dict(cls, d):
19787        return cls(
19788            bucket=d.get('bucket'),
19789            limit=d.get('limit'),
19790            remaining=d.get('remaining'),
19791            reset_at=d.get('reset_at'),
19792        )

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

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
19743    def __init__(
19744        self,
19745        bucket=None,
19746        limit=None,
19747        remaining=None,
19748        reset_at=None,
19749    ):
19750        self.bucket = bucket if bucket is not None else ''
19751        '''
19752         The bucket this user/token is associated with, which may be shared between
19753         multiple users/tokens.
19754        '''
19755        self.limit = limit if limit is not None else 0
19756        '''
19757         How many total requests the user/token is authorized to make before being
19758         rate limited.
19759        '''
19760        self.remaining = remaining if remaining is not None else 0
19761        '''
19762         How many remaining requests out of the limit are still avaialable.
19763        '''
19764        self.reset_at = reset_at if reset_at is not None else None
19765        '''
19766         The time when remaining will be reset to limit.
19767        '''
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)
19777    def to_dict(self):
19778        return {
19779            'bucket': self.bucket,
19780            'limit': self.limit,
19781            'remaining': self.remaining,
19782            'reset_at': self.reset_at,
19783        }
@classmethod
def from_dict(cls, d)
19785    @classmethod
19786    def from_dict(cls, d):
19787        return cls(
19788            bucket=d.get('bucket'),
19789            limit=d.get('limit'),
19790            remaining=d.get('remaining'),
19791            reset_at=d.get('reset_at'),
19792        )
class RawTCP:
19795class RawTCP:
19796    __slots__ = [
19797        'bind_interface',
19798        'egress_filter',
19799        'healthy',
19800        'hostname',
19801        'id',
19802        'name',
19803        'port',
19804        'port_override',
19805        'proxy_cluster_id',
19806        'secret_store_id',
19807        'subdomain',
19808        'tags',
19809    ]
19810
19811    def __init__(
19812        self,
19813        bind_interface=None,
19814        egress_filter=None,
19815        healthy=None,
19816        hostname=None,
19817        id=None,
19818        name=None,
19819        port=None,
19820        port_override=None,
19821        proxy_cluster_id=None,
19822        secret_store_id=None,
19823        subdomain=None,
19824        tags=None,
19825    ):
19826        self.bind_interface = bind_interface if bind_interface is not None else ''
19827        '''
19828         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19829        '''
19830        self.egress_filter = egress_filter if egress_filter is not None else ''
19831        '''
19832         A filter applied to the routing logic to pin datasource to nodes.
19833        '''
19834        self.healthy = healthy if healthy is not None else False
19835        '''
19836         True if the datasource is reachable and the credentials are valid.
19837        '''
19838        self.hostname = hostname if hostname is not None else ''
19839        '''
19840         The host to dial to initiate a connection from the egress node to this resource.
19841        '''
19842        self.id = id if id is not None else ''
19843        '''
19844         Unique identifier of the Resource.
19845        '''
19846        self.name = name if name is not None else ''
19847        '''
19848         Unique human-readable name of the Resource.
19849        '''
19850        self.port = port if port is not None else 0
19851        '''
19852         The port to dial to initiate a connection from the egress node to this resource.
19853        '''
19854        self.port_override = port_override if port_override is not None else 0
19855        '''
19856         The local port used by clients to connect to this resource.
19857        '''
19858        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19859        '''
19860         ID of the proxy cluster for this resource, if any.
19861        '''
19862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19863        '''
19864         ID of the secret store containing credentials for this resource, if any.
19865        '''
19866        self.subdomain = subdomain if subdomain is not None else ''
19867        '''
19868         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19869        '''
19870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19871        '''
19872         Tags is a map of key, value pairs.
19873        '''
19874
19875    def __repr__(self):
19876        return '<sdm.RawTCP ' + \
19877            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19878            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19879            'healthy: ' + repr(self.healthy) + ' ' +\
19880            'hostname: ' + repr(self.hostname) + ' ' +\
19881            'id: ' + repr(self.id) + ' ' +\
19882            'name: ' + repr(self.name) + ' ' +\
19883            'port: ' + repr(self.port) + ' ' +\
19884            'port_override: ' + repr(self.port_override) + ' ' +\
19885            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19886            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19887            'subdomain: ' + repr(self.subdomain) + ' ' +\
19888            'tags: ' + repr(self.tags) + ' ' +\
19889            '>'
19890
19891    def to_dict(self):
19892        return {
19893            'bind_interface': self.bind_interface,
19894            'egress_filter': self.egress_filter,
19895            'healthy': self.healthy,
19896            'hostname': self.hostname,
19897            'id': self.id,
19898            'name': self.name,
19899            'port': self.port,
19900            'port_override': self.port_override,
19901            'proxy_cluster_id': self.proxy_cluster_id,
19902            'secret_store_id': self.secret_store_id,
19903            'subdomain': self.subdomain,
19904            'tags': self.tags,
19905        }
19906
19907    @classmethod
19908    def from_dict(cls, d):
19909        return cls(
19910            bind_interface=d.get('bind_interface'),
19911            egress_filter=d.get('egress_filter'),
19912            healthy=d.get('healthy'),
19913            hostname=d.get('hostname'),
19914            id=d.get('id'),
19915            name=d.get('name'),
19916            port=d.get('port'),
19917            port_override=d.get('port_override'),
19918            proxy_cluster_id=d.get('proxy_cluster_id'),
19919            secret_store_id=d.get('secret_store_id'),
19920            subdomain=d.get('subdomain'),
19921            tags=d.get('tags'),
19922        )
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)
19811    def __init__(
19812        self,
19813        bind_interface=None,
19814        egress_filter=None,
19815        healthy=None,
19816        hostname=None,
19817        id=None,
19818        name=None,
19819        port=None,
19820        port_override=None,
19821        proxy_cluster_id=None,
19822        secret_store_id=None,
19823        subdomain=None,
19824        tags=None,
19825    ):
19826        self.bind_interface = bind_interface if bind_interface is not None else ''
19827        '''
19828         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19829        '''
19830        self.egress_filter = egress_filter if egress_filter is not None else ''
19831        '''
19832         A filter applied to the routing logic to pin datasource to nodes.
19833        '''
19834        self.healthy = healthy if healthy is not None else False
19835        '''
19836         True if the datasource is reachable and the credentials are valid.
19837        '''
19838        self.hostname = hostname if hostname is not None else ''
19839        '''
19840         The host to dial to initiate a connection from the egress node to this resource.
19841        '''
19842        self.id = id if id is not None else ''
19843        '''
19844         Unique identifier of the Resource.
19845        '''
19846        self.name = name if name is not None else ''
19847        '''
19848         Unique human-readable name of the Resource.
19849        '''
19850        self.port = port if port is not None else 0
19851        '''
19852         The port to dial to initiate a connection from the egress node to this resource.
19853        '''
19854        self.port_override = port_override if port_override is not None else 0
19855        '''
19856         The local port used by clients to connect to this resource.
19857        '''
19858        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19859        '''
19860         ID of the proxy cluster for this resource, if any.
19861        '''
19862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19863        '''
19864         ID of the secret store containing credentials for this resource, if any.
19865        '''
19866        self.subdomain = subdomain if subdomain is not None else ''
19867        '''
19868         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19869        '''
19870        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19871        '''
19872         Tags is a map of key, value pairs.
19873        '''
bind_interface

The bind interface is the IP 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)
19891    def to_dict(self):
19892        return {
19893            'bind_interface': self.bind_interface,
19894            'egress_filter': self.egress_filter,
19895            'healthy': self.healthy,
19896            'hostname': self.hostname,
19897            'id': self.id,
19898            'name': self.name,
19899            'port': self.port,
19900            'port_override': self.port_override,
19901            'proxy_cluster_id': self.proxy_cluster_id,
19902            'secret_store_id': self.secret_store_id,
19903            'subdomain': self.subdomain,
19904            'tags': self.tags,
19905        }
@classmethod
def from_dict(cls, d)
19907    @classmethod
19908    def from_dict(cls, d):
19909        return cls(
19910            bind_interface=d.get('bind_interface'),
19911            egress_filter=d.get('egress_filter'),
19912            healthy=d.get('healthy'),
19913            hostname=d.get('hostname'),
19914            id=d.get('id'),
19915            name=d.get('name'),
19916            port=d.get('port'),
19917            port_override=d.get('port_override'),
19918            proxy_cluster_id=d.get('proxy_cluster_id'),
19919            secret_store_id=d.get('secret_store_id'),
19920            subdomain=d.get('subdomain'),
19921            tags=d.get('tags'),
19922        )
class Redis:
19925class Redis:
19926    __slots__ = [
19927        'bind_interface',
19928        'egress_filter',
19929        'healthy',
19930        'hostname',
19931        'id',
19932        'name',
19933        'password',
19934        'port',
19935        'port_override',
19936        'proxy_cluster_id',
19937        'secret_store_id',
19938        'subdomain',
19939        'tags',
19940        'tls_required',
19941        'username',
19942    ]
19943
19944    def __init__(
19945        self,
19946        bind_interface=None,
19947        egress_filter=None,
19948        healthy=None,
19949        hostname=None,
19950        id=None,
19951        name=None,
19952        password=None,
19953        port=None,
19954        port_override=None,
19955        proxy_cluster_id=None,
19956        secret_store_id=None,
19957        subdomain=None,
19958        tags=None,
19959        tls_required=None,
19960        username=None,
19961    ):
19962        self.bind_interface = bind_interface if bind_interface is not None else ''
19963        '''
19964         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19965        '''
19966        self.egress_filter = egress_filter if egress_filter is not None else ''
19967        '''
19968         A filter applied to the routing logic to pin datasource to nodes.
19969        '''
19970        self.healthy = healthy if healthy is not None else False
19971        '''
19972         True if the datasource is reachable and the credentials are valid.
19973        '''
19974        self.hostname = hostname if hostname is not None else ''
19975        '''
19976         The host to dial to initiate a connection from the egress node to this resource.
19977        '''
19978        self.id = id if id is not None else ''
19979        '''
19980         Unique identifier of the Resource.
19981        '''
19982        self.name = name if name is not None else ''
19983        '''
19984         Unique human-readable name of the Resource.
19985        '''
19986        self.password = password if password is not None else ''
19987        '''
19988         The password to authenticate with.
19989        '''
19990        self.port = port if port is not None else 0
19991        '''
19992         The port to dial to initiate a connection from the egress node to this resource.
19993        '''
19994        self.port_override = port_override if port_override is not None else 0
19995        '''
19996         The local port used by clients to connect to this resource.
19997        '''
19998        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19999        '''
20000         ID of the proxy cluster for this resource, if any.
20001        '''
20002        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20003        '''
20004         ID of the secret store containing credentials for this resource, if any.
20005        '''
20006        self.subdomain = subdomain if subdomain is not None else ''
20007        '''
20008         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20009        '''
20010        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20011        '''
20012         Tags is a map of key, value pairs.
20013        '''
20014        self.tls_required = tls_required if tls_required is not None else False
20015        '''
20016         If set, TLS must be used to connect to this resource.
20017        '''
20018        self.username = username if username is not None else ''
20019        '''
20020         The username to authenticate with.
20021        '''
20022
20023    def __repr__(self):
20024        return '<sdm.Redis ' + \
20025            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20026            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20027            'healthy: ' + repr(self.healthy) + ' ' +\
20028            'hostname: ' + repr(self.hostname) + ' ' +\
20029            'id: ' + repr(self.id) + ' ' +\
20030            'name: ' + repr(self.name) + ' ' +\
20031            'password: ' + repr(self.password) + ' ' +\
20032            'port: ' + repr(self.port) + ' ' +\
20033            'port_override: ' + repr(self.port_override) + ' ' +\
20034            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20035            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20036            'subdomain: ' + repr(self.subdomain) + ' ' +\
20037            'tags: ' + repr(self.tags) + ' ' +\
20038            'tls_required: ' + repr(self.tls_required) + ' ' +\
20039            'username: ' + repr(self.username) + ' ' +\
20040            '>'
20041
20042    def to_dict(self):
20043        return {
20044            'bind_interface': self.bind_interface,
20045            'egress_filter': self.egress_filter,
20046            'healthy': self.healthy,
20047            'hostname': self.hostname,
20048            'id': self.id,
20049            'name': self.name,
20050            'password': self.password,
20051            'port': self.port,
20052            'port_override': self.port_override,
20053            'proxy_cluster_id': self.proxy_cluster_id,
20054            'secret_store_id': self.secret_store_id,
20055            'subdomain': self.subdomain,
20056            'tags': self.tags,
20057            'tls_required': self.tls_required,
20058            'username': self.username,
20059        }
20060
20061    @classmethod
20062    def from_dict(cls, d):
20063        return cls(
20064            bind_interface=d.get('bind_interface'),
20065            egress_filter=d.get('egress_filter'),
20066            healthy=d.get('healthy'),
20067            hostname=d.get('hostname'),
20068            id=d.get('id'),
20069            name=d.get('name'),
20070            password=d.get('password'),
20071            port=d.get('port'),
20072            port_override=d.get('port_override'),
20073            proxy_cluster_id=d.get('proxy_cluster_id'),
20074            secret_store_id=d.get('secret_store_id'),
20075            subdomain=d.get('subdomain'),
20076            tags=d.get('tags'),
20077            tls_required=d.get('tls_required'),
20078            username=d.get('username'),
20079        )
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)
19944    def __init__(
19945        self,
19946        bind_interface=None,
19947        egress_filter=None,
19948        healthy=None,
19949        hostname=None,
19950        id=None,
19951        name=None,
19952        password=None,
19953        port=None,
19954        port_override=None,
19955        proxy_cluster_id=None,
19956        secret_store_id=None,
19957        subdomain=None,
19958        tags=None,
19959        tls_required=None,
19960        username=None,
19961    ):
19962        self.bind_interface = bind_interface if bind_interface is not None else ''
19963        '''
19964         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19965        '''
19966        self.egress_filter = egress_filter if egress_filter is not None else ''
19967        '''
19968         A filter applied to the routing logic to pin datasource to nodes.
19969        '''
19970        self.healthy = healthy if healthy is not None else False
19971        '''
19972         True if the datasource is reachable and the credentials are valid.
19973        '''
19974        self.hostname = hostname if hostname is not None else ''
19975        '''
19976         The host to dial to initiate a connection from the egress node to this resource.
19977        '''
19978        self.id = id if id is not None else ''
19979        '''
19980         Unique identifier of the Resource.
19981        '''
19982        self.name = name if name is not None else ''
19983        '''
19984         Unique human-readable name of the Resource.
19985        '''
19986        self.password = password if password is not None else ''
19987        '''
19988         The password to authenticate with.
19989        '''
19990        self.port = port if port is not None else 0
19991        '''
19992         The port to dial to initiate a connection from the egress node to this resource.
19993        '''
19994        self.port_override = port_override if port_override is not None else 0
19995        '''
19996         The local port used by clients to connect to this resource.
19997        '''
19998        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19999        '''
20000         ID of the proxy cluster for this resource, if any.
20001        '''
20002        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20003        '''
20004         ID of the secret store containing credentials for this resource, if any.
20005        '''
20006        self.subdomain = subdomain if subdomain is not None else ''
20007        '''
20008         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20009        '''
20010        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20011        '''
20012         Tags is a map of key, value pairs.
20013        '''
20014        self.tls_required = tls_required if tls_required is not None else False
20015        '''
20016         If set, TLS must be used to connect to this resource.
20017        '''
20018        self.username = username if username is not None else ''
20019        '''
20020         The username to authenticate with.
20021        '''
bind_interface

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

The bind interface is the IP 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)
20206    def to_dict(self):
20207        return {
20208            'bind_interface': self.bind_interface,
20209            'database': self.database,
20210            'egress_filter': self.egress_filter,
20211            'healthy': self.healthy,
20212            'hostname': self.hostname,
20213            'id': self.id,
20214            'name': self.name,
20215            'override_database': self.override_database,
20216            'password': self.password,
20217            'port': self.port,
20218            'port_override': self.port_override,
20219            'proxy_cluster_id': self.proxy_cluster_id,
20220            'secret_store_id': self.secret_store_id,
20221            'subdomain': self.subdomain,
20222            'tags': self.tags,
20223            'username': self.username,
20224        }
@classmethod
def from_dict(cls, d)
20226    @classmethod
20227    def from_dict(cls, d):
20228        return cls(
20229            bind_interface=d.get('bind_interface'),
20230            database=d.get('database'),
20231            egress_filter=d.get('egress_filter'),
20232            healthy=d.get('healthy'),
20233            hostname=d.get('hostname'),
20234            id=d.get('id'),
20235            name=d.get('name'),
20236            override_database=d.get('override_database'),
20237            password=d.get('password'),
20238            port=d.get('port'),
20239            port_override=d.get('port_override'),
20240            proxy_cluster_id=d.get('proxy_cluster_id'),
20241            secret_store_id=d.get('secret_store_id'),
20242            subdomain=d.get('subdomain'),
20243            tags=d.get('tags'),
20244            username=d.get('username'),
20245        )
class Relay:
20248class Relay:
20249    '''
20250         Relay represents a StrongDM CLI installation running in relay mode.
20251    '''
20252    __slots__ = [
20253        'device',
20254        'gateway_filter',
20255        'id',
20256        'location',
20257        'maintenance_windows',
20258        'name',
20259        'state',
20260        'tags',
20261        'version',
20262    ]
20263
20264    def __init__(
20265        self,
20266        device=None,
20267        gateway_filter=None,
20268        id=None,
20269        location=None,
20270        maintenance_windows=None,
20271        name=None,
20272        state=None,
20273        tags=None,
20274        version=None,
20275    ):
20276        self.device = device if device is not None else ''
20277        '''
20278         Device is a read only device name uploaded by the gateway process when
20279         it comes online.
20280        '''
20281        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
20282        '''
20283         GatewayFilter can be used to restrict the peering between relays and
20284         gateways. Deprecated.
20285        '''
20286        self.id = id if id is not None else ''
20287        '''
20288         Unique identifier of the Relay.
20289        '''
20290        self.location = location if location is not None else ''
20291        '''
20292         Location is a read only network location uploaded by the gateway process
20293         when it comes online.
20294        '''
20295        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
20296        '''
20297         Maintenance Windows define when this node is allowed to restart. If a node
20298         is requested to restart, it will check each window to determine if any of
20299         them permit it to restart, and if any do, it will. This check is repeated
20300         per window until the restart is successfully completed.
20301         
20302         If not set here, may be set on the command line or via an environment variable
20303         on the process itself; any server setting will take precedence over local
20304         settings. This setting is ineffective for nodes below version 38.44.0.
20305         
20306         If this setting is not applied via this remote configuration or via local
20307         configuration, the default setting is used: always allow restarts if serving
20308         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
20309        '''
20310        self.name = name if name is not None else ''
20311        '''
20312         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.
20313        '''
20314        self.state = state if state is not None else ''
20315        '''
20316         The current state of the relay, one of the NodeState constants.
20317        '''
20318        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20319        '''
20320         Tags is a map of key, value pairs.
20321        '''
20322        self.version = version if version is not None else ''
20323        '''
20324         Version is a read only sdm binary version uploaded by the gateway process
20325         when it comes online.
20326        '''
20327
20328    def __repr__(self):
20329        return '<sdm.Relay ' + \
20330            'device: ' + repr(self.device) + ' ' +\
20331            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
20332            'id: ' + repr(self.id) + ' ' +\
20333            'location: ' + repr(self.location) + ' ' +\
20334            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
20335            'name: ' + repr(self.name) + ' ' +\
20336            'state: ' + repr(self.state) + ' ' +\
20337            'tags: ' + repr(self.tags) + ' ' +\
20338            'version: ' + repr(self.version) + ' ' +\
20339            '>'
20340
20341    def to_dict(self):
20342        return {
20343            'device': self.device,
20344            'gateway_filter': self.gateway_filter,
20345            'id': self.id,
20346            'location': self.location,
20347            'maintenance_windows': self.maintenance_windows,
20348            'name': self.name,
20349            'state': self.state,
20350            'tags': self.tags,
20351            'version': self.version,
20352        }
20353
20354    @classmethod
20355    def from_dict(cls, d):
20356        return cls(
20357            device=d.get('device'),
20358            gateway_filter=d.get('gateway_filter'),
20359            id=d.get('id'),
20360            location=d.get('location'),
20361            maintenance_windows=d.get('maintenance_windows'),
20362            name=d.get('name'),
20363            state=d.get('state'),
20364            tags=d.get('tags'),
20365            version=d.get('version'),
20366        )

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)
20264    def __init__(
20265        self,
20266        device=None,
20267        gateway_filter=None,
20268        id=None,
20269        location=None,
20270        maintenance_windows=None,
20271        name=None,
20272        state=None,
20273        tags=None,
20274        version=None,
20275    ):
20276        self.device = device if device is not None else ''
20277        '''
20278         Device is a read only device name uploaded by the gateway process when
20279         it comes online.
20280        '''
20281        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
20282        '''
20283         GatewayFilter can be used to restrict the peering between relays and
20284         gateways. Deprecated.
20285        '''
20286        self.id = id if id is not None else ''
20287        '''
20288         Unique identifier of the Relay.
20289        '''
20290        self.location = location if location is not None else ''
20291        '''
20292         Location is a read only network location uploaded by the gateway process
20293         when it comes online.
20294        '''
20295        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
20296        '''
20297         Maintenance Windows define when this node is allowed to restart. If a node
20298         is requested to restart, it will check each window to determine if any of
20299         them permit it to restart, and if any do, it will. This check is repeated
20300         per window until the restart is successfully completed.
20301         
20302         If not set here, may be set on the command line or via an environment variable
20303         on the process itself; any server setting will take precedence over local
20304         settings. This setting is ineffective for nodes below version 38.44.0.
20305         
20306         If this setting is not applied via this remote configuration or via local
20307         configuration, the default setting is used: always allow restarts if serving
20308         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
20309        '''
20310        self.name = name if name is not None else ''
20311        '''
20312         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.
20313        '''
20314        self.state = state if state is not None else ''
20315        '''
20316         The current state of the relay, one of the NodeState constants.
20317        '''
20318        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20319        '''
20320         Tags is a map of key, value pairs.
20321        '''
20322        self.version = version if version is not None else ''
20323        '''
20324         Version is a read only sdm binary version uploaded by the gateway process
20325         when it comes online.
20326        '''
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)
20341    def to_dict(self):
20342        return {
20343            'device': self.device,
20344            'gateway_filter': self.gateway_filter,
20345            'id': self.id,
20346            'location': self.location,
20347            'maintenance_windows': self.maintenance_windows,
20348            'name': self.name,
20349            'state': self.state,
20350            'tags': self.tags,
20351            'version': self.version,
20352        }
@classmethod
def from_dict(cls, d)
20354    @classmethod
20355    def from_dict(cls, d):
20356        return cls(
20357            device=d.get('device'),
20358            gateway_filter=d.get('gateway_filter'),
20359            id=d.get('id'),
20360            location=d.get('location'),
20361            maintenance_windows=d.get('maintenance_windows'),
20362            name=d.get('name'),
20363            state=d.get('state'),
20364            tags=d.get('tags'),
20365            version=d.get('version'),
20366        )
class RemoteIdentity:
20369class RemoteIdentity:
20370    '''
20371         RemoteIdentities define the username to be used for a specific account
20372     when connecting to a remote resource using that group.
20373    '''
20374    __slots__ = [
20375        'account_id',
20376        'id',
20377        'remote_identity_group_id',
20378        'username',
20379    ]
20380
20381    def __init__(
20382        self,
20383        account_id=None,
20384        id=None,
20385        remote_identity_group_id=None,
20386        username=None,
20387    ):
20388        self.account_id = account_id if account_id is not None else ''
20389        '''
20390         The account for this remote identity.
20391        '''
20392        self.id = id if id is not None else ''
20393        '''
20394         Unique identifier of the RemoteIdentity.
20395        '''
20396        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
20397        '''
20398         The remote identity group.
20399        '''
20400        self.username = username if username is not None else ''
20401        '''
20402         The username to be used as the remote identity for this account.
20403        '''
20404
20405    def __repr__(self):
20406        return '<sdm.RemoteIdentity ' + \
20407            'account_id: ' + repr(self.account_id) + ' ' +\
20408            'id: ' + repr(self.id) + ' ' +\
20409            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
20410            'username: ' + repr(self.username) + ' ' +\
20411            '>'
20412
20413    def to_dict(self):
20414        return {
20415            'account_id': self.account_id,
20416            'id': self.id,
20417            'remote_identity_group_id': self.remote_identity_group_id,
20418            'username': self.username,
20419        }
20420
20421    @classmethod
20422    def from_dict(cls, d):
20423        return cls(
20424            account_id=d.get('account_id'),
20425            id=d.get('id'),
20426            remote_identity_group_id=d.get('remote_identity_group_id'),
20427            username=d.get('username'),
20428        )

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)
20381    def __init__(
20382        self,
20383        account_id=None,
20384        id=None,
20385        remote_identity_group_id=None,
20386        username=None,
20387    ):
20388        self.account_id = account_id if account_id is not None else ''
20389        '''
20390         The account for this remote identity.
20391        '''
20392        self.id = id if id is not None else ''
20393        '''
20394         Unique identifier of the RemoteIdentity.
20395        '''
20396        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
20397        '''
20398         The remote identity group.
20399        '''
20400        self.username = username if username is not None else ''
20401        '''
20402         The username to be used as the remote identity for this account.
20403        '''
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)
20413    def to_dict(self):
20414        return {
20415            'account_id': self.account_id,
20416            'id': self.id,
20417            'remote_identity_group_id': self.remote_identity_group_id,
20418            'username': self.username,
20419        }
@classmethod
def from_dict(cls, d)
20421    @classmethod
20422    def from_dict(cls, d):
20423        return cls(
20424            account_id=d.get('account_id'),
20425            id=d.get('id'),
20426            remote_identity_group_id=d.get('remote_identity_group_id'),
20427            username=d.get('username'),
20428        )
class RemoteIdentityCreateResponse:
20431class RemoteIdentityCreateResponse:
20432    '''
20433         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
20434    '''
20435    __slots__ = [
20436        'meta',
20437        'rate_limit',
20438        'remote_identity',
20439    ]
20440
20441    def __init__(
20442        self,
20443        meta=None,
20444        rate_limit=None,
20445        remote_identity=None,
20446    ):
20447        self.meta = meta if meta is not None else None
20448        '''
20449         Reserved for future use.
20450        '''
20451        self.rate_limit = rate_limit if rate_limit is not None else None
20452        '''
20453         Rate limit information.
20454        '''
20455        self.remote_identity = remote_identity if remote_identity is not None else None
20456        '''
20457         The created RemoteIdentity.
20458        '''
20459
20460    def __repr__(self):
20461        return '<sdm.RemoteIdentityCreateResponse ' + \
20462            'meta: ' + repr(self.meta) + ' ' +\
20463            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20464            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20465            '>'
20466
20467    def to_dict(self):
20468        return {
20469            'meta': self.meta,
20470            'rate_limit': self.rate_limit,
20471            'remote_identity': self.remote_identity,
20472        }
20473
20474    @classmethod
20475    def from_dict(cls, d):
20476        return cls(
20477            meta=d.get('meta'),
20478            rate_limit=d.get('rate_limit'),
20479            remote_identity=d.get('remote_identity'),
20480        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
20441    def __init__(
20442        self,
20443        meta=None,
20444        rate_limit=None,
20445        remote_identity=None,
20446    ):
20447        self.meta = meta if meta is not None else None
20448        '''
20449         Reserved for future use.
20450        '''
20451        self.rate_limit = rate_limit if rate_limit is not None else None
20452        '''
20453         Rate limit information.
20454        '''
20455        self.remote_identity = remote_identity if remote_identity is not None else None
20456        '''
20457         The created RemoteIdentity.
20458        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
20467    def to_dict(self):
20468        return {
20469            'meta': self.meta,
20470            'rate_limit': self.rate_limit,
20471            'remote_identity': self.remote_identity,
20472        }
@classmethod
def from_dict(cls, d)
20474    @classmethod
20475    def from_dict(cls, d):
20476        return cls(
20477            meta=d.get('meta'),
20478            rate_limit=d.get('rate_limit'),
20479            remote_identity=d.get('remote_identity'),
20480        )
class RemoteIdentityDeleteResponse:
20483class RemoteIdentityDeleteResponse:
20484    '''
20485         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
20486    '''
20487    __slots__ = [
20488        'meta',
20489        'rate_limit',
20490    ]
20491
20492    def __init__(
20493        self,
20494        meta=None,
20495        rate_limit=None,
20496    ):
20497        self.meta = meta if meta is not None else None
20498        '''
20499         Reserved for future use.
20500        '''
20501        self.rate_limit = rate_limit if rate_limit is not None else None
20502        '''
20503         Rate limit information.
20504        '''
20505
20506    def __repr__(self):
20507        return '<sdm.RemoteIdentityDeleteResponse ' + \
20508            'meta: ' + repr(self.meta) + ' ' +\
20509            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20510            '>'
20511
20512    def to_dict(self):
20513        return {
20514            'meta': self.meta,
20515            'rate_limit': self.rate_limit,
20516        }
20517
20518    @classmethod
20519    def from_dict(cls, d):
20520        return cls(
20521            meta=d.get('meta'),
20522            rate_limit=d.get('rate_limit'),
20523        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
20492    def __init__(
20493        self,
20494        meta=None,
20495        rate_limit=None,
20496    ):
20497        self.meta = meta if meta is not None else None
20498        '''
20499         Reserved for future use.
20500        '''
20501        self.rate_limit = rate_limit if rate_limit is not None else None
20502        '''
20503         Rate limit information.
20504        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20512    def to_dict(self):
20513        return {
20514            'meta': self.meta,
20515            'rate_limit': self.rate_limit,
20516        }
@classmethod
def from_dict(cls, d)
20518    @classmethod
20519    def from_dict(cls, d):
20520        return cls(
20521            meta=d.get('meta'),
20522            rate_limit=d.get('rate_limit'),
20523        )
class RemoteIdentityGetResponse:
20526class RemoteIdentityGetResponse:
20527    '''
20528         RemoteIdentityGetResponse returns a requested RemoteIdentity.
20529    '''
20530    __slots__ = [
20531        'meta',
20532        'rate_limit',
20533        'remote_identity',
20534    ]
20535
20536    def __init__(
20537        self,
20538        meta=None,
20539        rate_limit=None,
20540        remote_identity=None,
20541    ):
20542        self.meta = meta if meta is not None else None
20543        '''
20544         Reserved for future use.
20545        '''
20546        self.rate_limit = rate_limit if rate_limit is not None else None
20547        '''
20548         Rate limit information.
20549        '''
20550        self.remote_identity = remote_identity if remote_identity is not None else None
20551        '''
20552         The requested RemoteIdentity.
20553        '''
20554
20555    def __repr__(self):
20556        return '<sdm.RemoteIdentityGetResponse ' + \
20557            'meta: ' + repr(self.meta) + ' ' +\
20558            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20559            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20560            '>'
20561
20562    def to_dict(self):
20563        return {
20564            'meta': self.meta,
20565            'rate_limit': self.rate_limit,
20566            'remote_identity': self.remote_identity,
20567        }
20568
20569    @classmethod
20570    def from_dict(cls, d):
20571        return cls(
20572            meta=d.get('meta'),
20573            rate_limit=d.get('rate_limit'),
20574            remote_identity=d.get('remote_identity'),
20575        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
20536    def __init__(
20537        self,
20538        meta=None,
20539        rate_limit=None,
20540        remote_identity=None,
20541    ):
20542        self.meta = meta if meta is not None else None
20543        '''
20544         Reserved for future use.
20545        '''
20546        self.rate_limit = rate_limit if rate_limit is not None else None
20547        '''
20548         Rate limit information.
20549        '''
20550        self.remote_identity = remote_identity if remote_identity is not None else None
20551        '''
20552         The requested RemoteIdentity.
20553        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
20562    def to_dict(self):
20563        return {
20564            'meta': self.meta,
20565            'rate_limit': self.rate_limit,
20566            'remote_identity': self.remote_identity,
20567        }
@classmethod
def from_dict(cls, d)
20569    @classmethod
20570    def from_dict(cls, d):
20571        return cls(
20572            meta=d.get('meta'),
20573            rate_limit=d.get('rate_limit'),
20574            remote_identity=d.get('remote_identity'),
20575        )
class RemoteIdentityGroup:
20578class RemoteIdentityGroup:
20579    '''
20580         A RemoteIdentityGroup defines a group of remote identities.
20581    '''
20582    __slots__ = [
20583        'id',
20584        'name',
20585    ]
20586
20587    def __init__(
20588        self,
20589        id=None,
20590        name=None,
20591    ):
20592        self.id = id if id is not None else ''
20593        '''
20594         Unique identifier of the RemoteIdentityGroup.
20595        '''
20596        self.name = name if name is not None else ''
20597        '''
20598         Unique human-readable name of the RemoteIdentityGroup.
20599        '''
20600
20601    def __repr__(self):
20602        return '<sdm.RemoteIdentityGroup ' + \
20603            'id: ' + repr(self.id) + ' ' +\
20604            'name: ' + repr(self.name) + ' ' +\
20605            '>'
20606
20607    def to_dict(self):
20608        return {
20609            'id': self.id,
20610            'name': self.name,
20611        }
20612
20613    @classmethod
20614    def from_dict(cls, d):
20615        return cls(
20616            id=d.get('id'),
20617            name=d.get('name'),
20618        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
20587    def __init__(
20588        self,
20589        id=None,
20590        name=None,
20591    ):
20592        self.id = id if id is not None else ''
20593        '''
20594         Unique identifier of the RemoteIdentityGroup.
20595        '''
20596        self.name = name if name is not None else ''
20597        '''
20598         Unique human-readable name of the RemoteIdentityGroup.
20599        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
20607    def to_dict(self):
20608        return {
20609            'id': self.id,
20610            'name': self.name,
20611        }
@classmethod
def from_dict(cls, d)
20613    @classmethod
20614    def from_dict(cls, d):
20615        return cls(
20616            id=d.get('id'),
20617            name=d.get('name'),
20618        )
class RemoteIdentityGroupGetResponse:
20621class RemoteIdentityGroupGetResponse:
20622    '''
20623         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
20624    '''
20625    __slots__ = [
20626        'meta',
20627        'rate_limit',
20628        'remote_identity_group',
20629    ]
20630
20631    def __init__(
20632        self,
20633        meta=None,
20634        rate_limit=None,
20635        remote_identity_group=None,
20636    ):
20637        self.meta = meta if meta is not None else None
20638        '''
20639         Reserved for future use.
20640        '''
20641        self.rate_limit = rate_limit if rate_limit is not None else None
20642        '''
20643         Rate limit information.
20644        '''
20645        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20646        '''
20647         The requested RemoteIdentityGroup.
20648        '''
20649
20650    def __repr__(self):
20651        return '<sdm.RemoteIdentityGroupGetResponse ' + \
20652            'meta: ' + repr(self.meta) + ' ' +\
20653            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20654            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
20655            '>'
20656
20657    def to_dict(self):
20658        return {
20659            'meta': self.meta,
20660            'rate_limit': self.rate_limit,
20661            'remote_identity_group': self.remote_identity_group,
20662        }
20663
20664    @classmethod
20665    def from_dict(cls, d):
20666        return cls(
20667            meta=d.get('meta'),
20668            rate_limit=d.get('rate_limit'),
20669            remote_identity_group=d.get('remote_identity_group'),
20670        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
20631    def __init__(
20632        self,
20633        meta=None,
20634        rate_limit=None,
20635        remote_identity_group=None,
20636    ):
20637        self.meta = meta if meta is not None else None
20638        '''
20639         Reserved for future use.
20640        '''
20641        self.rate_limit = rate_limit if rate_limit is not None else None
20642        '''
20643         Rate limit information.
20644        '''
20645        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20646        '''
20647         The requested RemoteIdentityGroup.
20648        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
20657    def to_dict(self):
20658        return {
20659            'meta': self.meta,
20660            'rate_limit': self.rate_limit,
20661            'remote_identity_group': self.remote_identity_group,
20662        }
@classmethod
def from_dict(cls, d)
20664    @classmethod
20665    def from_dict(cls, d):
20666        return cls(
20667            meta=d.get('meta'),
20668            rate_limit=d.get('rate_limit'),
20669            remote_identity_group=d.get('remote_identity_group'),
20670        )
class RemoteIdentityGroupHistory:
20673class RemoteIdentityGroupHistory:
20674    '''
20675         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
20676     where every change (create, update and delete) to a RemoteIdentityGroup produces an
20677     RemoteIdentityGroupHistory record.
20678    '''
20679    __slots__ = [
20680        'activity_id',
20681        'deleted_at',
20682        'remote_identity_group',
20683        'timestamp',
20684    ]
20685
20686    def __init__(
20687        self,
20688        activity_id=None,
20689        deleted_at=None,
20690        remote_identity_group=None,
20691        timestamp=None,
20692    ):
20693        self.activity_id = activity_id if activity_id is not None else ''
20694        '''
20695         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
20696         May be empty for some system-initiated updates.
20697        '''
20698        self.deleted_at = deleted_at if deleted_at is not None else None
20699        '''
20700         If this RemoteIdentityGroup was deleted, the time it was deleted.
20701        '''
20702        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20703        '''
20704         The complete RemoteIdentityGroup state at this time.
20705        '''
20706        self.timestamp = timestamp if timestamp is not None else None
20707        '''
20708         The time at which the RemoteIdentityGroup state was recorded.
20709        '''
20710
20711    def __repr__(self):
20712        return '<sdm.RemoteIdentityGroupHistory ' + \
20713            'activity_id: ' + repr(self.activity_id) + ' ' +\
20714            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
20715            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
20716            'timestamp: ' + repr(self.timestamp) + ' ' +\
20717            '>'
20718
20719    def to_dict(self):
20720        return {
20721            'activity_id': self.activity_id,
20722            'deleted_at': self.deleted_at,
20723            'remote_identity_group': self.remote_identity_group,
20724            'timestamp': self.timestamp,
20725        }
20726
20727    @classmethod
20728    def from_dict(cls, d):
20729        return cls(
20730            activity_id=d.get('activity_id'),
20731            deleted_at=d.get('deleted_at'),
20732            remote_identity_group=d.get('remote_identity_group'),
20733            timestamp=d.get('timestamp'),
20734        )

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)
20686    def __init__(
20687        self,
20688        activity_id=None,
20689        deleted_at=None,
20690        remote_identity_group=None,
20691        timestamp=None,
20692    ):
20693        self.activity_id = activity_id if activity_id is not None else ''
20694        '''
20695         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
20696         May be empty for some system-initiated updates.
20697        '''
20698        self.deleted_at = deleted_at if deleted_at is not None else None
20699        '''
20700         If this RemoteIdentityGroup was deleted, the time it was deleted.
20701        '''
20702        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
20703        '''
20704         The complete RemoteIdentityGroup state at this time.
20705        '''
20706        self.timestamp = timestamp if timestamp is not None else None
20707        '''
20708         The time at which the RemoteIdentityGroup state was recorded.
20709        '''
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)
20719    def to_dict(self):
20720        return {
20721            'activity_id': self.activity_id,
20722            'deleted_at': self.deleted_at,
20723            'remote_identity_group': self.remote_identity_group,
20724            'timestamp': self.timestamp,
20725        }
@classmethod
def from_dict(cls, d)
20727    @classmethod
20728    def from_dict(cls, d):
20729        return cls(
20730            activity_id=d.get('activity_id'),
20731            deleted_at=d.get('deleted_at'),
20732            remote_identity_group=d.get('remote_identity_group'),
20733            timestamp=d.get('timestamp'),
20734        )
class RemoteIdentityHistory:
20737class RemoteIdentityHistory:
20738    '''
20739         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
20740     where every change (create, update and delete) to a RemoteIdentity produces an
20741     RemoteIdentityHistory record.
20742    '''
20743    __slots__ = [
20744        'activity_id',
20745        'deleted_at',
20746        'remote_identity',
20747        'timestamp',
20748    ]
20749
20750    def __init__(
20751        self,
20752        activity_id=None,
20753        deleted_at=None,
20754        remote_identity=None,
20755        timestamp=None,
20756    ):
20757        self.activity_id = activity_id if activity_id is not None else ''
20758        '''
20759         The unique identifier of the Activity that produced this change to the RemoteIdentity.
20760         May be empty for some system-initiated updates.
20761        '''
20762        self.deleted_at = deleted_at if deleted_at is not None else None
20763        '''
20764         If this RemoteIdentity was deleted, the time it was deleted.
20765        '''
20766        self.remote_identity = remote_identity if remote_identity is not None else None
20767        '''
20768         The complete RemoteIdentity state at this time.
20769        '''
20770        self.timestamp = timestamp if timestamp is not None else None
20771        '''
20772         The time at which the RemoteIdentity state was recorded.
20773        '''
20774
20775    def __repr__(self):
20776        return '<sdm.RemoteIdentityHistory ' + \
20777            'activity_id: ' + repr(self.activity_id) + ' ' +\
20778            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
20779            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20780            'timestamp: ' + repr(self.timestamp) + ' ' +\
20781            '>'
20782
20783    def to_dict(self):
20784        return {
20785            'activity_id': self.activity_id,
20786            'deleted_at': self.deleted_at,
20787            'remote_identity': self.remote_identity,
20788            'timestamp': self.timestamp,
20789        }
20790
20791    @classmethod
20792    def from_dict(cls, d):
20793        return cls(
20794            activity_id=d.get('activity_id'),
20795            deleted_at=d.get('deleted_at'),
20796            remote_identity=d.get('remote_identity'),
20797            timestamp=d.get('timestamp'),
20798        )

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)
20750    def __init__(
20751        self,
20752        activity_id=None,
20753        deleted_at=None,
20754        remote_identity=None,
20755        timestamp=None,
20756    ):
20757        self.activity_id = activity_id if activity_id is not None else ''
20758        '''
20759         The unique identifier of the Activity that produced this change to the RemoteIdentity.
20760         May be empty for some system-initiated updates.
20761        '''
20762        self.deleted_at = deleted_at if deleted_at is not None else None
20763        '''
20764         If this RemoteIdentity was deleted, the time it was deleted.
20765        '''
20766        self.remote_identity = remote_identity if remote_identity is not None else None
20767        '''
20768         The complete RemoteIdentity state at this time.
20769        '''
20770        self.timestamp = timestamp if timestamp is not None else None
20771        '''
20772         The time at which the RemoteIdentity state was recorded.
20773        '''
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)
20783    def to_dict(self):
20784        return {
20785            'activity_id': self.activity_id,
20786            'deleted_at': self.deleted_at,
20787            'remote_identity': self.remote_identity,
20788            'timestamp': self.timestamp,
20789        }
@classmethod
def from_dict(cls, d)
20791    @classmethod
20792    def from_dict(cls, d):
20793        return cls(
20794            activity_id=d.get('activity_id'),
20795            deleted_at=d.get('deleted_at'),
20796            remote_identity=d.get('remote_identity'),
20797            timestamp=d.get('timestamp'),
20798        )
class RemoteIdentityUpdateResponse:
20801class RemoteIdentityUpdateResponse:
20802    '''
20803         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
20804     a RemoteIdentityUpdateRequest.
20805    '''
20806    __slots__ = [
20807        'meta',
20808        'rate_limit',
20809        'remote_identity',
20810    ]
20811
20812    def __init__(
20813        self,
20814        meta=None,
20815        rate_limit=None,
20816        remote_identity=None,
20817    ):
20818        self.meta = meta if meta is not None else None
20819        '''
20820         Reserved for future use.
20821        '''
20822        self.rate_limit = rate_limit if rate_limit is not None else None
20823        '''
20824         Rate limit information.
20825        '''
20826        self.remote_identity = remote_identity if remote_identity is not None else None
20827        '''
20828         The updated RemoteIdentity.
20829        '''
20830
20831    def __repr__(self):
20832        return '<sdm.RemoteIdentityUpdateResponse ' + \
20833            'meta: ' + repr(self.meta) + ' ' +\
20834            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20835            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
20836            '>'
20837
20838    def to_dict(self):
20839        return {
20840            'meta': self.meta,
20841            'rate_limit': self.rate_limit,
20842            'remote_identity': self.remote_identity,
20843        }
20844
20845    @classmethod
20846    def from_dict(cls, d):
20847        return cls(
20848            meta=d.get('meta'),
20849            rate_limit=d.get('rate_limit'),
20850            remote_identity=d.get('remote_identity'),
20851        )

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

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
20812    def __init__(
20813        self,
20814        meta=None,
20815        rate_limit=None,
20816        remote_identity=None,
20817    ):
20818        self.meta = meta if meta is not None else None
20819        '''
20820         Reserved for future use.
20821        '''
20822        self.rate_limit = rate_limit if rate_limit is not None else None
20823        '''
20824         Rate limit information.
20825        '''
20826        self.remote_identity = remote_identity if remote_identity is not None else None
20827        '''
20828         The updated RemoteIdentity.
20829        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
20838    def to_dict(self):
20839        return {
20840            'meta': self.meta,
20841            'rate_limit': self.rate_limit,
20842            'remote_identity': self.remote_identity,
20843        }
@classmethod
def from_dict(cls, d)
20845    @classmethod
20846    def from_dict(cls, d):
20847        return cls(
20848            meta=d.get('meta'),
20849            rate_limit=d.get('rate_limit'),
20850            remote_identity=d.get('remote_identity'),
20851        )
class ReplayChunk:
20854class ReplayChunk:
20855    '''
20856         A ReplayChunk represents a single "chunk" of data from the query replay.
20857    '''
20858    __slots__ = [
20859        'data',
20860        'events',
20861    ]
20862
20863    def __init__(
20864        self,
20865        data=None,
20866        events=None,
20867    ):
20868        self.data = data if data is not None else b''
20869        '''
20870         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
20871        '''
20872        self.events = events if events is not None else []
20873        '''
20874         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
20875         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
20876        '''
20877
20878    def __repr__(self):
20879        return '<sdm.ReplayChunk ' + \
20880            'data: ' + repr(self.data) + ' ' +\
20881            'events: ' + repr(self.events) + ' ' +\
20882            '>'
20883
20884    def to_dict(self):
20885        return {
20886            'data': self.data,
20887            'events': self.events,
20888        }
20889
20890    @classmethod
20891    def from_dict(cls, d):
20892        return cls(
20893            data=d.get('data'),
20894            events=d.get('events'),
20895        )

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

ReplayChunk(data=None, events=None)
20863    def __init__(
20864        self,
20865        data=None,
20866        events=None,
20867    ):
20868        self.data = data if data is not None else b''
20869        '''
20870         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
20871        '''
20872        self.events = events if events is not None else []
20873        '''
20874         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
20875         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
20876        '''
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.

def to_dict(self)
20884    def to_dict(self):
20885        return {
20886            'data': self.data,
20887            'events': self.events,
20888        }
@classmethod
def from_dict(cls, d)
20890    @classmethod
20891    def from_dict(cls, d):
20892        return cls(
20893            data=d.get('data'),
20894            events=d.get('events'),
20895        )
class ReplayChunkEvent:
20898class ReplayChunkEvent:
20899    '''
20900         A ReplayChunkEvent represents a single event within a query replay.
20901     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
20902    '''
20903    __slots__ = [
20904        'data',
20905        'duration',
20906    ]
20907
20908    def __init__(
20909        self,
20910        data=None,
20911        duration=None,
20912    ):
20913        self.data = data if data is not None else b''
20914        '''
20915         The raw data of the ReplayChunkEvent.
20916        '''
20917        self.duration = duration if duration is not None else None
20918        '''
20919         The time duration over which the data in this ReplayChunkEvent was transferred.
20920        '''
20921
20922    def __repr__(self):
20923        return '<sdm.ReplayChunkEvent ' + \
20924            'data: ' + repr(self.data) + ' ' +\
20925            'duration: ' + repr(self.duration) + ' ' +\
20926            '>'
20927
20928    def to_dict(self):
20929        return {
20930            'data': self.data,
20931            'duration': self.duration,
20932        }
20933
20934    @classmethod
20935    def from_dict(cls, d):
20936        return cls(
20937            data=d.get('data'),
20938            duration=d.get('duration'),
20939        )

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)
20908    def __init__(
20909        self,
20910        data=None,
20911        duration=None,
20912    ):
20913        self.data = data if data is not None else b''
20914        '''
20915         The raw data of the ReplayChunkEvent.
20916        '''
20917        self.duration = duration if duration is not None else None
20918        '''
20919         The time duration over which the data in this ReplayChunkEvent was transferred.
20920        '''
data

The raw data of the ReplayChunkEvent.

duration

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

def to_dict(self)
20928    def to_dict(self):
20929        return {
20930            'data': self.data,
20931            'duration': self.duration,
20932        }
@classmethod
def from_dict(cls, d)
20934    @classmethod
20935    def from_dict(cls, d):
20936        return cls(
20937            data=d.get('data'),
20938            duration=d.get('duration'),
20939        )
class RequestableResource:
20942class RequestableResource:
20943    '''
20944         RequestableResource is a resource that can be requested via an AccessRequestConfig
20945    '''
20946    __slots__ = [
20947        'access',
20948        'authentication',
20949        'healthy',
20950        'id',
20951        'name',
20952        'tags',
20953        'type',
20954    ]
20955
20956    def __init__(
20957        self,
20958        access=None,
20959        authentication=None,
20960        healthy=None,
20961        id=None,
20962        name=None,
20963        tags=None,
20964        type=None,
20965    ):
20966        self.access = access if access is not None else ''
20967        '''
20968         The current state of the user's access to the resources
20969        '''
20970        self.authentication = authentication if authentication is not None else ''
20971        '''
20972         The type of authentication for the resource
20973        '''
20974        self.healthy = healthy if healthy is not None else False
20975        '''
20976         The health check status of the reasource
20977        '''
20978        self.id = id if id is not None else ''
20979        '''
20980         The resource id.
20981        '''
20982        self.name = name if name is not None else ''
20983        '''
20984         The resource name.
20985        '''
20986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20987        '''
20988         Any tags attached to this resource
20989        '''
20990        self.type = type if type is not None else ''
20991        '''
20992         The resource type
20993        '''
20994
20995    def __repr__(self):
20996        return '<sdm.RequestableResource ' + \
20997            'access: ' + repr(self.access) + ' ' +\
20998            'authentication: ' + repr(self.authentication) + ' ' +\
20999            'healthy: ' + repr(self.healthy) + ' ' +\
21000            'id: ' + repr(self.id) + ' ' +\
21001            'name: ' + repr(self.name) + ' ' +\
21002            'tags: ' + repr(self.tags) + ' ' +\
21003            'type: ' + repr(self.type) + ' ' +\
21004            '>'
21005
21006    def to_dict(self):
21007        return {
21008            'access': self.access,
21009            'authentication': self.authentication,
21010            'healthy': self.healthy,
21011            'id': self.id,
21012            'name': self.name,
21013            'tags': self.tags,
21014            'type': self.type,
21015        }
21016
21017    @classmethod
21018    def from_dict(cls, d):
21019        return cls(
21020            access=d.get('access'),
21021            authentication=d.get('authentication'),
21022            healthy=d.get('healthy'),
21023            id=d.get('id'),
21024            name=d.get('name'),
21025            tags=d.get('tags'),
21026            type=d.get('type'),
21027        )

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)
20956    def __init__(
20957        self,
20958        access=None,
20959        authentication=None,
20960        healthy=None,
20961        id=None,
20962        name=None,
20963        tags=None,
20964        type=None,
20965    ):
20966        self.access = access if access is not None else ''
20967        '''
20968         The current state of the user's access to the resources
20969        '''
20970        self.authentication = authentication if authentication is not None else ''
20971        '''
20972         The type of authentication for the resource
20973        '''
20974        self.healthy = healthy if healthy is not None else False
20975        '''
20976         The health check status of the reasource
20977        '''
20978        self.id = id if id is not None else ''
20979        '''
20980         The resource id.
20981        '''
20982        self.name = name if name is not None else ''
20983        '''
20984         The resource name.
20985        '''
20986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20987        '''
20988         Any tags attached to this resource
20989        '''
20990        self.type = type if type is not None else ''
20991        '''
20992         The resource type
20993        '''
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)
21006    def to_dict(self):
21007        return {
21008            'access': self.access,
21009            'authentication': self.authentication,
21010            'healthy': self.healthy,
21011            'id': self.id,
21012            'name': self.name,
21013            'tags': self.tags,
21014            'type': self.type,
21015        }
@classmethod
def from_dict(cls, d)
21017    @classmethod
21018    def from_dict(cls, d):
21019        return cls(
21020            access=d.get('access'),
21021            authentication=d.get('authentication'),
21022            healthy=d.get('healthy'),
21023            id=d.get('id'),
21024            name=d.get('name'),
21025            tags=d.get('tags'),
21026            type=d.get('type'),
21027        )
class ResourceCreateResponse:
21030class ResourceCreateResponse:
21031    '''
21032         ResourceCreateResponse reports how the Resources were created in the system.
21033    '''
21034    __slots__ = [
21035        'meta',
21036        'rate_limit',
21037        'resource',
21038    ]
21039
21040    def __init__(
21041        self,
21042        meta=None,
21043        rate_limit=None,
21044        resource=None,
21045    ):
21046        self.meta = meta if meta is not None else None
21047        '''
21048         Reserved for future use.
21049        '''
21050        self.rate_limit = rate_limit if rate_limit is not None else None
21051        '''
21052         Rate limit information.
21053        '''
21054        self.resource = resource if resource is not None else None
21055        '''
21056         The created Resource.
21057        '''
21058
21059    def __repr__(self):
21060        return '<sdm.ResourceCreateResponse ' + \
21061            'meta: ' + repr(self.meta) + ' ' +\
21062            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21063            'resource: ' + repr(self.resource) + ' ' +\
21064            '>'
21065
21066    def to_dict(self):
21067        return {
21068            'meta': self.meta,
21069            'rate_limit': self.rate_limit,
21070            'resource': self.resource,
21071        }
21072
21073    @classmethod
21074    def from_dict(cls, d):
21075        return cls(
21076            meta=d.get('meta'),
21077            rate_limit=d.get('rate_limit'),
21078            resource=d.get('resource'),
21079        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
21040    def __init__(
21041        self,
21042        meta=None,
21043        rate_limit=None,
21044        resource=None,
21045    ):
21046        self.meta = meta if meta is not None else None
21047        '''
21048         Reserved for future use.
21049        '''
21050        self.rate_limit = rate_limit if rate_limit is not None else None
21051        '''
21052         Rate limit information.
21053        '''
21054        self.resource = resource if resource is not None else None
21055        '''
21056         The created Resource.
21057        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
21066    def to_dict(self):
21067        return {
21068            'meta': self.meta,
21069            'rate_limit': self.rate_limit,
21070            'resource': self.resource,
21071        }
@classmethod
def from_dict(cls, d)
21073    @classmethod
21074    def from_dict(cls, d):
21075        return cls(
21076            meta=d.get('meta'),
21077            rate_limit=d.get('rate_limit'),
21078            resource=d.get('resource'),
21079        )
class ResourceDeleteResponse:
21082class ResourceDeleteResponse:
21083    '''
21084         ResourceDeleteResponse returns information about a Resource that was deleted.
21085    '''
21086    __slots__ = [
21087        'meta',
21088        'rate_limit',
21089    ]
21090
21091    def __init__(
21092        self,
21093        meta=None,
21094        rate_limit=None,
21095    ):
21096        self.meta = meta if meta is not None else None
21097        '''
21098         Reserved for future use.
21099        '''
21100        self.rate_limit = rate_limit if rate_limit is not None else None
21101        '''
21102         Rate limit information.
21103        '''
21104
21105    def __repr__(self):
21106        return '<sdm.ResourceDeleteResponse ' + \
21107            'meta: ' + repr(self.meta) + ' ' +\
21108            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21109            '>'
21110
21111    def to_dict(self):
21112        return {
21113            'meta': self.meta,
21114            'rate_limit': self.rate_limit,
21115        }
21116
21117    @classmethod
21118    def from_dict(cls, d):
21119        return cls(
21120            meta=d.get('meta'),
21121            rate_limit=d.get('rate_limit'),
21122        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
21091    def __init__(
21092        self,
21093        meta=None,
21094        rate_limit=None,
21095    ):
21096        self.meta = meta if meta is not None else None
21097        '''
21098         Reserved for future use.
21099        '''
21100        self.rate_limit = rate_limit if rate_limit is not None else None
21101        '''
21102         Rate limit information.
21103        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21111    def to_dict(self):
21112        return {
21113            'meta': self.meta,
21114            'rate_limit': self.rate_limit,
21115        }
@classmethod
def from_dict(cls, d)
21117    @classmethod
21118    def from_dict(cls, d):
21119        return cls(
21120            meta=d.get('meta'),
21121            rate_limit=d.get('rate_limit'),
21122        )
class ResourceGetResponse:
21125class ResourceGetResponse:
21126    '''
21127         ResourceGetResponse returns a requested Resource.
21128    '''
21129    __slots__ = [
21130        'meta',
21131        'rate_limit',
21132        'resource',
21133    ]
21134
21135    def __init__(
21136        self,
21137        meta=None,
21138        rate_limit=None,
21139        resource=None,
21140    ):
21141        self.meta = meta if meta is not None else None
21142        '''
21143         Reserved for future use.
21144        '''
21145        self.rate_limit = rate_limit if rate_limit is not None else None
21146        '''
21147         Rate limit information.
21148        '''
21149        self.resource = resource if resource is not None else None
21150        '''
21151         The requested Resource.
21152        '''
21153
21154    def __repr__(self):
21155        return '<sdm.ResourceGetResponse ' + \
21156            'meta: ' + repr(self.meta) + ' ' +\
21157            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21158            'resource: ' + repr(self.resource) + ' ' +\
21159            '>'
21160
21161    def to_dict(self):
21162        return {
21163            'meta': self.meta,
21164            'rate_limit': self.rate_limit,
21165            'resource': self.resource,
21166        }
21167
21168    @classmethod
21169    def from_dict(cls, d):
21170        return cls(
21171            meta=d.get('meta'),
21172            rate_limit=d.get('rate_limit'),
21173            resource=d.get('resource'),
21174        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
21135    def __init__(
21136        self,
21137        meta=None,
21138        rate_limit=None,
21139        resource=None,
21140    ):
21141        self.meta = meta if meta is not None else None
21142        '''
21143         Reserved for future use.
21144        '''
21145        self.rate_limit = rate_limit if rate_limit is not None else None
21146        '''
21147         Rate limit information.
21148        '''
21149        self.resource = resource if resource is not None else None
21150        '''
21151         The requested Resource.
21152        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
21161    def to_dict(self):
21162        return {
21163            'meta': self.meta,
21164            'rate_limit': self.rate_limit,
21165            'resource': self.resource,
21166        }
@classmethod
def from_dict(cls, d)
21168    @classmethod
21169    def from_dict(cls, d):
21170        return cls(
21171            meta=d.get('meta'),
21172            rate_limit=d.get('rate_limit'),
21173            resource=d.get('resource'),
21174        )
class ResourceHealthcheckRequest:
21177class ResourceHealthcheckRequest:
21178    '''
21179         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
21180    '''
21181    __slots__ = [
21182        'id',
21183    ]
21184
21185    def __init__(
21186        self,
21187        id=None,
21188    ):
21189        self.id = id if id is not None else ''
21190        '''
21191         The unique identifier of the Resource to healthcheck.
21192        '''
21193
21194    def __repr__(self):
21195        return '<sdm.ResourceHealthcheckRequest ' + \
21196            'id: ' + repr(self.id) + ' ' +\
21197            '>'
21198
21199    def to_dict(self):
21200        return {
21201            'id': self.id,
21202        }
21203
21204    @classmethod
21205    def from_dict(cls, d):
21206        return cls(id=d.get('id'), )

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

ResourceHealthcheckRequest(id=None)
21185    def __init__(
21186        self,
21187        id=None,
21188    ):
21189        self.id = id if id is not None else ''
21190        '''
21191         The unique identifier of the Resource to healthcheck.
21192        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
21199    def to_dict(self):
21200        return {
21201            'id': self.id,
21202        }
@classmethod
def from_dict(cls, d)
21204    @classmethod
21205    def from_dict(cls, d):
21206        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
21209class ResourceHealthcheckResponse:
21210    '''
21211         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
21212     Healthchecks are non blocking, and this contains no non-metadata.
21213    '''
21214    __slots__ = [
21215        'meta',
21216        'rate_limit',
21217    ]
21218
21219    def __init__(
21220        self,
21221        meta=None,
21222        rate_limit=None,
21223    ):
21224        self.meta = meta if meta is not None else None
21225        '''
21226         Reserved for future use.
21227        '''
21228        self.rate_limit = rate_limit if rate_limit is not None else None
21229        '''
21230         Rate limit information.
21231        '''
21232
21233    def __repr__(self):
21234        return '<sdm.ResourceHealthcheckResponse ' + \
21235            'meta: ' + repr(self.meta) + ' ' +\
21236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21237            '>'
21238
21239    def to_dict(self):
21240        return {
21241            'meta': self.meta,
21242            'rate_limit': self.rate_limit,
21243        }
21244
21245    @classmethod
21246    def from_dict(cls, d):
21247        return cls(
21248            meta=d.get('meta'),
21249            rate_limit=d.get('rate_limit'),
21250        )

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

ResourceHealthcheckResponse(meta=None, rate_limit=None)
21219    def __init__(
21220        self,
21221        meta=None,
21222        rate_limit=None,
21223    ):
21224        self.meta = meta if meta is not None else None
21225        '''
21226         Reserved for future use.
21227        '''
21228        self.rate_limit = rate_limit if rate_limit is not None else None
21229        '''
21230         Rate limit information.
21231        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21239    def to_dict(self):
21240        return {
21241            'meta': self.meta,
21242            'rate_limit': self.rate_limit,
21243        }
@classmethod
def from_dict(cls, d)
21245    @classmethod
21246    def from_dict(cls, d):
21247        return cls(
21248            meta=d.get('meta'),
21249            rate_limit=d.get('rate_limit'),
21250        )
class ResourceHistory:
21253class ResourceHistory:
21254    '''
21255         ResourceHistory records the state of a Resource at a given point in time,
21256     where every change (create, update and delete) to a Resource produces an
21257     ResourceHistory record.
21258    '''
21259    __slots__ = [
21260        'activity_id',
21261        'deleted_at',
21262        'resource',
21263        'timestamp',
21264    ]
21265
21266    def __init__(
21267        self,
21268        activity_id=None,
21269        deleted_at=None,
21270        resource=None,
21271        timestamp=None,
21272    ):
21273        self.activity_id = activity_id if activity_id is not None else ''
21274        '''
21275         The unique identifier of the Activity that produced this change to the Resource.
21276         May be empty for some system-initiated updates.
21277        '''
21278        self.deleted_at = deleted_at if deleted_at is not None else None
21279        '''
21280         If this Resource was deleted, the time it was deleted.
21281        '''
21282        self.resource = resource if resource is not None else None
21283        '''
21284         The complete Resource state at this time.
21285        '''
21286        self.timestamp = timestamp if timestamp is not None else None
21287        '''
21288         The time at which the Resource state was recorded.
21289        '''
21290
21291    def __repr__(self):
21292        return '<sdm.ResourceHistory ' + \
21293            'activity_id: ' + repr(self.activity_id) + ' ' +\
21294            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21295            'resource: ' + repr(self.resource) + ' ' +\
21296            'timestamp: ' + repr(self.timestamp) + ' ' +\
21297            '>'
21298
21299    def to_dict(self):
21300        return {
21301            'activity_id': self.activity_id,
21302            'deleted_at': self.deleted_at,
21303            'resource': self.resource,
21304            'timestamp': self.timestamp,
21305        }
21306
21307    @classmethod
21308    def from_dict(cls, d):
21309        return cls(
21310            activity_id=d.get('activity_id'),
21311            deleted_at=d.get('deleted_at'),
21312            resource=d.get('resource'),
21313            timestamp=d.get('timestamp'),
21314        )

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)
21266    def __init__(
21267        self,
21268        activity_id=None,
21269        deleted_at=None,
21270        resource=None,
21271        timestamp=None,
21272    ):
21273        self.activity_id = activity_id if activity_id is not None else ''
21274        '''
21275         The unique identifier of the Activity that produced this change to the Resource.
21276         May be empty for some system-initiated updates.
21277        '''
21278        self.deleted_at = deleted_at if deleted_at is not None else None
21279        '''
21280         If this Resource was deleted, the time it was deleted.
21281        '''
21282        self.resource = resource if resource is not None else None
21283        '''
21284         The complete Resource state at this time.
21285        '''
21286        self.timestamp = timestamp if timestamp is not None else None
21287        '''
21288         The time at which the Resource state was recorded.
21289        '''
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)
21299    def to_dict(self):
21300        return {
21301            'activity_id': self.activity_id,
21302            'deleted_at': self.deleted_at,
21303            'resource': self.resource,
21304            'timestamp': self.timestamp,
21305        }
@classmethod
def from_dict(cls, d)
21307    @classmethod
21308    def from_dict(cls, d):
21309        return cls(
21310            activity_id=d.get('activity_id'),
21311            deleted_at=d.get('deleted_at'),
21312            resource=d.get('resource'),
21313            timestamp=d.get('timestamp'),
21314        )
class ResourceUpdateResponse:
21317class ResourceUpdateResponse:
21318    '''
21319         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
21320     a ResourceUpdateRequest.
21321    '''
21322    __slots__ = [
21323        'meta',
21324        'rate_limit',
21325        'resource',
21326    ]
21327
21328    def __init__(
21329        self,
21330        meta=None,
21331        rate_limit=None,
21332        resource=None,
21333    ):
21334        self.meta = meta if meta is not None else None
21335        '''
21336         Reserved for future use.
21337        '''
21338        self.rate_limit = rate_limit if rate_limit is not None else None
21339        '''
21340         Rate limit information.
21341        '''
21342        self.resource = resource if resource is not None else None
21343        '''
21344         The updated Resource.
21345        '''
21346
21347    def __repr__(self):
21348        return '<sdm.ResourceUpdateResponse ' + \
21349            'meta: ' + repr(self.meta) + ' ' +\
21350            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21351            'resource: ' + repr(self.resource) + ' ' +\
21352            '>'
21353
21354    def to_dict(self):
21355        return {
21356            'meta': self.meta,
21357            'rate_limit': self.rate_limit,
21358            'resource': self.resource,
21359        }
21360
21361    @classmethod
21362    def from_dict(cls, d):
21363        return cls(
21364            meta=d.get('meta'),
21365            rate_limit=d.get('rate_limit'),
21366            resource=d.get('resource'),
21367        )

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

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
21328    def __init__(
21329        self,
21330        meta=None,
21331        rate_limit=None,
21332        resource=None,
21333    ):
21334        self.meta = meta if meta is not None else None
21335        '''
21336         Reserved for future use.
21337        '''
21338        self.rate_limit = rate_limit if rate_limit is not None else None
21339        '''
21340         Rate limit information.
21341        '''
21342        self.resource = resource if resource is not None else None
21343        '''
21344         The updated Resource.
21345        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
21354    def to_dict(self):
21355        return {
21356            'meta': self.meta,
21357            'rate_limit': self.rate_limit,
21358            'resource': self.resource,
21359        }
@classmethod
def from_dict(cls, d)
21361    @classmethod
21362    def from_dict(cls, d):
21363        return cls(
21364            meta=d.get('meta'),
21365            rate_limit=d.get('rate_limit'),
21366            resource=d.get('resource'),
21367        )
class Role:
21370class Role:
21371    '''
21372         A Role has a list of access rules which determine which Resources the members
21373     of the Role have access to. An Account can be a member of multiple Roles via
21374     AccountAttachments.
21375    '''
21376    __slots__ = [
21377        'access_rules',
21378        'id',
21379        'managed_by',
21380        'name',
21381        'tags',
21382    ]
21383
21384    def __init__(
21385        self,
21386        access_rules=None,
21387        id=None,
21388        managed_by=None,
21389        name=None,
21390        tags=None,
21391    ):
21392        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
21393        )
21394        '''
21395         AccessRules is a list of access rules defining the resources this Role has access to.
21396        '''
21397        self.id = id if id is not None else ''
21398        '''
21399         Unique identifier of the Role.
21400        '''
21401        self.managed_by = managed_by if managed_by is not None else ''
21402        '''
21403         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
21404        '''
21405        self.name = name if name is not None else ''
21406        '''
21407         Unique human-readable name of the Role.
21408        '''
21409        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21410        '''
21411         Tags is a map of key, value pairs.
21412        '''
21413
21414    def __repr__(self):
21415        return '<sdm.Role ' + \
21416            'access_rules: ' + repr(self.access_rules) + ' ' +\
21417            'id: ' + repr(self.id) + ' ' +\
21418            'managed_by: ' + repr(self.managed_by) + ' ' +\
21419            'name: ' + repr(self.name) + ' ' +\
21420            'tags: ' + repr(self.tags) + ' ' +\
21421            '>'
21422
21423    def to_dict(self):
21424        return {
21425            'access_rules': self.access_rules,
21426            'id': self.id,
21427            'managed_by': self.managed_by,
21428            'name': self.name,
21429            'tags': self.tags,
21430        }
21431
21432    @classmethod
21433    def from_dict(cls, d):
21434        return cls(
21435            access_rules=d.get('access_rules'),
21436            id=d.get('id'),
21437            managed_by=d.get('managed_by'),
21438            name=d.get('name'),
21439            tags=d.get('tags'),
21440        )

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)
21384    def __init__(
21385        self,
21386        access_rules=None,
21387        id=None,
21388        managed_by=None,
21389        name=None,
21390        tags=None,
21391    ):
21392        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
21393        )
21394        '''
21395         AccessRules is a list of access rules defining the resources this Role has access to.
21396        '''
21397        self.id = id if id is not None else ''
21398        '''
21399         Unique identifier of the Role.
21400        '''
21401        self.managed_by = managed_by if managed_by is not None else ''
21402        '''
21403         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
21404        '''
21405        self.name = name if name is not None else ''
21406        '''
21407         Unique human-readable name of the Role.
21408        '''
21409        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21410        '''
21411         Tags is a map of key, value pairs.
21412        '''
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)
21423    def to_dict(self):
21424        return {
21425            'access_rules': self.access_rules,
21426            'id': self.id,
21427            'managed_by': self.managed_by,
21428            'name': self.name,
21429            'tags': self.tags,
21430        }
@classmethod
def from_dict(cls, d)
21432    @classmethod
21433    def from_dict(cls, d):
21434        return cls(
21435            access_rules=d.get('access_rules'),
21436            id=d.get('id'),
21437            managed_by=d.get('managed_by'),
21438            name=d.get('name'),
21439            tags=d.get('tags'),
21440        )
class RoleCreateResponse:
21443class RoleCreateResponse:
21444    '''
21445         RoleCreateResponse reports how the Roles were created in the system. It can
21446     communicate partial successes or failures.
21447    '''
21448    __slots__ = [
21449        'meta',
21450        'rate_limit',
21451        'role',
21452    ]
21453
21454    def __init__(
21455        self,
21456        meta=None,
21457        rate_limit=None,
21458        role=None,
21459    ):
21460        self.meta = meta if meta is not None else None
21461        '''
21462         Reserved for future use.
21463        '''
21464        self.rate_limit = rate_limit if rate_limit is not None else None
21465        '''
21466         Rate limit information.
21467        '''
21468        self.role = role if role is not None else None
21469        '''
21470         The created Role.
21471        '''
21472
21473    def __repr__(self):
21474        return '<sdm.RoleCreateResponse ' + \
21475            'meta: ' + repr(self.meta) + ' ' +\
21476            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21477            'role: ' + repr(self.role) + ' ' +\
21478            '>'
21479
21480    def to_dict(self):
21481        return {
21482            'meta': self.meta,
21483            'rate_limit': self.rate_limit,
21484            'role': self.role,
21485        }
21486
21487    @classmethod
21488    def from_dict(cls, d):
21489        return cls(
21490            meta=d.get('meta'),
21491            rate_limit=d.get('rate_limit'),
21492            role=d.get('role'),
21493        )

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)
21454    def __init__(
21455        self,
21456        meta=None,
21457        rate_limit=None,
21458        role=None,
21459    ):
21460        self.meta = meta if meta is not None else None
21461        '''
21462         Reserved for future use.
21463        '''
21464        self.rate_limit = rate_limit if rate_limit is not None else None
21465        '''
21466         Rate limit information.
21467        '''
21468        self.role = role if role is not None else None
21469        '''
21470         The created Role.
21471        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
21480    def to_dict(self):
21481        return {
21482            'meta': self.meta,
21483            'rate_limit': self.rate_limit,
21484            'role': self.role,
21485        }
@classmethod
def from_dict(cls, d)
21487    @classmethod
21488    def from_dict(cls, d):
21489        return cls(
21490            meta=d.get('meta'),
21491            rate_limit=d.get('rate_limit'),
21492            role=d.get('role'),
21493        )
class RoleDeleteResponse:
21496class RoleDeleteResponse:
21497    '''
21498         RoleDeleteResponse returns information about a Role that was deleted.
21499    '''
21500    __slots__ = [
21501        'meta',
21502        'rate_limit',
21503    ]
21504
21505    def __init__(
21506        self,
21507        meta=None,
21508        rate_limit=None,
21509    ):
21510        self.meta = meta if meta is not None else None
21511        '''
21512         Reserved for future use.
21513        '''
21514        self.rate_limit = rate_limit if rate_limit is not None else None
21515        '''
21516         Rate limit information.
21517        '''
21518
21519    def __repr__(self):
21520        return '<sdm.RoleDeleteResponse ' + \
21521            'meta: ' + repr(self.meta) + ' ' +\
21522            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21523            '>'
21524
21525    def to_dict(self):
21526        return {
21527            'meta': self.meta,
21528            'rate_limit': self.rate_limit,
21529        }
21530
21531    @classmethod
21532    def from_dict(cls, d):
21533        return cls(
21534            meta=d.get('meta'),
21535            rate_limit=d.get('rate_limit'),
21536        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
21505    def __init__(
21506        self,
21507        meta=None,
21508        rate_limit=None,
21509    ):
21510        self.meta = meta if meta is not None else None
21511        '''
21512         Reserved for future use.
21513        '''
21514        self.rate_limit = rate_limit if rate_limit is not None else None
21515        '''
21516         Rate limit information.
21517        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21525    def to_dict(self):
21526        return {
21527            'meta': self.meta,
21528            'rate_limit': self.rate_limit,
21529        }
@classmethod
def from_dict(cls, d)
21531    @classmethod
21532    def from_dict(cls, d):
21533        return cls(
21534            meta=d.get('meta'),
21535            rate_limit=d.get('rate_limit'),
21536        )
class RoleGetResponse:
21539class RoleGetResponse:
21540    '''
21541         RoleGetResponse returns a requested Role.
21542    '''
21543    __slots__ = [
21544        'meta',
21545        'rate_limit',
21546        'role',
21547    ]
21548
21549    def __init__(
21550        self,
21551        meta=None,
21552        rate_limit=None,
21553        role=None,
21554    ):
21555        self.meta = meta if meta is not None else None
21556        '''
21557         Reserved for future use.
21558        '''
21559        self.rate_limit = rate_limit if rate_limit is not None else None
21560        '''
21561         Rate limit information.
21562        '''
21563        self.role = role if role is not None else None
21564        '''
21565         The requested Role.
21566        '''
21567
21568    def __repr__(self):
21569        return '<sdm.RoleGetResponse ' + \
21570            'meta: ' + repr(self.meta) + ' ' +\
21571            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21572            'role: ' + repr(self.role) + ' ' +\
21573            '>'
21574
21575    def to_dict(self):
21576        return {
21577            'meta': self.meta,
21578            'rate_limit': self.rate_limit,
21579            'role': self.role,
21580        }
21581
21582    @classmethod
21583    def from_dict(cls, d):
21584        return cls(
21585            meta=d.get('meta'),
21586            rate_limit=d.get('rate_limit'),
21587            role=d.get('role'),
21588        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
21549    def __init__(
21550        self,
21551        meta=None,
21552        rate_limit=None,
21553        role=None,
21554    ):
21555        self.meta = meta if meta is not None else None
21556        '''
21557         Reserved for future use.
21558        '''
21559        self.rate_limit = rate_limit if rate_limit is not None else None
21560        '''
21561         Rate limit information.
21562        '''
21563        self.role = role if role is not None else None
21564        '''
21565         The requested Role.
21566        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
21575    def to_dict(self):
21576        return {
21577            'meta': self.meta,
21578            'rate_limit': self.rate_limit,
21579            'role': self.role,
21580        }
@classmethod
def from_dict(cls, d)
21582    @classmethod
21583    def from_dict(cls, d):
21584        return cls(
21585            meta=d.get('meta'),
21586            rate_limit=d.get('rate_limit'),
21587            role=d.get('role'),
21588        )
class RoleHistory:
21591class RoleHistory:
21592    '''
21593         RoleHistory records the state of a Role at a given point in time,
21594     where every change (create, update and delete) to a Role produces an
21595     RoleHistory record.
21596    '''
21597    __slots__ = [
21598        'activity_id',
21599        'deleted_at',
21600        'role',
21601        'timestamp',
21602    ]
21603
21604    def __init__(
21605        self,
21606        activity_id=None,
21607        deleted_at=None,
21608        role=None,
21609        timestamp=None,
21610    ):
21611        self.activity_id = activity_id if activity_id is not None else ''
21612        '''
21613         The unique identifier of the Activity that produced this change to the Role.
21614         May be empty for some system-initiated updates.
21615        '''
21616        self.deleted_at = deleted_at if deleted_at is not None else None
21617        '''
21618         If this Role was deleted, the time it was deleted.
21619        '''
21620        self.role = role if role is not None else None
21621        '''
21622         The complete Role state at this time.
21623        '''
21624        self.timestamp = timestamp if timestamp is not None else None
21625        '''
21626         The time at which the Role state was recorded.
21627        '''
21628
21629    def __repr__(self):
21630        return '<sdm.RoleHistory ' + \
21631            'activity_id: ' + repr(self.activity_id) + ' ' +\
21632            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21633            'role: ' + repr(self.role) + ' ' +\
21634            'timestamp: ' + repr(self.timestamp) + ' ' +\
21635            '>'
21636
21637    def to_dict(self):
21638        return {
21639            'activity_id': self.activity_id,
21640            'deleted_at': self.deleted_at,
21641            'role': self.role,
21642            'timestamp': self.timestamp,
21643        }
21644
21645    @classmethod
21646    def from_dict(cls, d):
21647        return cls(
21648            activity_id=d.get('activity_id'),
21649            deleted_at=d.get('deleted_at'),
21650            role=d.get('role'),
21651            timestamp=d.get('timestamp'),
21652        )

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)
21604    def __init__(
21605        self,
21606        activity_id=None,
21607        deleted_at=None,
21608        role=None,
21609        timestamp=None,
21610    ):
21611        self.activity_id = activity_id if activity_id is not None else ''
21612        '''
21613         The unique identifier of the Activity that produced this change to the Role.
21614         May be empty for some system-initiated updates.
21615        '''
21616        self.deleted_at = deleted_at if deleted_at is not None else None
21617        '''
21618         If this Role was deleted, the time it was deleted.
21619        '''
21620        self.role = role if role is not None else None
21621        '''
21622         The complete Role state at this time.
21623        '''
21624        self.timestamp = timestamp if timestamp is not None else None
21625        '''
21626         The time at which the Role state was recorded.
21627        '''
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)
21637    def to_dict(self):
21638        return {
21639            'activity_id': self.activity_id,
21640            'deleted_at': self.deleted_at,
21641            'role': self.role,
21642            'timestamp': self.timestamp,
21643        }
@classmethod
def from_dict(cls, d)
21645    @classmethod
21646    def from_dict(cls, d):
21647        return cls(
21648            activity_id=d.get('activity_id'),
21649            deleted_at=d.get('deleted_at'),
21650            role=d.get('role'),
21651            timestamp=d.get('timestamp'),
21652        )
class RoleResource:
21655class RoleResource:
21656    '''
21657         RoleResource represents an individual access grant of a Role to a Resource.
21658    '''
21659    __slots__ = [
21660        'granted_at',
21661        'resource_id',
21662        'role_id',
21663    ]
21664
21665    def __init__(
21666        self,
21667        granted_at=None,
21668        resource_id=None,
21669        role_id=None,
21670    ):
21671        self.granted_at = granted_at if granted_at is not None else None
21672        '''
21673         The most recent time at which access was granted. If access was granted,
21674         revoked, and granted again, this will reflect the later time.
21675        '''
21676        self.resource_id = resource_id if resource_id is not None else ''
21677        '''
21678         The unique identifier of the Resource to which access is granted.
21679        '''
21680        self.role_id = role_id if role_id is not None else ''
21681        '''
21682         The unique identifier of the Role to which access is granted.
21683        '''
21684
21685    def __repr__(self):
21686        return '<sdm.RoleResource ' + \
21687            'granted_at: ' + repr(self.granted_at) + ' ' +\
21688            'resource_id: ' + repr(self.resource_id) + ' ' +\
21689            'role_id: ' + repr(self.role_id) + ' ' +\
21690            '>'
21691
21692    def to_dict(self):
21693        return {
21694            'granted_at': self.granted_at,
21695            'resource_id': self.resource_id,
21696            'role_id': self.role_id,
21697        }
21698
21699    @classmethod
21700    def from_dict(cls, d):
21701        return cls(
21702            granted_at=d.get('granted_at'),
21703            resource_id=d.get('resource_id'),
21704            role_id=d.get('role_id'),
21705        )

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

RoleResource(granted_at=None, resource_id=None, role_id=None)
21665    def __init__(
21666        self,
21667        granted_at=None,
21668        resource_id=None,
21669        role_id=None,
21670    ):
21671        self.granted_at = granted_at if granted_at is not None else None
21672        '''
21673         The most recent time at which access was granted. If access was granted,
21674         revoked, and granted again, this will reflect the later time.
21675        '''
21676        self.resource_id = resource_id if resource_id is not None else ''
21677        '''
21678         The unique identifier of the Resource to which access is granted.
21679        '''
21680        self.role_id = role_id if role_id is not None else ''
21681        '''
21682         The unique identifier of the Role to which access is granted.
21683        '''
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)
21692    def to_dict(self):
21693        return {
21694            'granted_at': self.granted_at,
21695            'resource_id': self.resource_id,
21696            'role_id': self.role_id,
21697        }
@classmethod
def from_dict(cls, d)
21699    @classmethod
21700    def from_dict(cls, d):
21701        return cls(
21702            granted_at=d.get('granted_at'),
21703            resource_id=d.get('resource_id'),
21704            role_id=d.get('role_id'),
21705        )
class RoleResourceHistory:
21708class RoleResourceHistory:
21709    '''
21710         RoleResourceHistory records the state of a RoleResource at a given point in time,
21711     where every change (create or delete) to a RoleResource produces an
21712     RoleResourceHistory record.
21713    '''
21714    __slots__ = [
21715        'activity_id',
21716        'deleted_at',
21717        'role_resource',
21718        'timestamp',
21719    ]
21720
21721    def __init__(
21722        self,
21723        activity_id=None,
21724        deleted_at=None,
21725        role_resource=None,
21726        timestamp=None,
21727    ):
21728        self.activity_id = activity_id if activity_id is not None else ''
21729        '''
21730         The unique identifier of the Activity that produced this change to the RoleResource.
21731         May be empty for some system-initiated updates.
21732        '''
21733        self.deleted_at = deleted_at if deleted_at is not None else None
21734        '''
21735         If this RoleResource was deleted, the time it was deleted.
21736        '''
21737        self.role_resource = role_resource if role_resource is not None else None
21738        '''
21739         The complete RoleResource state at this time.
21740        '''
21741        self.timestamp = timestamp if timestamp is not None else None
21742        '''
21743         The time at which the RoleResource state was recorded.
21744        '''
21745
21746    def __repr__(self):
21747        return '<sdm.RoleResourceHistory ' + \
21748            'activity_id: ' + repr(self.activity_id) + ' ' +\
21749            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21750            'role_resource: ' + repr(self.role_resource) + ' ' +\
21751            'timestamp: ' + repr(self.timestamp) + ' ' +\
21752            '>'
21753
21754    def to_dict(self):
21755        return {
21756            'activity_id': self.activity_id,
21757            'deleted_at': self.deleted_at,
21758            'role_resource': self.role_resource,
21759            'timestamp': self.timestamp,
21760        }
21761
21762    @classmethod
21763    def from_dict(cls, d):
21764        return cls(
21765            activity_id=d.get('activity_id'),
21766            deleted_at=d.get('deleted_at'),
21767            role_resource=d.get('role_resource'),
21768            timestamp=d.get('timestamp'),
21769        )

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)
21721    def __init__(
21722        self,
21723        activity_id=None,
21724        deleted_at=None,
21725        role_resource=None,
21726        timestamp=None,
21727    ):
21728        self.activity_id = activity_id if activity_id is not None else ''
21729        '''
21730         The unique identifier of the Activity that produced this change to the RoleResource.
21731         May be empty for some system-initiated updates.
21732        '''
21733        self.deleted_at = deleted_at if deleted_at is not None else None
21734        '''
21735         If this RoleResource was deleted, the time it was deleted.
21736        '''
21737        self.role_resource = role_resource if role_resource is not None else None
21738        '''
21739         The complete RoleResource state at this time.
21740        '''
21741        self.timestamp = timestamp if timestamp is not None else None
21742        '''
21743         The time at which the RoleResource state was recorded.
21744        '''
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)
21754    def to_dict(self):
21755        return {
21756            'activity_id': self.activity_id,
21757            'deleted_at': self.deleted_at,
21758            'role_resource': self.role_resource,
21759            'timestamp': self.timestamp,
21760        }
@classmethod
def from_dict(cls, d)
21762    @classmethod
21763    def from_dict(cls, d):
21764        return cls(
21765            activity_id=d.get('activity_id'),
21766            deleted_at=d.get('deleted_at'),
21767            role_resource=d.get('role_resource'),
21768            timestamp=d.get('timestamp'),
21769        )
class RoleUpdateResponse:
21772class RoleUpdateResponse:
21773    '''
21774         RoleUpdateResponse returns the fields of a Role after it has been updated by
21775     a RoleUpdateRequest.
21776    '''
21777    __slots__ = [
21778        'meta',
21779        'rate_limit',
21780        'role',
21781    ]
21782
21783    def __init__(
21784        self,
21785        meta=None,
21786        rate_limit=None,
21787        role=None,
21788    ):
21789        self.meta = meta if meta is not None else None
21790        '''
21791         Reserved for future use.
21792        '''
21793        self.rate_limit = rate_limit if rate_limit is not None else None
21794        '''
21795         Rate limit information.
21796        '''
21797        self.role = role if role is not None else None
21798        '''
21799         The updated Role.
21800        '''
21801
21802    def __repr__(self):
21803        return '<sdm.RoleUpdateResponse ' + \
21804            'meta: ' + repr(self.meta) + ' ' +\
21805            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21806            'role: ' + repr(self.role) + ' ' +\
21807            '>'
21808
21809    def to_dict(self):
21810        return {
21811            'meta': self.meta,
21812            'rate_limit': self.rate_limit,
21813            'role': self.role,
21814        }
21815
21816    @classmethod
21817    def from_dict(cls, d):
21818        return cls(
21819            meta=d.get('meta'),
21820            rate_limit=d.get('rate_limit'),
21821            role=d.get('role'),
21822        )

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

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
21783    def __init__(
21784        self,
21785        meta=None,
21786        rate_limit=None,
21787        role=None,
21788    ):
21789        self.meta = meta if meta is not None else None
21790        '''
21791         Reserved for future use.
21792        '''
21793        self.rate_limit = rate_limit if rate_limit is not None else None
21794        '''
21795         Rate limit information.
21796        '''
21797        self.role = role if role is not None else None
21798        '''
21799         The updated Role.
21800        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
21809    def to_dict(self):
21810        return {
21811            'meta': self.meta,
21812            'rate_limit': self.rate_limit,
21813            'role': self.role,
21814        }
@classmethod
def from_dict(cls, d)
21816    @classmethod
21817    def from_dict(cls, d):
21818        return cls(
21819            meta=d.get('meta'),
21820            rate_limit=d.get('rate_limit'),
21821            role=d.get('role'),
21822        )
class SQLServer:
21825class SQLServer:
21826    __slots__ = [
21827        'allow_deprecated_encryption',
21828        'bind_interface',
21829        'database',
21830        'egress_filter',
21831        'healthy',
21832        'hostname',
21833        'id',
21834        'name',
21835        'override_database',
21836        'password',
21837        'port',
21838        'port_override',
21839        'proxy_cluster_id',
21840        'schema',
21841        'secret_store_id',
21842        'subdomain',
21843        'tags',
21844        'username',
21845    ]
21846
21847    def __init__(
21848        self,
21849        allow_deprecated_encryption=None,
21850        bind_interface=None,
21851        database=None,
21852        egress_filter=None,
21853        healthy=None,
21854        hostname=None,
21855        id=None,
21856        name=None,
21857        override_database=None,
21858        password=None,
21859        port=None,
21860        port_override=None,
21861        proxy_cluster_id=None,
21862        schema=None,
21863        secret_store_id=None,
21864        subdomain=None,
21865        tags=None,
21866        username=None,
21867    ):
21868        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
21869        '''
21870         Whether to allow deprecated encryption protocols to be used for this resource. For example,
21871         TLS 1.0.
21872        '''
21873        self.bind_interface = bind_interface if bind_interface is not None else ''
21874        '''
21875         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21876        '''
21877        self.database = database if database is not None else ''
21878        '''
21879         The database for healthchecks, and used for clients if Override Default Database is true.
21880        '''
21881        self.egress_filter = egress_filter if egress_filter is not None else ''
21882        '''
21883         A filter applied to the routing logic to pin datasource to nodes.
21884        '''
21885        self.healthy = healthy if healthy is not None else False
21886        '''
21887         True if the datasource is reachable and the credentials are valid.
21888        '''
21889        self.hostname = hostname if hostname is not None else ''
21890        '''
21891         The host to dial to initiate a connection from the egress node to this resource.
21892        '''
21893        self.id = id if id is not None else ''
21894        '''
21895         Unique identifier of the Resource.
21896        '''
21897        self.name = name if name is not None else ''
21898        '''
21899         Unique human-readable name of the Resource.
21900        '''
21901        self.override_database = override_database if override_database is not None else False
21902        '''
21903         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.
21904        '''
21905        self.password = password if password is not None else ''
21906        '''
21907         The password to authenticate with.
21908        '''
21909        self.port = port if port is not None else 0
21910        '''
21911         The port to dial to initiate a connection from the egress node to this resource.
21912        '''
21913        self.port_override = port_override if port_override is not None else 0
21914        '''
21915         The local port used by clients to connect to this resource.
21916        '''
21917        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21918        '''
21919         ID of the proxy cluster for this resource, if any.
21920        '''
21921        self.schema = schema if schema is not None else ''
21922        '''
21923         The Schema to use to direct initial requests.
21924        '''
21925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21926        '''
21927         ID of the secret store containing credentials for this resource, if any.
21928        '''
21929        self.subdomain = subdomain if subdomain is not None else ''
21930        '''
21931         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21932        '''
21933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21934        '''
21935         Tags is a map of key, value pairs.
21936        '''
21937        self.username = username if username is not None else ''
21938        '''
21939         The username to authenticate with.
21940        '''
21941
21942    def __repr__(self):
21943        return '<sdm.SQLServer ' + \
21944            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
21945            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21946            'database: ' + repr(self.database) + ' ' +\
21947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21948            'healthy: ' + repr(self.healthy) + ' ' +\
21949            'hostname: ' + repr(self.hostname) + ' ' +\
21950            'id: ' + repr(self.id) + ' ' +\
21951            'name: ' + repr(self.name) + ' ' +\
21952            'override_database: ' + repr(self.override_database) + ' ' +\
21953            'password: ' + repr(self.password) + ' ' +\
21954            'port: ' + repr(self.port) + ' ' +\
21955            'port_override: ' + repr(self.port_override) + ' ' +\
21956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21957            'schema: ' + repr(self.schema) + ' ' +\
21958            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21959            'subdomain: ' + repr(self.subdomain) + ' ' +\
21960            'tags: ' + repr(self.tags) + ' ' +\
21961            'username: ' + repr(self.username) + ' ' +\
21962            '>'
21963
21964    def to_dict(self):
21965        return {
21966            'allow_deprecated_encryption': self.allow_deprecated_encryption,
21967            'bind_interface': self.bind_interface,
21968            'database': self.database,
21969            'egress_filter': self.egress_filter,
21970            'healthy': self.healthy,
21971            'hostname': self.hostname,
21972            'id': self.id,
21973            'name': self.name,
21974            'override_database': self.override_database,
21975            'password': self.password,
21976            'port': self.port,
21977            'port_override': self.port_override,
21978            'proxy_cluster_id': self.proxy_cluster_id,
21979            'schema': self.schema,
21980            'secret_store_id': self.secret_store_id,
21981            'subdomain': self.subdomain,
21982            'tags': self.tags,
21983            'username': self.username,
21984        }
21985
21986    @classmethod
21987    def from_dict(cls, d):
21988        return cls(
21989            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
21990            bind_interface=d.get('bind_interface'),
21991            database=d.get('database'),
21992            egress_filter=d.get('egress_filter'),
21993            healthy=d.get('healthy'),
21994            hostname=d.get('hostname'),
21995            id=d.get('id'),
21996            name=d.get('name'),
21997            override_database=d.get('override_database'),
21998            password=d.get('password'),
21999            port=d.get('port'),
22000            port_override=d.get('port_override'),
22001            proxy_cluster_id=d.get('proxy_cluster_id'),
22002            schema=d.get('schema'),
22003            secret_store_id=d.get('secret_store_id'),
22004            subdomain=d.get('subdomain'),
22005            tags=d.get('tags'),
22006            username=d.get('username'),
22007        )
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)
21847    def __init__(
21848        self,
21849        allow_deprecated_encryption=None,
21850        bind_interface=None,
21851        database=None,
21852        egress_filter=None,
21853        healthy=None,
21854        hostname=None,
21855        id=None,
21856        name=None,
21857        override_database=None,
21858        password=None,
21859        port=None,
21860        port_override=None,
21861        proxy_cluster_id=None,
21862        schema=None,
21863        secret_store_id=None,
21864        subdomain=None,
21865        tags=None,
21866        username=None,
21867    ):
21868        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
21869        '''
21870         Whether to allow deprecated encryption protocols to be used for this resource. For example,
21871         TLS 1.0.
21872        '''
21873        self.bind_interface = bind_interface if bind_interface is not None else ''
21874        '''
21875         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21876        '''
21877        self.database = database if database is not None else ''
21878        '''
21879         The database for healthchecks, and used for clients if Override Default Database is true.
21880        '''
21881        self.egress_filter = egress_filter if egress_filter is not None else ''
21882        '''
21883         A filter applied to the routing logic to pin datasource to nodes.
21884        '''
21885        self.healthy = healthy if healthy is not None else False
21886        '''
21887         True if the datasource is reachable and the credentials are valid.
21888        '''
21889        self.hostname = hostname if hostname is not None else ''
21890        '''
21891         The host to dial to initiate a connection from the egress node to this resource.
21892        '''
21893        self.id = id if id is not None else ''
21894        '''
21895         Unique identifier of the Resource.
21896        '''
21897        self.name = name if name is not None else ''
21898        '''
21899         Unique human-readable name of the Resource.
21900        '''
21901        self.override_database = override_database if override_database is not None else False
21902        '''
21903         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.
21904        '''
21905        self.password = password if password is not None else ''
21906        '''
21907         The password to authenticate with.
21908        '''
21909        self.port = port if port is not None else 0
21910        '''
21911         The port to dial to initiate a connection from the egress node to this resource.
21912        '''
21913        self.port_override = port_override if port_override is not None else 0
21914        '''
21915         The local port used by clients to connect to this resource.
21916        '''
21917        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21918        '''
21919         ID of the proxy cluster for this resource, if any.
21920        '''
21921        self.schema = schema if schema is not None else ''
21922        '''
21923         The Schema to use to direct initial requests.
21924        '''
21925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21926        '''
21927         ID of the secret store containing credentials for this resource, if any.
21928        '''
21929        self.subdomain = subdomain if subdomain is not None else ''
21930        '''
21931         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21932        '''
21933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21934        '''
21935         Tags is a map of key, value pairs.
21936        '''
21937        self.username = username if username is not None else ''
21938        '''
21939         The username to authenticate with.
21940        '''
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)
21964    def to_dict(self):
21965        return {
21966            'allow_deprecated_encryption': self.allow_deprecated_encryption,
21967            'bind_interface': self.bind_interface,
21968            'database': self.database,
21969            'egress_filter': self.egress_filter,
21970            'healthy': self.healthy,
21971            'hostname': self.hostname,
21972            'id': self.id,
21973            'name': self.name,
21974            'override_database': self.override_database,
21975            'password': self.password,
21976            'port': self.port,
21977            'port_override': self.port_override,
21978            'proxy_cluster_id': self.proxy_cluster_id,
21979            'schema': self.schema,
21980            'secret_store_id': self.secret_store_id,
21981            'subdomain': self.subdomain,
21982            'tags': self.tags,
21983            'username': self.username,
21984        }
@classmethod
def from_dict(cls, d)
21986    @classmethod
21987    def from_dict(cls, d):
21988        return cls(
21989            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
21990            bind_interface=d.get('bind_interface'),
21991            database=d.get('database'),
21992            egress_filter=d.get('egress_filter'),
21993            healthy=d.get('healthy'),
21994            hostname=d.get('hostname'),
21995            id=d.get('id'),
21996            name=d.get('name'),
21997            override_database=d.get('override_database'),
21998            password=d.get('password'),
21999            port=d.get('port'),
22000            port_override=d.get('port_override'),
22001            proxy_cluster_id=d.get('proxy_cluster_id'),
22002            schema=d.get('schema'),
22003            secret_store_id=d.get('secret_store_id'),
22004            subdomain=d.get('subdomain'),
22005            tags=d.get('tags'),
22006            username=d.get('username'),
22007        )
class SQLServerAzureAD:
22010class SQLServerAzureAD:
22011    __slots__ = [
22012        'allow_deprecated_encryption',
22013        'bind_interface',
22014        'client_id',
22015        'database',
22016        'egress_filter',
22017        'healthy',
22018        'hostname',
22019        'id',
22020        'name',
22021        'override_database',
22022        'port',
22023        'port_override',
22024        'proxy_cluster_id',
22025        'schema',
22026        'secret',
22027        'secret_store_id',
22028        'subdomain',
22029        'tags',
22030        'tenant_id',
22031    ]
22032
22033    def __init__(
22034        self,
22035        allow_deprecated_encryption=None,
22036        bind_interface=None,
22037        client_id=None,
22038        database=None,
22039        egress_filter=None,
22040        healthy=None,
22041        hostname=None,
22042        id=None,
22043        name=None,
22044        override_database=None,
22045        port=None,
22046        port_override=None,
22047        proxy_cluster_id=None,
22048        schema=None,
22049        secret=None,
22050        secret_store_id=None,
22051        subdomain=None,
22052        tags=None,
22053        tenant_id=None,
22054    ):
22055        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22056        '''
22057         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22058         TLS 1.0.
22059        '''
22060        self.bind_interface = bind_interface if bind_interface is not None else ''
22061        '''
22062         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22063        '''
22064        self.client_id = client_id if client_id is not None else ''
22065        '''
22066         The Azure AD application (client) ID with which to authenticate.
22067        '''
22068        self.database = database if database is not None else ''
22069        '''
22070         The database for healthchecks, and used for clients if Override Default Database is true.
22071        '''
22072        self.egress_filter = egress_filter if egress_filter is not None else ''
22073        '''
22074         A filter applied to the routing logic to pin datasource to nodes.
22075        '''
22076        self.healthy = healthy if healthy is not None else False
22077        '''
22078         True if the datasource is reachable and the credentials are valid.
22079        '''
22080        self.hostname = hostname if hostname is not None else ''
22081        '''
22082         The host to dial to initiate a connection from the egress node to this resource.
22083        '''
22084        self.id = id if id is not None else ''
22085        '''
22086         Unique identifier of the Resource.
22087        '''
22088        self.name = name if name is not None else ''
22089        '''
22090         Unique human-readable name of the Resource.
22091        '''
22092        self.override_database = override_database if override_database is not None else False
22093        '''
22094         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.
22095        '''
22096        self.port = port if port is not None else 0
22097        '''
22098         The port to dial to initiate a connection from the egress node to this resource.
22099        '''
22100        self.port_override = port_override if port_override is not None else 0
22101        '''
22102         The local port used by clients to connect to this resource.
22103        '''
22104        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22105        '''
22106         ID of the proxy cluster for this resource, if any.
22107        '''
22108        self.schema = schema if schema is not None else ''
22109        '''
22110         The Schema to use to direct initial requests.
22111        '''
22112        self.secret = secret if secret is not None else ''
22113        '''
22114         The Azure AD client secret (application password) with which to authenticate.
22115        '''
22116        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22117        '''
22118         ID of the secret store containing credentials for this resource, if any.
22119        '''
22120        self.subdomain = subdomain if subdomain is not None else ''
22121        '''
22122         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22123        '''
22124        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22125        '''
22126         Tags is a map of key, value pairs.
22127        '''
22128        self.tenant_id = tenant_id if tenant_id is not None else ''
22129        '''
22130         The Azure AD directory (tenant) ID with which to authenticate.
22131        '''
22132
22133    def __repr__(self):
22134        return '<sdm.SQLServerAzureAD ' + \
22135            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
22136            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22137            'client_id: ' + repr(self.client_id) + ' ' +\
22138            'database: ' + repr(self.database) + ' ' +\
22139            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22140            'healthy: ' + repr(self.healthy) + ' ' +\
22141            'hostname: ' + repr(self.hostname) + ' ' +\
22142            'id: ' + repr(self.id) + ' ' +\
22143            'name: ' + repr(self.name) + ' ' +\
22144            'override_database: ' + repr(self.override_database) + ' ' +\
22145            'port: ' + repr(self.port) + ' ' +\
22146            'port_override: ' + repr(self.port_override) + ' ' +\
22147            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22148            'schema: ' + repr(self.schema) + ' ' +\
22149            'secret: ' + repr(self.secret) + ' ' +\
22150            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22151            'subdomain: ' + repr(self.subdomain) + ' ' +\
22152            'tags: ' + repr(self.tags) + ' ' +\
22153            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
22154            '>'
22155
22156    def to_dict(self):
22157        return {
22158            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22159            'bind_interface': self.bind_interface,
22160            'client_id': self.client_id,
22161            'database': self.database,
22162            'egress_filter': self.egress_filter,
22163            'healthy': self.healthy,
22164            'hostname': self.hostname,
22165            'id': self.id,
22166            'name': self.name,
22167            'override_database': self.override_database,
22168            'port': self.port,
22169            'port_override': self.port_override,
22170            'proxy_cluster_id': self.proxy_cluster_id,
22171            'schema': self.schema,
22172            'secret': self.secret,
22173            'secret_store_id': self.secret_store_id,
22174            'subdomain': self.subdomain,
22175            'tags': self.tags,
22176            'tenant_id': self.tenant_id,
22177        }
22178
22179    @classmethod
22180    def from_dict(cls, d):
22181        return cls(
22182            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22183            bind_interface=d.get('bind_interface'),
22184            client_id=d.get('client_id'),
22185            database=d.get('database'),
22186            egress_filter=d.get('egress_filter'),
22187            healthy=d.get('healthy'),
22188            hostname=d.get('hostname'),
22189            id=d.get('id'),
22190            name=d.get('name'),
22191            override_database=d.get('override_database'),
22192            port=d.get('port'),
22193            port_override=d.get('port_override'),
22194            proxy_cluster_id=d.get('proxy_cluster_id'),
22195            schema=d.get('schema'),
22196            secret=d.get('secret'),
22197            secret_store_id=d.get('secret_store_id'),
22198            subdomain=d.get('subdomain'),
22199            tags=d.get('tags'),
22200            tenant_id=d.get('tenant_id'),
22201        )
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)
22033    def __init__(
22034        self,
22035        allow_deprecated_encryption=None,
22036        bind_interface=None,
22037        client_id=None,
22038        database=None,
22039        egress_filter=None,
22040        healthy=None,
22041        hostname=None,
22042        id=None,
22043        name=None,
22044        override_database=None,
22045        port=None,
22046        port_override=None,
22047        proxy_cluster_id=None,
22048        schema=None,
22049        secret=None,
22050        secret_store_id=None,
22051        subdomain=None,
22052        tags=None,
22053        tenant_id=None,
22054    ):
22055        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22056        '''
22057         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22058         TLS 1.0.
22059        '''
22060        self.bind_interface = bind_interface if bind_interface is not None else ''
22061        '''
22062         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22063        '''
22064        self.client_id = client_id if client_id is not None else ''
22065        '''
22066         The Azure AD application (client) ID with which to authenticate.
22067        '''
22068        self.database = database if database is not None else ''
22069        '''
22070         The database for healthchecks, and used for clients if Override Default Database is true.
22071        '''
22072        self.egress_filter = egress_filter if egress_filter is not None else ''
22073        '''
22074         A filter applied to the routing logic to pin datasource to nodes.
22075        '''
22076        self.healthy = healthy if healthy is not None else False
22077        '''
22078         True if the datasource is reachable and the credentials are valid.
22079        '''
22080        self.hostname = hostname if hostname is not None else ''
22081        '''
22082         The host to dial to initiate a connection from the egress node to this resource.
22083        '''
22084        self.id = id if id is not None else ''
22085        '''
22086         Unique identifier of the Resource.
22087        '''
22088        self.name = name if name is not None else ''
22089        '''
22090         Unique human-readable name of the Resource.
22091        '''
22092        self.override_database = override_database if override_database is not None else False
22093        '''
22094         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.
22095        '''
22096        self.port = port if port is not None else 0
22097        '''
22098         The port to dial to initiate a connection from the egress node to this resource.
22099        '''
22100        self.port_override = port_override if port_override is not None else 0
22101        '''
22102         The local port used by clients to connect to this resource.
22103        '''
22104        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22105        '''
22106         ID of the proxy cluster for this resource, if any.
22107        '''
22108        self.schema = schema if schema is not None else ''
22109        '''
22110         The Schema to use to direct initial requests.
22111        '''
22112        self.secret = secret if secret is not None else ''
22113        '''
22114         The Azure AD client secret (application password) with which to authenticate.
22115        '''
22116        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22117        '''
22118         ID of the secret store containing credentials for this resource, if any.
22119        '''
22120        self.subdomain = subdomain if subdomain is not None else ''
22121        '''
22122         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22123        '''
22124        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22125        '''
22126         Tags is a map of key, value pairs.
22127        '''
22128        self.tenant_id = tenant_id if tenant_id is not None else ''
22129        '''
22130         The Azure AD directory (tenant) ID with which to authenticate.
22131        '''
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)
22156    def to_dict(self):
22157        return {
22158            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22159            'bind_interface': self.bind_interface,
22160            'client_id': self.client_id,
22161            'database': self.database,
22162            'egress_filter': self.egress_filter,
22163            'healthy': self.healthy,
22164            'hostname': self.hostname,
22165            'id': self.id,
22166            'name': self.name,
22167            'override_database': self.override_database,
22168            'port': self.port,
22169            'port_override': self.port_override,
22170            'proxy_cluster_id': self.proxy_cluster_id,
22171            'schema': self.schema,
22172            'secret': self.secret,
22173            'secret_store_id': self.secret_store_id,
22174            'subdomain': self.subdomain,
22175            'tags': self.tags,
22176            'tenant_id': self.tenant_id,
22177        }
@classmethod
def from_dict(cls, d)
22179    @classmethod
22180    def from_dict(cls, d):
22181        return cls(
22182            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22183            bind_interface=d.get('bind_interface'),
22184            client_id=d.get('client_id'),
22185            database=d.get('database'),
22186            egress_filter=d.get('egress_filter'),
22187            healthy=d.get('healthy'),
22188            hostname=d.get('hostname'),
22189            id=d.get('id'),
22190            name=d.get('name'),
22191            override_database=d.get('override_database'),
22192            port=d.get('port'),
22193            port_override=d.get('port_override'),
22194            proxy_cluster_id=d.get('proxy_cluster_id'),
22195            schema=d.get('schema'),
22196            secret=d.get('secret'),
22197            secret_store_id=d.get('secret_store_id'),
22198            subdomain=d.get('subdomain'),
22199            tags=d.get('tags'),
22200            tenant_id=d.get('tenant_id'),
22201        )
class SQLServerKerberosAD:
22204class SQLServerKerberosAD:
22205    __slots__ = [
22206        'allow_deprecated_encryption',
22207        'bind_interface',
22208        'database',
22209        'egress_filter',
22210        'healthy',
22211        'hostname',
22212        'id',
22213        'keytab',
22214        'krb_config',
22215        'name',
22216        'override_database',
22217        'port',
22218        'port_override',
22219        'proxy_cluster_id',
22220        'realm',
22221        'schema',
22222        'secret_store_id',
22223        'server_spn',
22224        'subdomain',
22225        'tags',
22226        'username',
22227    ]
22228
22229    def __init__(
22230        self,
22231        allow_deprecated_encryption=None,
22232        bind_interface=None,
22233        database=None,
22234        egress_filter=None,
22235        healthy=None,
22236        hostname=None,
22237        id=None,
22238        keytab=None,
22239        krb_config=None,
22240        name=None,
22241        override_database=None,
22242        port=None,
22243        port_override=None,
22244        proxy_cluster_id=None,
22245        realm=None,
22246        schema=None,
22247        secret_store_id=None,
22248        server_spn=None,
22249        subdomain=None,
22250        tags=None,
22251        username=None,
22252    ):
22253        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22254        '''
22255         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22256         TLS 1.0.
22257        '''
22258        self.bind_interface = bind_interface if bind_interface is not None else ''
22259        '''
22260         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22261        '''
22262        self.database = database if database is not None else ''
22263        '''
22264         The database for healthchecks, and used for clients if Override Default Database is true.
22265        '''
22266        self.egress_filter = egress_filter if egress_filter is not None else ''
22267        '''
22268         A filter applied to the routing logic to pin datasource to nodes.
22269        '''
22270        self.healthy = healthy if healthy is not None else False
22271        '''
22272         True if the datasource is reachable and the credentials are valid.
22273        '''
22274        self.hostname = hostname if hostname is not None else ''
22275        '''
22276         The host to dial to initiate a connection from the egress node to this resource.
22277        '''
22278        self.id = id if id is not None else ''
22279        '''
22280         Unique identifier of the Resource.
22281        '''
22282        self.keytab = keytab if keytab is not None else ''
22283        '''
22284         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
22285        '''
22286        self.krb_config = krb_config if krb_config is not None else ''
22287        '''
22288         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
22289        '''
22290        self.name = name if name is not None else ''
22291        '''
22292         Unique human-readable name of the Resource.
22293        '''
22294        self.override_database = override_database if override_database is not None else False
22295        '''
22296         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.
22297        '''
22298        self.port = port if port is not None else 0
22299        '''
22300         The port to dial to initiate a connection from the egress node to this resource.
22301        '''
22302        self.port_override = port_override if port_override is not None else 0
22303        '''
22304         The local port used by clients to connect to this resource.
22305        '''
22306        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22307        '''
22308         ID of the proxy cluster for this resource, if any.
22309        '''
22310        self.realm = realm if realm is not None else ''
22311        '''
22312         The Active Directory domain (realm) to which the configured username belongs.
22313        '''
22314        self.schema = schema if schema is not None else ''
22315        '''
22316         The Schema to use to direct initial requests.
22317        '''
22318        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22319        '''
22320         ID of the secret store containing credentials for this resource, if any.
22321        '''
22322        self.server_spn = server_spn if server_spn is not None else ''
22323        '''
22324         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
22325        '''
22326        self.subdomain = subdomain if subdomain is not None else ''
22327        '''
22328         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22329        '''
22330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22331        '''
22332         Tags is a map of key, value pairs.
22333        '''
22334        self.username = username if username is not None else ''
22335        '''
22336         The username to authenticate with.
22337        '''
22338
22339    def __repr__(self):
22340        return '<sdm.SQLServerKerberosAD ' + \
22341            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
22342            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22343            'database: ' + repr(self.database) + ' ' +\
22344            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22345            'healthy: ' + repr(self.healthy) + ' ' +\
22346            'hostname: ' + repr(self.hostname) + ' ' +\
22347            'id: ' + repr(self.id) + ' ' +\
22348            'keytab: ' + repr(self.keytab) + ' ' +\
22349            'krb_config: ' + repr(self.krb_config) + ' ' +\
22350            'name: ' + repr(self.name) + ' ' +\
22351            'override_database: ' + repr(self.override_database) + ' ' +\
22352            'port: ' + repr(self.port) + ' ' +\
22353            'port_override: ' + repr(self.port_override) + ' ' +\
22354            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22355            'realm: ' + repr(self.realm) + ' ' +\
22356            'schema: ' + repr(self.schema) + ' ' +\
22357            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22358            'server_spn: ' + repr(self.server_spn) + ' ' +\
22359            'subdomain: ' + repr(self.subdomain) + ' ' +\
22360            'tags: ' + repr(self.tags) + ' ' +\
22361            'username: ' + repr(self.username) + ' ' +\
22362            '>'
22363
22364    def to_dict(self):
22365        return {
22366            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22367            'bind_interface': self.bind_interface,
22368            'database': self.database,
22369            'egress_filter': self.egress_filter,
22370            'healthy': self.healthy,
22371            'hostname': self.hostname,
22372            'id': self.id,
22373            'keytab': self.keytab,
22374            'krb_config': self.krb_config,
22375            'name': self.name,
22376            'override_database': self.override_database,
22377            'port': self.port,
22378            'port_override': self.port_override,
22379            'proxy_cluster_id': self.proxy_cluster_id,
22380            'realm': self.realm,
22381            'schema': self.schema,
22382            'secret_store_id': self.secret_store_id,
22383            'server_spn': self.server_spn,
22384            'subdomain': self.subdomain,
22385            'tags': self.tags,
22386            'username': self.username,
22387        }
22388
22389    @classmethod
22390    def from_dict(cls, d):
22391        return cls(
22392            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22393            bind_interface=d.get('bind_interface'),
22394            database=d.get('database'),
22395            egress_filter=d.get('egress_filter'),
22396            healthy=d.get('healthy'),
22397            hostname=d.get('hostname'),
22398            id=d.get('id'),
22399            keytab=d.get('keytab'),
22400            krb_config=d.get('krb_config'),
22401            name=d.get('name'),
22402            override_database=d.get('override_database'),
22403            port=d.get('port'),
22404            port_override=d.get('port_override'),
22405            proxy_cluster_id=d.get('proxy_cluster_id'),
22406            realm=d.get('realm'),
22407            schema=d.get('schema'),
22408            secret_store_id=d.get('secret_store_id'),
22409            server_spn=d.get('server_spn'),
22410            subdomain=d.get('subdomain'),
22411            tags=d.get('tags'),
22412            username=d.get('username'),
22413        )
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)
22229    def __init__(
22230        self,
22231        allow_deprecated_encryption=None,
22232        bind_interface=None,
22233        database=None,
22234        egress_filter=None,
22235        healthy=None,
22236        hostname=None,
22237        id=None,
22238        keytab=None,
22239        krb_config=None,
22240        name=None,
22241        override_database=None,
22242        port=None,
22243        port_override=None,
22244        proxy_cluster_id=None,
22245        realm=None,
22246        schema=None,
22247        secret_store_id=None,
22248        server_spn=None,
22249        subdomain=None,
22250        tags=None,
22251        username=None,
22252    ):
22253        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
22254        '''
22255         Whether to allow deprecated encryption protocols to be used for this resource. For example,
22256         TLS 1.0.
22257        '''
22258        self.bind_interface = bind_interface if bind_interface is not None else ''
22259        '''
22260         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22261        '''
22262        self.database = database if database is not None else ''
22263        '''
22264         The database for healthchecks, and used for clients if Override Default Database is true.
22265        '''
22266        self.egress_filter = egress_filter if egress_filter is not None else ''
22267        '''
22268         A filter applied to the routing logic to pin datasource to nodes.
22269        '''
22270        self.healthy = healthy if healthy is not None else False
22271        '''
22272         True if the datasource is reachable and the credentials are valid.
22273        '''
22274        self.hostname = hostname if hostname is not None else ''
22275        '''
22276         The host to dial to initiate a connection from the egress node to this resource.
22277        '''
22278        self.id = id if id is not None else ''
22279        '''
22280         Unique identifier of the Resource.
22281        '''
22282        self.keytab = keytab if keytab is not None else ''
22283        '''
22284         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
22285        '''
22286        self.krb_config = krb_config if krb_config is not None else ''
22287        '''
22288         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
22289        '''
22290        self.name = name if name is not None else ''
22291        '''
22292         Unique human-readable name of the Resource.
22293        '''
22294        self.override_database = override_database if override_database is not None else False
22295        '''
22296         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.
22297        '''
22298        self.port = port if port is not None else 0
22299        '''
22300         The port to dial to initiate a connection from the egress node to this resource.
22301        '''
22302        self.port_override = port_override if port_override is not None else 0
22303        '''
22304         The local port used by clients to connect to this resource.
22305        '''
22306        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22307        '''
22308         ID of the proxy cluster for this resource, if any.
22309        '''
22310        self.realm = realm if realm is not None else ''
22311        '''
22312         The Active Directory domain (realm) to which the configured username belongs.
22313        '''
22314        self.schema = schema if schema is not None else ''
22315        '''
22316         The Schema to use to direct initial requests.
22317        '''
22318        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22319        '''
22320         ID of the secret store containing credentials for this resource, if any.
22321        '''
22322        self.server_spn = server_spn if server_spn is not None else ''
22323        '''
22324         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
22325        '''
22326        self.subdomain = subdomain if subdomain is not None else ''
22327        '''
22328         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22329        '''
22330        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22331        '''
22332         Tags is a map of key, value pairs.
22333        '''
22334        self.username = username if username is not None else ''
22335        '''
22336         The username to authenticate with.
22337        '''
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)
22364    def to_dict(self):
22365        return {
22366            'allow_deprecated_encryption': self.allow_deprecated_encryption,
22367            'bind_interface': self.bind_interface,
22368            'database': self.database,
22369            'egress_filter': self.egress_filter,
22370            'healthy': self.healthy,
22371            'hostname': self.hostname,
22372            'id': self.id,
22373            'keytab': self.keytab,
22374            'krb_config': self.krb_config,
22375            'name': self.name,
22376            'override_database': self.override_database,
22377            'port': self.port,
22378            'port_override': self.port_override,
22379            'proxy_cluster_id': self.proxy_cluster_id,
22380            'realm': self.realm,
22381            'schema': self.schema,
22382            'secret_store_id': self.secret_store_id,
22383            'server_spn': self.server_spn,
22384            'subdomain': self.subdomain,
22385            'tags': self.tags,
22386            'username': self.username,
22387        }
@classmethod
def from_dict(cls, d)
22389    @classmethod
22390    def from_dict(cls, d):
22391        return cls(
22392            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
22393            bind_interface=d.get('bind_interface'),
22394            database=d.get('database'),
22395            egress_filter=d.get('egress_filter'),
22396            healthy=d.get('healthy'),
22397            hostname=d.get('hostname'),
22398            id=d.get('id'),
22399            keytab=d.get('keytab'),
22400            krb_config=d.get('krb_config'),
22401            name=d.get('name'),
22402            override_database=d.get('override_database'),
22403            port=d.get('port'),
22404            port_override=d.get('port_override'),
22405            proxy_cluster_id=d.get('proxy_cluster_id'),
22406            realm=d.get('realm'),
22407            schema=d.get('schema'),
22408            secret_store_id=d.get('secret_store_id'),
22409            server_spn=d.get('server_spn'),
22410            subdomain=d.get('subdomain'),
22411            tags=d.get('tags'),
22412            username=d.get('username'),
22413        )
class SSH:
22416class SSH:
22417    __slots__ = [
22418        'allow_deprecated_key_exchanges',
22419        'bind_interface',
22420        'egress_filter',
22421        'healthy',
22422        'hostname',
22423        'id',
22424        'key_type',
22425        'name',
22426        'port',
22427        'port_forwarding',
22428        'port_override',
22429        'proxy_cluster_id',
22430        'public_key',
22431        'secret_store_id',
22432        'subdomain',
22433        'tags',
22434        'username',
22435    ]
22436
22437    def __init__(
22438        self,
22439        allow_deprecated_key_exchanges=None,
22440        bind_interface=None,
22441        egress_filter=None,
22442        healthy=None,
22443        hostname=None,
22444        id=None,
22445        key_type=None,
22446        name=None,
22447        port=None,
22448        port_forwarding=None,
22449        port_override=None,
22450        proxy_cluster_id=None,
22451        public_key=None,
22452        secret_store_id=None,
22453        subdomain=None,
22454        tags=None,
22455        username=None,
22456    ):
22457        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22458        '''
22459         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22460        '''
22461        self.bind_interface = bind_interface if bind_interface is not None else ''
22462        '''
22463         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22464        '''
22465        self.egress_filter = egress_filter if egress_filter is not None else ''
22466        '''
22467         A filter applied to the routing logic to pin datasource to nodes.
22468        '''
22469        self.healthy = healthy if healthy is not None else False
22470        '''
22471         True if the datasource is reachable and the credentials are valid.
22472        '''
22473        self.hostname = hostname if hostname is not None else ''
22474        '''
22475         The host to dial to initiate a connection from the egress node to this resource.
22476        '''
22477        self.id = id if id is not None else ''
22478        '''
22479         Unique identifier of the Resource.
22480        '''
22481        self.key_type = key_type if key_type is not None else ''
22482        '''
22483         The key type to use e.g. rsa-2048 or ed25519
22484        '''
22485        self.name = name if name is not None else ''
22486        '''
22487         Unique human-readable name of the Resource.
22488        '''
22489        self.port = port if port is not None else 0
22490        '''
22491         The port to dial to initiate a connection from the egress node to this resource.
22492        '''
22493        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22494        '''
22495         Whether port forwarding is allowed through this server.
22496        '''
22497        self.port_override = port_override if port_override is not None else 0
22498        '''
22499         The local port used by clients to connect to this resource.
22500        '''
22501        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22502        '''
22503         ID of the proxy cluster for this resource, if any.
22504        '''
22505        self.public_key = public_key if public_key is not None else ''
22506        '''
22507         The public key to append to a server's authorized keys. This will be generated after resource creation.
22508        '''
22509        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22510        '''
22511         ID of the secret store containing credentials for this resource, if any.
22512        '''
22513        self.subdomain = subdomain if subdomain is not None else ''
22514        '''
22515         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22516        '''
22517        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22518        '''
22519         Tags is a map of key, value pairs.
22520        '''
22521        self.username = username if username is not None else ''
22522        '''
22523         The username to authenticate with.
22524        '''
22525
22526    def __repr__(self):
22527        return '<sdm.SSH ' + \
22528            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22529            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22530            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22531            'healthy: ' + repr(self.healthy) + ' ' +\
22532            'hostname: ' + repr(self.hostname) + ' ' +\
22533            'id: ' + repr(self.id) + ' ' +\
22534            'key_type: ' + repr(self.key_type) + ' ' +\
22535            'name: ' + repr(self.name) + ' ' +\
22536            'port: ' + repr(self.port) + ' ' +\
22537            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22538            'port_override: ' + repr(self.port_override) + ' ' +\
22539            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22540            'public_key: ' + repr(self.public_key) + ' ' +\
22541            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22542            'subdomain: ' + repr(self.subdomain) + ' ' +\
22543            'tags: ' + repr(self.tags) + ' ' +\
22544            'username: ' + repr(self.username) + ' ' +\
22545            '>'
22546
22547    def to_dict(self):
22548        return {
22549            'allow_deprecated_key_exchanges':
22550            self.allow_deprecated_key_exchanges,
22551            'bind_interface': self.bind_interface,
22552            'egress_filter': self.egress_filter,
22553            'healthy': self.healthy,
22554            'hostname': self.hostname,
22555            'id': self.id,
22556            'key_type': self.key_type,
22557            'name': self.name,
22558            'port': self.port,
22559            'port_forwarding': self.port_forwarding,
22560            'port_override': self.port_override,
22561            'proxy_cluster_id': self.proxy_cluster_id,
22562            'public_key': self.public_key,
22563            'secret_store_id': self.secret_store_id,
22564            'subdomain': self.subdomain,
22565            'tags': self.tags,
22566            'username': self.username,
22567        }
22568
22569    @classmethod
22570    def from_dict(cls, d):
22571        return cls(
22572            allow_deprecated_key_exchanges=d.get(
22573                'allow_deprecated_key_exchanges'),
22574            bind_interface=d.get('bind_interface'),
22575            egress_filter=d.get('egress_filter'),
22576            healthy=d.get('healthy'),
22577            hostname=d.get('hostname'),
22578            id=d.get('id'),
22579            key_type=d.get('key_type'),
22580            name=d.get('name'),
22581            port=d.get('port'),
22582            port_forwarding=d.get('port_forwarding'),
22583            port_override=d.get('port_override'),
22584            proxy_cluster_id=d.get('proxy_cluster_id'),
22585            public_key=d.get('public_key'),
22586            secret_store_id=d.get('secret_store_id'),
22587            subdomain=d.get('subdomain'),
22588            tags=d.get('tags'),
22589            username=d.get('username'),
22590        )
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)
22437    def __init__(
22438        self,
22439        allow_deprecated_key_exchanges=None,
22440        bind_interface=None,
22441        egress_filter=None,
22442        healthy=None,
22443        hostname=None,
22444        id=None,
22445        key_type=None,
22446        name=None,
22447        port=None,
22448        port_forwarding=None,
22449        port_override=None,
22450        proxy_cluster_id=None,
22451        public_key=None,
22452        secret_store_id=None,
22453        subdomain=None,
22454        tags=None,
22455        username=None,
22456    ):
22457        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22458        '''
22459         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22460        '''
22461        self.bind_interface = bind_interface if bind_interface is not None else ''
22462        '''
22463         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22464        '''
22465        self.egress_filter = egress_filter if egress_filter is not None else ''
22466        '''
22467         A filter applied to the routing logic to pin datasource to nodes.
22468        '''
22469        self.healthy = healthy if healthy is not None else False
22470        '''
22471         True if the datasource is reachable and the credentials are valid.
22472        '''
22473        self.hostname = hostname if hostname is not None else ''
22474        '''
22475         The host to dial to initiate a connection from the egress node to this resource.
22476        '''
22477        self.id = id if id is not None else ''
22478        '''
22479         Unique identifier of the Resource.
22480        '''
22481        self.key_type = key_type if key_type is not None else ''
22482        '''
22483         The key type to use e.g. rsa-2048 or ed25519
22484        '''
22485        self.name = name if name is not None else ''
22486        '''
22487         Unique human-readable name of the Resource.
22488        '''
22489        self.port = port if port is not None else 0
22490        '''
22491         The port to dial to initiate a connection from the egress node to this resource.
22492        '''
22493        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22494        '''
22495         Whether port forwarding is allowed through this server.
22496        '''
22497        self.port_override = port_override if port_override is not None else 0
22498        '''
22499         The local port used by clients to connect to this resource.
22500        '''
22501        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22502        '''
22503         ID of the proxy cluster for this resource, if any.
22504        '''
22505        self.public_key = public_key if public_key is not None else ''
22506        '''
22507         The public key to append to a server's authorized keys. This will be generated after resource creation.
22508        '''
22509        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22510        '''
22511         ID of the secret store containing credentials for this resource, if any.
22512        '''
22513        self.subdomain = subdomain if subdomain is not None else ''
22514        '''
22515         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22516        '''
22517        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22518        '''
22519         Tags is a map of key, value pairs.
22520        '''
22521        self.username = username if username is not None else ''
22522        '''
22523         The username to authenticate with.
22524        '''
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)
22547    def to_dict(self):
22548        return {
22549            'allow_deprecated_key_exchanges':
22550            self.allow_deprecated_key_exchanges,
22551            'bind_interface': self.bind_interface,
22552            'egress_filter': self.egress_filter,
22553            'healthy': self.healthy,
22554            'hostname': self.hostname,
22555            'id': self.id,
22556            'key_type': self.key_type,
22557            'name': self.name,
22558            'port': self.port,
22559            'port_forwarding': self.port_forwarding,
22560            'port_override': self.port_override,
22561            'proxy_cluster_id': self.proxy_cluster_id,
22562            'public_key': self.public_key,
22563            'secret_store_id': self.secret_store_id,
22564            'subdomain': self.subdomain,
22565            'tags': self.tags,
22566            'username': self.username,
22567        }
@classmethod
def from_dict(cls, d)
22569    @classmethod
22570    def from_dict(cls, d):
22571        return cls(
22572            allow_deprecated_key_exchanges=d.get(
22573                'allow_deprecated_key_exchanges'),
22574            bind_interface=d.get('bind_interface'),
22575            egress_filter=d.get('egress_filter'),
22576            healthy=d.get('healthy'),
22577            hostname=d.get('hostname'),
22578            id=d.get('id'),
22579            key_type=d.get('key_type'),
22580            name=d.get('name'),
22581            port=d.get('port'),
22582            port_forwarding=d.get('port_forwarding'),
22583            port_override=d.get('port_override'),
22584            proxy_cluster_id=d.get('proxy_cluster_id'),
22585            public_key=d.get('public_key'),
22586            secret_store_id=d.get('secret_store_id'),
22587            subdomain=d.get('subdomain'),
22588            tags=d.get('tags'),
22589            username=d.get('username'),
22590        )
class SSHCert:
22593class SSHCert:
22594    __slots__ = [
22595        'allow_deprecated_key_exchanges',
22596        'bind_interface',
22597        'egress_filter',
22598        'healthy',
22599        'hostname',
22600        'id',
22601        'identity_alias_healthcheck_username',
22602        'identity_set_id',
22603        'key_type',
22604        'name',
22605        'port',
22606        'port_forwarding',
22607        'port_override',
22608        'proxy_cluster_id',
22609        'secret_store_id',
22610        'subdomain',
22611        'tags',
22612        'username',
22613    ]
22614
22615    def __init__(
22616        self,
22617        allow_deprecated_key_exchanges=None,
22618        bind_interface=None,
22619        egress_filter=None,
22620        healthy=None,
22621        hostname=None,
22622        id=None,
22623        identity_alias_healthcheck_username=None,
22624        identity_set_id=None,
22625        key_type=None,
22626        name=None,
22627        port=None,
22628        port_forwarding=None,
22629        port_override=None,
22630        proxy_cluster_id=None,
22631        secret_store_id=None,
22632        subdomain=None,
22633        tags=None,
22634        username=None,
22635    ):
22636        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22637        '''
22638         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22639        '''
22640        self.bind_interface = bind_interface if bind_interface is not None else ''
22641        '''
22642         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22643        '''
22644        self.egress_filter = egress_filter if egress_filter is not None else ''
22645        '''
22646         A filter applied to the routing logic to pin datasource to nodes.
22647        '''
22648        self.healthy = healthy if healthy is not None else False
22649        '''
22650         True if the datasource is reachable and the credentials are valid.
22651        '''
22652        self.hostname = hostname if hostname is not None else ''
22653        '''
22654         The host to dial to initiate a connection from the egress node to this resource.
22655        '''
22656        self.id = id if id is not None else ''
22657        '''
22658         Unique identifier of the Resource.
22659        '''
22660        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22661        '''
22662         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22663        '''
22664        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22665        '''
22666         The ID of the identity set to use for identity connections.
22667        '''
22668        self.key_type = key_type if key_type is not None else ''
22669        '''
22670         The key type to use e.g. rsa-2048 or ed25519
22671        '''
22672        self.name = name if name is not None else ''
22673        '''
22674         Unique human-readable name of the Resource.
22675        '''
22676        self.port = port if port is not None else 0
22677        '''
22678         The port to dial to initiate a connection from the egress node to this resource.
22679        '''
22680        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22681        '''
22682         Whether port forwarding is allowed through this server.
22683        '''
22684        self.port_override = port_override if port_override is not None else 0
22685        '''
22686         The local port used by clients to connect to this resource.
22687        '''
22688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22689        '''
22690         ID of the proxy cluster for this resource, if any.
22691        '''
22692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22693        '''
22694         ID of the secret store containing credentials for this resource, if any.
22695        '''
22696        self.subdomain = subdomain if subdomain is not None else ''
22697        '''
22698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22699        '''
22700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22701        '''
22702         Tags is a map of key, value pairs.
22703        '''
22704        self.username = username if username is not None else ''
22705        '''
22706         The username to authenticate with.
22707        '''
22708
22709    def __repr__(self):
22710        return '<sdm.SSHCert ' + \
22711            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22712            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22713            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22714            'healthy: ' + repr(self.healthy) + ' ' +\
22715            'hostname: ' + repr(self.hostname) + ' ' +\
22716            'id: ' + repr(self.id) + ' ' +\
22717            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22718            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22719            'key_type: ' + repr(self.key_type) + ' ' +\
22720            'name: ' + repr(self.name) + ' ' +\
22721            'port: ' + repr(self.port) + ' ' +\
22722            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22723            'port_override: ' + repr(self.port_override) + ' ' +\
22724            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22725            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22726            'subdomain: ' + repr(self.subdomain) + ' ' +\
22727            'tags: ' + repr(self.tags) + ' ' +\
22728            'username: ' + repr(self.username) + ' ' +\
22729            '>'
22730
22731    def to_dict(self):
22732        return {
22733            'allow_deprecated_key_exchanges':
22734            self.allow_deprecated_key_exchanges,
22735            'bind_interface': self.bind_interface,
22736            'egress_filter': self.egress_filter,
22737            'healthy': self.healthy,
22738            'hostname': self.hostname,
22739            'id': self.id,
22740            'identity_alias_healthcheck_username':
22741            self.identity_alias_healthcheck_username,
22742            'identity_set_id': self.identity_set_id,
22743            'key_type': self.key_type,
22744            'name': self.name,
22745            'port': self.port,
22746            'port_forwarding': self.port_forwarding,
22747            'port_override': self.port_override,
22748            'proxy_cluster_id': self.proxy_cluster_id,
22749            'secret_store_id': self.secret_store_id,
22750            'subdomain': self.subdomain,
22751            'tags': self.tags,
22752            'username': self.username,
22753        }
22754
22755    @classmethod
22756    def from_dict(cls, d):
22757        return cls(
22758            allow_deprecated_key_exchanges=d.get(
22759                'allow_deprecated_key_exchanges'),
22760            bind_interface=d.get('bind_interface'),
22761            egress_filter=d.get('egress_filter'),
22762            healthy=d.get('healthy'),
22763            hostname=d.get('hostname'),
22764            id=d.get('id'),
22765            identity_alias_healthcheck_username=d.get(
22766                'identity_alias_healthcheck_username'),
22767            identity_set_id=d.get('identity_set_id'),
22768            key_type=d.get('key_type'),
22769            name=d.get('name'),
22770            port=d.get('port'),
22771            port_forwarding=d.get('port_forwarding'),
22772            port_override=d.get('port_override'),
22773            proxy_cluster_id=d.get('proxy_cluster_id'),
22774            secret_store_id=d.get('secret_store_id'),
22775            subdomain=d.get('subdomain'),
22776            tags=d.get('tags'),
22777            username=d.get('username'),
22778        )
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)
22615    def __init__(
22616        self,
22617        allow_deprecated_key_exchanges=None,
22618        bind_interface=None,
22619        egress_filter=None,
22620        healthy=None,
22621        hostname=None,
22622        id=None,
22623        identity_alias_healthcheck_username=None,
22624        identity_set_id=None,
22625        key_type=None,
22626        name=None,
22627        port=None,
22628        port_forwarding=None,
22629        port_override=None,
22630        proxy_cluster_id=None,
22631        secret_store_id=None,
22632        subdomain=None,
22633        tags=None,
22634        username=None,
22635    ):
22636        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22637        '''
22638         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22639        '''
22640        self.bind_interface = bind_interface if bind_interface is not None else ''
22641        '''
22642         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22643        '''
22644        self.egress_filter = egress_filter if egress_filter is not None else ''
22645        '''
22646         A filter applied to the routing logic to pin datasource to nodes.
22647        '''
22648        self.healthy = healthy if healthy is not None else False
22649        '''
22650         True if the datasource is reachable and the credentials are valid.
22651        '''
22652        self.hostname = hostname if hostname is not None else ''
22653        '''
22654         The host to dial to initiate a connection from the egress node to this resource.
22655        '''
22656        self.id = id if id is not None else ''
22657        '''
22658         Unique identifier of the Resource.
22659        '''
22660        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22661        '''
22662         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22663        '''
22664        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22665        '''
22666         The ID of the identity set to use for identity connections.
22667        '''
22668        self.key_type = key_type if key_type is not None else ''
22669        '''
22670         The key type to use e.g. rsa-2048 or ed25519
22671        '''
22672        self.name = name if name is not None else ''
22673        '''
22674         Unique human-readable name of the Resource.
22675        '''
22676        self.port = port if port is not None else 0
22677        '''
22678         The port to dial to initiate a connection from the egress node to this resource.
22679        '''
22680        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22681        '''
22682         Whether port forwarding is allowed through this server.
22683        '''
22684        self.port_override = port_override if port_override is not None else 0
22685        '''
22686         The local port used by clients to connect to this resource.
22687        '''
22688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22689        '''
22690         ID of the proxy cluster for this resource, if any.
22691        '''
22692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22693        '''
22694         ID of the secret store containing credentials for this resource, if any.
22695        '''
22696        self.subdomain = subdomain if subdomain is not None else ''
22697        '''
22698         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22699        '''
22700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22701        '''
22702         Tags is a map of key, value pairs.
22703        '''
22704        self.username = username if username is not None else ''
22705        '''
22706         The username to authenticate with.
22707        '''
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)
22731    def to_dict(self):
22732        return {
22733            'allow_deprecated_key_exchanges':
22734            self.allow_deprecated_key_exchanges,
22735            'bind_interface': self.bind_interface,
22736            'egress_filter': self.egress_filter,
22737            'healthy': self.healthy,
22738            'hostname': self.hostname,
22739            'id': self.id,
22740            'identity_alias_healthcheck_username':
22741            self.identity_alias_healthcheck_username,
22742            'identity_set_id': self.identity_set_id,
22743            'key_type': self.key_type,
22744            'name': self.name,
22745            'port': self.port,
22746            'port_forwarding': self.port_forwarding,
22747            'port_override': self.port_override,
22748            'proxy_cluster_id': self.proxy_cluster_id,
22749            'secret_store_id': self.secret_store_id,
22750            'subdomain': self.subdomain,
22751            'tags': self.tags,
22752            'username': self.username,
22753        }
@classmethod
def from_dict(cls, d)
22755    @classmethod
22756    def from_dict(cls, d):
22757        return cls(
22758            allow_deprecated_key_exchanges=d.get(
22759                'allow_deprecated_key_exchanges'),
22760            bind_interface=d.get('bind_interface'),
22761            egress_filter=d.get('egress_filter'),
22762            healthy=d.get('healthy'),
22763            hostname=d.get('hostname'),
22764            id=d.get('id'),
22765            identity_alias_healthcheck_username=d.get(
22766                'identity_alias_healthcheck_username'),
22767            identity_set_id=d.get('identity_set_id'),
22768            key_type=d.get('key_type'),
22769            name=d.get('name'),
22770            port=d.get('port'),
22771            port_forwarding=d.get('port_forwarding'),
22772            port_override=d.get('port_override'),
22773            proxy_cluster_id=d.get('proxy_cluster_id'),
22774            secret_store_id=d.get('secret_store_id'),
22775            subdomain=d.get('subdomain'),
22776            tags=d.get('tags'),
22777            username=d.get('username'),
22778        )
class SSHCustomerKey:
22781class SSHCustomerKey:
22782    __slots__ = [
22783        'allow_deprecated_key_exchanges',
22784        'bind_interface',
22785        'egress_filter',
22786        'healthy',
22787        'hostname',
22788        'id',
22789        'name',
22790        'port',
22791        'port_forwarding',
22792        'port_override',
22793        'private_key',
22794        'proxy_cluster_id',
22795        'secret_store_id',
22796        'subdomain',
22797        'tags',
22798        'username',
22799    ]
22800
22801    def __init__(
22802        self,
22803        allow_deprecated_key_exchanges=None,
22804        bind_interface=None,
22805        egress_filter=None,
22806        healthy=None,
22807        hostname=None,
22808        id=None,
22809        name=None,
22810        port=None,
22811        port_forwarding=None,
22812        port_override=None,
22813        private_key=None,
22814        proxy_cluster_id=None,
22815        secret_store_id=None,
22816        subdomain=None,
22817        tags=None,
22818        username=None,
22819    ):
22820        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22821        '''
22822         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22823        '''
22824        self.bind_interface = bind_interface if bind_interface is not None else ''
22825        '''
22826         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22827        '''
22828        self.egress_filter = egress_filter if egress_filter is not None else ''
22829        '''
22830         A filter applied to the routing logic to pin datasource to nodes.
22831        '''
22832        self.healthy = healthy if healthy is not None else False
22833        '''
22834         True if the datasource is reachable and the credentials are valid.
22835        '''
22836        self.hostname = hostname if hostname is not None else ''
22837        '''
22838         The host to dial to initiate a connection from the egress node to this resource.
22839        '''
22840        self.id = id if id is not None else ''
22841        '''
22842         Unique identifier of the Resource.
22843        '''
22844        self.name = name if name is not None else ''
22845        '''
22846         Unique human-readable name of the Resource.
22847        '''
22848        self.port = port if port is not None else 0
22849        '''
22850         The port to dial to initiate a connection from the egress node to this resource.
22851        '''
22852        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22853        '''
22854         Whether port forwarding is allowed through this server.
22855        '''
22856        self.port_override = port_override if port_override is not None else 0
22857        '''
22858         The local port used by clients to connect to this resource.
22859        '''
22860        self.private_key = private_key if private_key is not None else ''
22861        '''
22862         The private key used to authenticate with the server.
22863        '''
22864        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22865        '''
22866         ID of the proxy cluster for this resource, if any.
22867        '''
22868        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22869        '''
22870         ID of the secret store containing credentials for this resource, if any.
22871        '''
22872        self.subdomain = subdomain if subdomain is not None else ''
22873        '''
22874         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22875        '''
22876        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22877        '''
22878         Tags is a map of key, value pairs.
22879        '''
22880        self.username = username if username is not None else ''
22881        '''
22882         The username to authenticate with.
22883        '''
22884
22885    def __repr__(self):
22886        return '<sdm.SSHCustomerKey ' + \
22887            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
22888            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22889            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22890            'healthy: ' + repr(self.healthy) + ' ' +\
22891            'hostname: ' + repr(self.hostname) + ' ' +\
22892            'id: ' + repr(self.id) + ' ' +\
22893            'name: ' + repr(self.name) + ' ' +\
22894            'port: ' + repr(self.port) + ' ' +\
22895            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
22896            'port_override: ' + repr(self.port_override) + ' ' +\
22897            'private_key: ' + repr(self.private_key) + ' ' +\
22898            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22899            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22900            'subdomain: ' + repr(self.subdomain) + ' ' +\
22901            'tags: ' + repr(self.tags) + ' ' +\
22902            'username: ' + repr(self.username) + ' ' +\
22903            '>'
22904
22905    def to_dict(self):
22906        return {
22907            'allow_deprecated_key_exchanges':
22908            self.allow_deprecated_key_exchanges,
22909            'bind_interface': self.bind_interface,
22910            'egress_filter': self.egress_filter,
22911            'healthy': self.healthy,
22912            'hostname': self.hostname,
22913            'id': self.id,
22914            'name': self.name,
22915            'port': self.port,
22916            'port_forwarding': self.port_forwarding,
22917            'port_override': self.port_override,
22918            'private_key': self.private_key,
22919            'proxy_cluster_id': self.proxy_cluster_id,
22920            'secret_store_id': self.secret_store_id,
22921            'subdomain': self.subdomain,
22922            'tags': self.tags,
22923            'username': self.username,
22924        }
22925
22926    @classmethod
22927    def from_dict(cls, d):
22928        return cls(
22929            allow_deprecated_key_exchanges=d.get(
22930                'allow_deprecated_key_exchanges'),
22931            bind_interface=d.get('bind_interface'),
22932            egress_filter=d.get('egress_filter'),
22933            healthy=d.get('healthy'),
22934            hostname=d.get('hostname'),
22935            id=d.get('id'),
22936            name=d.get('name'),
22937            port=d.get('port'),
22938            port_forwarding=d.get('port_forwarding'),
22939            port_override=d.get('port_override'),
22940            private_key=d.get('private_key'),
22941            proxy_cluster_id=d.get('proxy_cluster_id'),
22942            secret_store_id=d.get('secret_store_id'),
22943            subdomain=d.get('subdomain'),
22944            tags=d.get('tags'),
22945            username=d.get('username'),
22946        )
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)
22801    def __init__(
22802        self,
22803        allow_deprecated_key_exchanges=None,
22804        bind_interface=None,
22805        egress_filter=None,
22806        healthy=None,
22807        hostname=None,
22808        id=None,
22809        name=None,
22810        port=None,
22811        port_forwarding=None,
22812        port_override=None,
22813        private_key=None,
22814        proxy_cluster_id=None,
22815        secret_store_id=None,
22816        subdomain=None,
22817        tags=None,
22818        username=None,
22819    ):
22820        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22821        '''
22822         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22823        '''
22824        self.bind_interface = bind_interface if bind_interface is not None else ''
22825        '''
22826         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22827        '''
22828        self.egress_filter = egress_filter if egress_filter is not None else ''
22829        '''
22830         A filter applied to the routing logic to pin datasource to nodes.
22831        '''
22832        self.healthy = healthy if healthy is not None else False
22833        '''
22834         True if the datasource is reachable and the credentials are valid.
22835        '''
22836        self.hostname = hostname if hostname is not None else ''
22837        '''
22838         The host to dial to initiate a connection from the egress node to this resource.
22839        '''
22840        self.id = id if id is not None else ''
22841        '''
22842         Unique identifier of the Resource.
22843        '''
22844        self.name = name if name is not None else ''
22845        '''
22846         Unique human-readable name of the Resource.
22847        '''
22848        self.port = port if port is not None else 0
22849        '''
22850         The port to dial to initiate a connection from the egress node to this resource.
22851        '''
22852        self.port_forwarding = port_forwarding if port_forwarding is not None else False
22853        '''
22854         Whether port forwarding is allowed through this server.
22855        '''
22856        self.port_override = port_override if port_override is not None else 0
22857        '''
22858         The local port used by clients to connect to this resource.
22859        '''
22860        self.private_key = private_key if private_key is not None else ''
22861        '''
22862         The private key used to authenticate with the server.
22863        '''
22864        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22865        '''
22866         ID of the proxy cluster for this resource, if any.
22867        '''
22868        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22869        '''
22870         ID of the secret store containing credentials for this resource, if any.
22871        '''
22872        self.subdomain = subdomain if subdomain is not None else ''
22873        '''
22874         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22875        '''
22876        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22877        '''
22878         Tags is a map of key, value pairs.
22879        '''
22880        self.username = username if username is not None else ''
22881        '''
22882         The username to authenticate with.
22883        '''
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)
22905    def to_dict(self):
22906        return {
22907            'allow_deprecated_key_exchanges':
22908            self.allow_deprecated_key_exchanges,
22909            'bind_interface': self.bind_interface,
22910            'egress_filter': self.egress_filter,
22911            'healthy': self.healthy,
22912            'hostname': self.hostname,
22913            'id': self.id,
22914            'name': self.name,
22915            'port': self.port,
22916            'port_forwarding': self.port_forwarding,
22917            'port_override': self.port_override,
22918            'private_key': self.private_key,
22919            'proxy_cluster_id': self.proxy_cluster_id,
22920            'secret_store_id': self.secret_store_id,
22921            'subdomain': self.subdomain,
22922            'tags': self.tags,
22923            'username': self.username,
22924        }
@classmethod
def from_dict(cls, d)
22926    @classmethod
22927    def from_dict(cls, d):
22928        return cls(
22929            allow_deprecated_key_exchanges=d.get(
22930                'allow_deprecated_key_exchanges'),
22931            bind_interface=d.get('bind_interface'),
22932            egress_filter=d.get('egress_filter'),
22933            healthy=d.get('healthy'),
22934            hostname=d.get('hostname'),
22935            id=d.get('id'),
22936            name=d.get('name'),
22937            port=d.get('port'),
22938            port_forwarding=d.get('port_forwarding'),
22939            port_override=d.get('port_override'),
22940            private_key=d.get('private_key'),
22941            proxy_cluster_id=d.get('proxy_cluster_id'),
22942            secret_store_id=d.get('secret_store_id'),
22943            subdomain=d.get('subdomain'),
22944            tags=d.get('tags'),
22945            username=d.get('username'),
22946        )
class SSHPassword:
22949class SSHPassword:
22950    __slots__ = [
22951        'allow_deprecated_key_exchanges',
22952        'bind_interface',
22953        'egress_filter',
22954        'healthy',
22955        'hostname',
22956        'id',
22957        'name',
22958        'password',
22959        'port',
22960        'port_forwarding',
22961        'port_override',
22962        'proxy_cluster_id',
22963        'secret_store_id',
22964        'subdomain',
22965        'tags',
22966        'username',
22967    ]
22968
22969    def __init__(
22970        self,
22971        allow_deprecated_key_exchanges=None,
22972        bind_interface=None,
22973        egress_filter=None,
22974        healthy=None,
22975        hostname=None,
22976        id=None,
22977        name=None,
22978        password=None,
22979        port=None,
22980        port_forwarding=None,
22981        port_override=None,
22982        proxy_cluster_id=None,
22983        secret_store_id=None,
22984        subdomain=None,
22985        tags=None,
22986        username=None,
22987    ):
22988        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22989        '''
22990         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22991        '''
22992        self.bind_interface = bind_interface if bind_interface is not None else ''
22993        '''
22994         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22995        '''
22996        self.egress_filter = egress_filter if egress_filter is not None else ''
22997        '''
22998         A filter applied to the routing logic to pin datasource to nodes.
22999        '''
23000        self.healthy = healthy if healthy is not None else False
23001        '''
23002         True if the datasource is reachable and the credentials are valid.
23003        '''
23004        self.hostname = hostname if hostname is not None else ''
23005        '''
23006         The host to dial to initiate a connection from the egress node to this resource.
23007        '''
23008        self.id = id if id is not None else ''
23009        '''
23010         Unique identifier of the Resource.
23011        '''
23012        self.name = name if name is not None else ''
23013        '''
23014         Unique human-readable name of the Resource.
23015        '''
23016        self.password = password if password is not None else ''
23017        '''
23018         The password to authenticate with.
23019        '''
23020        self.port = port if port is not None else 0
23021        '''
23022         The port to dial to initiate a connection from the egress node to this resource.
23023        '''
23024        self.port_forwarding = port_forwarding if port_forwarding is not None else False
23025        '''
23026         Whether port forwarding is allowed through this server.
23027        '''
23028        self.port_override = port_override if port_override is not None else 0
23029        '''
23030         The local port used by clients to connect to this resource.
23031        '''
23032        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23033        '''
23034         ID of the proxy cluster for this resource, if any.
23035        '''
23036        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23037        '''
23038         ID of the secret store containing credentials for this resource, if any.
23039        '''
23040        self.subdomain = subdomain if subdomain is not None else ''
23041        '''
23042         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23043        '''
23044        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23045        '''
23046         Tags is a map of key, value pairs.
23047        '''
23048        self.username = username if username is not None else ''
23049        '''
23050         The username to authenticate with.
23051        '''
23052
23053    def __repr__(self):
23054        return '<sdm.SSHPassword ' + \
23055            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
23056            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23057            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23058            'healthy: ' + repr(self.healthy) + ' ' +\
23059            'hostname: ' + repr(self.hostname) + ' ' +\
23060            'id: ' + repr(self.id) + ' ' +\
23061            'name: ' + repr(self.name) + ' ' +\
23062            'password: ' + repr(self.password) + ' ' +\
23063            'port: ' + repr(self.port) + ' ' +\
23064            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
23065            'port_override: ' + repr(self.port_override) + ' ' +\
23066            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23067            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23068            'subdomain: ' + repr(self.subdomain) + ' ' +\
23069            'tags: ' + repr(self.tags) + ' ' +\
23070            'username: ' + repr(self.username) + ' ' +\
23071            '>'
23072
23073    def to_dict(self):
23074        return {
23075            'allow_deprecated_key_exchanges':
23076            self.allow_deprecated_key_exchanges,
23077            'bind_interface': self.bind_interface,
23078            'egress_filter': self.egress_filter,
23079            'healthy': self.healthy,
23080            'hostname': self.hostname,
23081            'id': self.id,
23082            'name': self.name,
23083            'password': self.password,
23084            'port': self.port,
23085            'port_forwarding': self.port_forwarding,
23086            'port_override': self.port_override,
23087            'proxy_cluster_id': self.proxy_cluster_id,
23088            'secret_store_id': self.secret_store_id,
23089            'subdomain': self.subdomain,
23090            'tags': self.tags,
23091            'username': self.username,
23092        }
23093
23094    @classmethod
23095    def from_dict(cls, d):
23096        return cls(
23097            allow_deprecated_key_exchanges=d.get(
23098                'allow_deprecated_key_exchanges'),
23099            bind_interface=d.get('bind_interface'),
23100            egress_filter=d.get('egress_filter'),
23101            healthy=d.get('healthy'),
23102            hostname=d.get('hostname'),
23103            id=d.get('id'),
23104            name=d.get('name'),
23105            password=d.get('password'),
23106            port=d.get('port'),
23107            port_forwarding=d.get('port_forwarding'),
23108            port_override=d.get('port_override'),
23109            proxy_cluster_id=d.get('proxy_cluster_id'),
23110            secret_store_id=d.get('secret_store_id'),
23111            subdomain=d.get('subdomain'),
23112            tags=d.get('tags'),
23113            username=d.get('username'),
23114        )
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)
22969    def __init__(
22970        self,
22971        allow_deprecated_key_exchanges=None,
22972        bind_interface=None,
22973        egress_filter=None,
22974        healthy=None,
22975        hostname=None,
22976        id=None,
22977        name=None,
22978        password=None,
22979        port=None,
22980        port_forwarding=None,
22981        port_override=None,
22982        proxy_cluster_id=None,
22983        secret_store_id=None,
22984        subdomain=None,
22985        tags=None,
22986        username=None,
22987    ):
22988        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
22989        '''
22990         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
22991        '''
22992        self.bind_interface = bind_interface if bind_interface is not None else ''
22993        '''
22994         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22995        '''
22996        self.egress_filter = egress_filter if egress_filter is not None else ''
22997        '''
22998         A filter applied to the routing logic to pin datasource to nodes.
22999        '''
23000        self.healthy = healthy if healthy is not None else False
23001        '''
23002         True if the datasource is reachable and the credentials are valid.
23003        '''
23004        self.hostname = hostname if hostname is not None else ''
23005        '''
23006         The host to dial to initiate a connection from the egress node to this resource.
23007        '''
23008        self.id = id if id is not None else ''
23009        '''
23010         Unique identifier of the Resource.
23011        '''
23012        self.name = name if name is not None else ''
23013        '''
23014         Unique human-readable name of the Resource.
23015        '''
23016        self.password = password if password is not None else ''
23017        '''
23018         The password to authenticate with.
23019        '''
23020        self.port = port if port is not None else 0
23021        '''
23022         The port to dial to initiate a connection from the egress node to this resource.
23023        '''
23024        self.port_forwarding = port_forwarding if port_forwarding is not None else False
23025        '''
23026         Whether port forwarding is allowed through this server.
23027        '''
23028        self.port_override = port_override if port_override is not None else 0
23029        '''
23030         The local port used by clients to connect to this resource.
23031        '''
23032        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23033        '''
23034         ID of the proxy cluster for this resource, if any.
23035        '''
23036        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23037        '''
23038         ID of the secret store containing credentials for this resource, if any.
23039        '''
23040        self.subdomain = subdomain if subdomain is not None else ''
23041        '''
23042         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23043        '''
23044        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23045        '''
23046         Tags is a map of key, value pairs.
23047        '''
23048        self.username = username if username is not None else ''
23049        '''
23050         The username to authenticate with.
23051        '''
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)
23073    def to_dict(self):
23074        return {
23075            'allow_deprecated_key_exchanges':
23076            self.allow_deprecated_key_exchanges,
23077            'bind_interface': self.bind_interface,
23078            'egress_filter': self.egress_filter,
23079            'healthy': self.healthy,
23080            'hostname': self.hostname,
23081            'id': self.id,
23082            'name': self.name,
23083            'password': self.password,
23084            'port': self.port,
23085            'port_forwarding': self.port_forwarding,
23086            'port_override': self.port_override,
23087            'proxy_cluster_id': self.proxy_cluster_id,
23088            'secret_store_id': self.secret_store_id,
23089            'subdomain': self.subdomain,
23090            'tags': self.tags,
23091            'username': self.username,
23092        }
@classmethod
def from_dict(cls, d)
23094    @classmethod
23095    def from_dict(cls, d):
23096        return cls(
23097            allow_deprecated_key_exchanges=d.get(
23098                'allow_deprecated_key_exchanges'),
23099            bind_interface=d.get('bind_interface'),
23100            egress_filter=d.get('egress_filter'),
23101            healthy=d.get('healthy'),
23102            hostname=d.get('hostname'),
23103            id=d.get('id'),
23104            name=d.get('name'),
23105            password=d.get('password'),
23106            port=d.get('port'),
23107            port_forwarding=d.get('port_forwarding'),
23108            port_override=d.get('port_override'),
23109            proxy_cluster_id=d.get('proxy_cluster_id'),
23110            secret_store_id=d.get('secret_store_id'),
23111            subdomain=d.get('subdomain'),
23112            tags=d.get('tags'),
23113            username=d.get('username'),
23114        )
class SecretStoreCreateResponse:
23117class SecretStoreCreateResponse:
23118    '''
23119         SecretStoreCreateResponse reports how the SecretStores were created in the system.
23120    '''
23121    __slots__ = [
23122        'meta',
23123        'rate_limit',
23124        'secret_store',
23125    ]
23126
23127    def __init__(
23128        self,
23129        meta=None,
23130        rate_limit=None,
23131        secret_store=None,
23132    ):
23133        self.meta = meta if meta is not None else None
23134        '''
23135         Reserved for future use.
23136        '''
23137        self.rate_limit = rate_limit if rate_limit is not None else None
23138        '''
23139         Rate limit information.
23140        '''
23141        self.secret_store = secret_store if secret_store is not None else None
23142        '''
23143         The created SecretStore.
23144        '''
23145
23146    def __repr__(self):
23147        return '<sdm.SecretStoreCreateResponse ' + \
23148            'meta: ' + repr(self.meta) + ' ' +\
23149            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23150            'secret_store: ' + repr(self.secret_store) + ' ' +\
23151            '>'
23152
23153    def to_dict(self):
23154        return {
23155            'meta': self.meta,
23156            'rate_limit': self.rate_limit,
23157            'secret_store': self.secret_store,
23158        }
23159
23160    @classmethod
23161    def from_dict(cls, d):
23162        return cls(
23163            meta=d.get('meta'),
23164            rate_limit=d.get('rate_limit'),
23165            secret_store=d.get('secret_store'),
23166        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
23127    def __init__(
23128        self,
23129        meta=None,
23130        rate_limit=None,
23131        secret_store=None,
23132    ):
23133        self.meta = meta if meta is not None else None
23134        '''
23135         Reserved for future use.
23136        '''
23137        self.rate_limit = rate_limit if rate_limit is not None else None
23138        '''
23139         Rate limit information.
23140        '''
23141        self.secret_store = secret_store if secret_store is not None else None
23142        '''
23143         The created SecretStore.
23144        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
23153    def to_dict(self):
23154        return {
23155            'meta': self.meta,
23156            'rate_limit': self.rate_limit,
23157            'secret_store': self.secret_store,
23158        }
@classmethod
def from_dict(cls, d)
23160    @classmethod
23161    def from_dict(cls, d):
23162        return cls(
23163            meta=d.get('meta'),
23164            rate_limit=d.get('rate_limit'),
23165            secret_store=d.get('secret_store'),
23166        )
class SecretStoreDeleteResponse:
23169class SecretStoreDeleteResponse:
23170    '''
23171         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
23172    '''
23173    __slots__ = [
23174        'meta',
23175        'rate_limit',
23176    ]
23177
23178    def __init__(
23179        self,
23180        meta=None,
23181        rate_limit=None,
23182    ):
23183        self.meta = meta if meta is not None else None
23184        '''
23185         Reserved for future use.
23186        '''
23187        self.rate_limit = rate_limit if rate_limit is not None else None
23188        '''
23189         Rate limit information.
23190        '''
23191
23192    def __repr__(self):
23193        return '<sdm.SecretStoreDeleteResponse ' + \
23194            'meta: ' + repr(self.meta) + ' ' +\
23195            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23196            '>'
23197
23198    def to_dict(self):
23199        return {
23200            'meta': self.meta,
23201            'rate_limit': self.rate_limit,
23202        }
23203
23204    @classmethod
23205    def from_dict(cls, d):
23206        return cls(
23207            meta=d.get('meta'),
23208            rate_limit=d.get('rate_limit'),
23209        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
23178    def __init__(
23179        self,
23180        meta=None,
23181        rate_limit=None,
23182    ):
23183        self.meta = meta if meta is not None else None
23184        '''
23185         Reserved for future use.
23186        '''
23187        self.rate_limit = rate_limit if rate_limit is not None else None
23188        '''
23189         Rate limit information.
23190        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23198    def to_dict(self):
23199        return {
23200            'meta': self.meta,
23201            'rate_limit': self.rate_limit,
23202        }
@classmethod
def from_dict(cls, d)
23204    @classmethod
23205    def from_dict(cls, d):
23206        return cls(
23207            meta=d.get('meta'),
23208            rate_limit=d.get('rate_limit'),
23209        )
class SecretStoreGetResponse:
23212class SecretStoreGetResponse:
23213    '''
23214         SecretStoreGetResponse returns a requested SecretStore.
23215    '''
23216    __slots__ = [
23217        'meta',
23218        'rate_limit',
23219        'secret_store',
23220    ]
23221
23222    def __init__(
23223        self,
23224        meta=None,
23225        rate_limit=None,
23226        secret_store=None,
23227    ):
23228        self.meta = meta if meta is not None else None
23229        '''
23230         Reserved for future use.
23231        '''
23232        self.rate_limit = rate_limit if rate_limit is not None else None
23233        '''
23234         Rate limit information.
23235        '''
23236        self.secret_store = secret_store if secret_store is not None else None
23237        '''
23238         The requested SecretStore.
23239        '''
23240
23241    def __repr__(self):
23242        return '<sdm.SecretStoreGetResponse ' + \
23243            'meta: ' + repr(self.meta) + ' ' +\
23244            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23245            'secret_store: ' + repr(self.secret_store) + ' ' +\
23246            '>'
23247
23248    def to_dict(self):
23249        return {
23250            'meta': self.meta,
23251            'rate_limit': self.rate_limit,
23252            'secret_store': self.secret_store,
23253        }
23254
23255    @classmethod
23256    def from_dict(cls, d):
23257        return cls(
23258            meta=d.get('meta'),
23259            rate_limit=d.get('rate_limit'),
23260            secret_store=d.get('secret_store'),
23261        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
23222    def __init__(
23223        self,
23224        meta=None,
23225        rate_limit=None,
23226        secret_store=None,
23227    ):
23228        self.meta = meta if meta is not None else None
23229        '''
23230         Reserved for future use.
23231        '''
23232        self.rate_limit = rate_limit if rate_limit is not None else None
23233        '''
23234         Rate limit information.
23235        '''
23236        self.secret_store = secret_store if secret_store is not None else None
23237        '''
23238         The requested SecretStore.
23239        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
23248    def to_dict(self):
23249        return {
23250            'meta': self.meta,
23251            'rate_limit': self.rate_limit,
23252            'secret_store': self.secret_store,
23253        }
@classmethod
def from_dict(cls, d)
23255    @classmethod
23256    def from_dict(cls, d):
23257        return cls(
23258            meta=d.get('meta'),
23259            rate_limit=d.get('rate_limit'),
23260            secret_store=d.get('secret_store'),
23261        )
class SecretStoreHealth:
23264class SecretStoreHealth:
23265    '''
23266         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
23267     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
23268     or set of nodes.
23269    '''
23270    __slots__ = [
23271        'changed_at',
23272        'checked_at',
23273        'error',
23274        'flags',
23275        'node_id',
23276        'reachability',
23277        'secret_store_id',
23278        'status',
23279    ]
23280
23281    def __init__(
23282        self,
23283        changed_at=None,
23284        checked_at=None,
23285        error=None,
23286        flags=None,
23287        node_id=None,
23288        reachability=None,
23289        secret_store_id=None,
23290        status=None,
23291    ):
23292        self.changed_at = changed_at if changed_at is not None else None
23293        '''
23294         The time when the status last changed
23295        '''
23296        self.checked_at = checked_at if checked_at is not None else None
23297        '''
23298         The time when the status was last checked by the node
23299        '''
23300        self.error = error if error is not None else ''
23301        '''
23302         The error associated with this health check, if it occurred after reachability checks succeeded.
23303        '''
23304        self.flags = flags if flags is not None else []
23305        '''
23306         Any specific status or error flags associated with this health check.
23307        '''
23308        self.node_id = node_id if node_id is not None else ''
23309        '''
23310         Associated node id for this health
23311        '''
23312        self.reachability = reachability if reachability is not None else ''
23313        '''
23314         The error associated with this health check, if it occurred during reachability checks.
23315        '''
23316        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23317        '''
23318         Associated secret store for this health
23319        '''
23320        self.status = status if status is not None else ''
23321        '''
23322         The status of the link between the node and secret store
23323        '''
23324
23325    def __repr__(self):
23326        return '<sdm.SecretStoreHealth ' + \
23327            'changed_at: ' + repr(self.changed_at) + ' ' +\
23328            'checked_at: ' + repr(self.checked_at) + ' ' +\
23329            'error: ' + repr(self.error) + ' ' +\
23330            'flags: ' + repr(self.flags) + ' ' +\
23331            'node_id: ' + repr(self.node_id) + ' ' +\
23332            'reachability: ' + repr(self.reachability) + ' ' +\
23333            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23334            'status: ' + repr(self.status) + ' ' +\
23335            '>'
23336
23337    def to_dict(self):
23338        return {
23339            'changed_at': self.changed_at,
23340            'checked_at': self.checked_at,
23341            'error': self.error,
23342            'flags': self.flags,
23343            'node_id': self.node_id,
23344            'reachability': self.reachability,
23345            'secret_store_id': self.secret_store_id,
23346            'status': self.status,
23347        }
23348
23349    @classmethod
23350    def from_dict(cls, d):
23351        return cls(
23352            changed_at=d.get('changed_at'),
23353            checked_at=d.get('checked_at'),
23354            error=d.get('error'),
23355            flags=d.get('flags'),
23356            node_id=d.get('node_id'),
23357            reachability=d.get('reachability'),
23358            secret_store_id=d.get('secret_store_id'),
23359            status=d.get('status'),
23360        )

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)
23281    def __init__(
23282        self,
23283        changed_at=None,
23284        checked_at=None,
23285        error=None,
23286        flags=None,
23287        node_id=None,
23288        reachability=None,
23289        secret_store_id=None,
23290        status=None,
23291    ):
23292        self.changed_at = changed_at if changed_at is not None else None
23293        '''
23294         The time when the status last changed
23295        '''
23296        self.checked_at = checked_at if checked_at is not None else None
23297        '''
23298         The time when the status was last checked by the node
23299        '''
23300        self.error = error if error is not None else ''
23301        '''
23302         The error associated with this health check, if it occurred after reachability checks succeeded.
23303        '''
23304        self.flags = flags if flags is not None else []
23305        '''
23306         Any specific status or error flags associated with this health check.
23307        '''
23308        self.node_id = node_id if node_id is not None else ''
23309        '''
23310         Associated node id for this health
23311        '''
23312        self.reachability = reachability if reachability is not None else ''
23313        '''
23314         The error associated with this health check, if it occurred during reachability checks.
23315        '''
23316        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23317        '''
23318         Associated secret store for this health
23319        '''
23320        self.status = status if status is not None else ''
23321        '''
23322         The status of the link between the node and secret store
23323        '''
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)
23337    def to_dict(self):
23338        return {
23339            'changed_at': self.changed_at,
23340            'checked_at': self.checked_at,
23341            'error': self.error,
23342            'flags': self.flags,
23343            'node_id': self.node_id,
23344            'reachability': self.reachability,
23345            'secret_store_id': self.secret_store_id,
23346            'status': self.status,
23347        }
@classmethod
def from_dict(cls, d)
23349    @classmethod
23350    def from_dict(cls, d):
23351        return cls(
23352            changed_at=d.get('changed_at'),
23353            checked_at=d.get('checked_at'),
23354            error=d.get('error'),
23355            flags=d.get('flags'),
23356            node_id=d.get('node_id'),
23357            reachability=d.get('reachability'),
23358            secret_store_id=d.get('secret_store_id'),
23359            status=d.get('status'),
23360        )
class SecretStoreHealthListResponse:
23363class SecretStoreHealthListResponse:
23364    __slots__ = [
23365        'rate_limit',
23366    ]
23367
23368    def __init__(
23369        self,
23370        rate_limit=None,
23371    ):
23372        self.rate_limit = rate_limit if rate_limit is not None else None
23373        '''
23374         Rate limit information.
23375        '''
23376
23377    def __repr__(self):
23378        return '<sdm.SecretStoreHealthListResponse ' + \
23379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23380            '>'
23381
23382    def to_dict(self):
23383        return {
23384            'rate_limit': self.rate_limit,
23385        }
23386
23387    @classmethod
23388    def from_dict(cls, d):
23389        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
23368    def __init__(
23369        self,
23370        rate_limit=None,
23371    ):
23372        self.rate_limit = rate_limit if rate_limit is not None else None
23373        '''
23374         Rate limit information.
23375        '''
rate_limit

Rate limit information.

def to_dict(self)
23382    def to_dict(self):
23383        return {
23384            'rate_limit': self.rate_limit,
23385        }
@classmethod
def from_dict(cls, d)
23387    @classmethod
23388    def from_dict(cls, d):
23389        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
23392class SecretStoreHealthcheckResponse:
23393    __slots__ = [
23394        'rate_limit',
23395    ]
23396
23397    def __init__(
23398        self,
23399        rate_limit=None,
23400    ):
23401        self.rate_limit = rate_limit if rate_limit is not None else None
23402        '''
23403         Rate limit information.
23404        '''
23405
23406    def __repr__(self):
23407        return '<sdm.SecretStoreHealthcheckResponse ' + \
23408            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23409            '>'
23410
23411    def to_dict(self):
23412        return {
23413            'rate_limit': self.rate_limit,
23414        }
23415
23416    @classmethod
23417    def from_dict(cls, d):
23418        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
23397    def __init__(
23398        self,
23399        rate_limit=None,
23400    ):
23401        self.rate_limit = rate_limit if rate_limit is not None else None
23402        '''
23403         Rate limit information.
23404        '''
rate_limit

Rate limit information.

def to_dict(self)
23411    def to_dict(self):
23412        return {
23413            'rate_limit': self.rate_limit,
23414        }
@classmethod
def from_dict(cls, d)
23416    @classmethod
23417    def from_dict(cls, d):
23418        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
23421class SecretStoreHistory:
23422    '''
23423         SecretStoreHistory records the state of a SecretStore at a given point in time,
23424     where every change (create, update and delete) to a SecretStore produces an
23425     SecretStoreHistory record.
23426    '''
23427    __slots__ = [
23428        'activity_id',
23429        'deleted_at',
23430        'secret_store',
23431        'timestamp',
23432    ]
23433
23434    def __init__(
23435        self,
23436        activity_id=None,
23437        deleted_at=None,
23438        secret_store=None,
23439        timestamp=None,
23440    ):
23441        self.activity_id = activity_id if activity_id is not None else ''
23442        '''
23443         The unique identifier of the Activity that produced this change to the SecretStore.
23444         May be empty for some system-initiated updates.
23445        '''
23446        self.deleted_at = deleted_at if deleted_at is not None else None
23447        '''
23448         If this SecretStore was deleted, the time it was deleted.
23449        '''
23450        self.secret_store = secret_store if secret_store is not None else None
23451        '''
23452         The complete SecretStore state at this time.
23453        '''
23454        self.timestamp = timestamp if timestamp is not None else None
23455        '''
23456         The time at which the SecretStore state was recorded.
23457        '''
23458
23459    def __repr__(self):
23460        return '<sdm.SecretStoreHistory ' + \
23461            'activity_id: ' + repr(self.activity_id) + ' ' +\
23462            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23463            'secret_store: ' + repr(self.secret_store) + ' ' +\
23464            'timestamp: ' + repr(self.timestamp) + ' ' +\
23465            '>'
23466
23467    def to_dict(self):
23468        return {
23469            'activity_id': self.activity_id,
23470            'deleted_at': self.deleted_at,
23471            'secret_store': self.secret_store,
23472            'timestamp': self.timestamp,
23473        }
23474
23475    @classmethod
23476    def from_dict(cls, d):
23477        return cls(
23478            activity_id=d.get('activity_id'),
23479            deleted_at=d.get('deleted_at'),
23480            secret_store=d.get('secret_store'),
23481            timestamp=d.get('timestamp'),
23482        )

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)
23434    def __init__(
23435        self,
23436        activity_id=None,
23437        deleted_at=None,
23438        secret_store=None,
23439        timestamp=None,
23440    ):
23441        self.activity_id = activity_id if activity_id is not None else ''
23442        '''
23443         The unique identifier of the Activity that produced this change to the SecretStore.
23444         May be empty for some system-initiated updates.
23445        '''
23446        self.deleted_at = deleted_at if deleted_at is not None else None
23447        '''
23448         If this SecretStore was deleted, the time it was deleted.
23449        '''
23450        self.secret_store = secret_store if secret_store is not None else None
23451        '''
23452         The complete SecretStore state at this time.
23453        '''
23454        self.timestamp = timestamp if timestamp is not None else None
23455        '''
23456         The time at which the SecretStore state was recorded.
23457        '''
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)
23467    def to_dict(self):
23468        return {
23469            'activity_id': self.activity_id,
23470            'deleted_at': self.deleted_at,
23471            'secret_store': self.secret_store,
23472            'timestamp': self.timestamp,
23473        }
@classmethod
def from_dict(cls, d)
23475    @classmethod
23476    def from_dict(cls, d):
23477        return cls(
23478            activity_id=d.get('activity_id'),
23479            deleted_at=d.get('deleted_at'),
23480            secret_store=d.get('secret_store'),
23481            timestamp=d.get('timestamp'),
23482        )
class SecretStoreUpdateResponse:
23485class SecretStoreUpdateResponse:
23486    '''
23487         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
23488     a SecretStoreUpdateRequest.
23489    '''
23490    __slots__ = [
23491        'meta',
23492        'rate_limit',
23493        'secret_store',
23494    ]
23495
23496    def __init__(
23497        self,
23498        meta=None,
23499        rate_limit=None,
23500        secret_store=None,
23501    ):
23502        self.meta = meta if meta is not None else None
23503        '''
23504         Reserved for future use.
23505        '''
23506        self.rate_limit = rate_limit if rate_limit is not None else None
23507        '''
23508         Rate limit information.
23509        '''
23510        self.secret_store = secret_store if secret_store is not None else None
23511        '''
23512         The updated SecretStore.
23513        '''
23514
23515    def __repr__(self):
23516        return '<sdm.SecretStoreUpdateResponse ' + \
23517            'meta: ' + repr(self.meta) + ' ' +\
23518            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23519            'secret_store: ' + repr(self.secret_store) + ' ' +\
23520            '>'
23521
23522    def to_dict(self):
23523        return {
23524            'meta': self.meta,
23525            'rate_limit': self.rate_limit,
23526            'secret_store': self.secret_store,
23527        }
23528
23529    @classmethod
23530    def from_dict(cls, d):
23531        return cls(
23532            meta=d.get('meta'),
23533            rate_limit=d.get('rate_limit'),
23534            secret_store=d.get('secret_store'),
23535        )

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

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
23496    def __init__(
23497        self,
23498        meta=None,
23499        rate_limit=None,
23500        secret_store=None,
23501    ):
23502        self.meta = meta if meta is not None else None
23503        '''
23504         Reserved for future use.
23505        '''
23506        self.rate_limit = rate_limit if rate_limit is not None else None
23507        '''
23508         Rate limit information.
23509        '''
23510        self.secret_store = secret_store if secret_store is not None else None
23511        '''
23512         The updated SecretStore.
23513        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
23522    def to_dict(self):
23523        return {
23524            'meta': self.meta,
23525            'rate_limit': self.rate_limit,
23526            'secret_store': self.secret_store,
23527        }
@classmethod
def from_dict(cls, d)
23529    @classmethod
23530    def from_dict(cls, d):
23531        return cls(
23532            meta=d.get('meta'),
23533            rate_limit=d.get('rate_limit'),
23534            secret_store=d.get('secret_store'),
23535        )
class Service:
23538class Service:
23539    '''
23540         A Service is a service account that can connect to resources they are granted
23541     directly, or granted via roles. Services are typically automated jobs.
23542    '''
23543    __slots__ = [
23544        'id',
23545        'name',
23546        'suspended',
23547        'tags',
23548    ]
23549
23550    def __init__(
23551        self,
23552        id=None,
23553        name=None,
23554        suspended=None,
23555        tags=None,
23556    ):
23557        self.id = id if id is not None else ''
23558        '''
23559         Unique identifier of the Service.
23560        '''
23561        self.name = name if name is not None else ''
23562        '''
23563         Unique human-readable name of the Service.
23564        '''
23565        self.suspended = suspended if suspended is not None else False
23566        '''
23567         The Service's suspended state.
23568        '''
23569        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23570        '''
23571         Tags is a map of key, value pairs.
23572        '''
23573
23574    def __repr__(self):
23575        return '<sdm.Service ' + \
23576            'id: ' + repr(self.id) + ' ' +\
23577            'name: ' + repr(self.name) + ' ' +\
23578            'suspended: ' + repr(self.suspended) + ' ' +\
23579            'tags: ' + repr(self.tags) + ' ' +\
23580            '>'
23581
23582    def to_dict(self):
23583        return {
23584            'id': self.id,
23585            'name': self.name,
23586            'suspended': self.suspended,
23587            'tags': self.tags,
23588        }
23589
23590    @classmethod
23591    def from_dict(cls, d):
23592        return cls(
23593            id=d.get('id'),
23594            name=d.get('name'),
23595            suspended=d.get('suspended'),
23596            tags=d.get('tags'),
23597        )

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)
23550    def __init__(
23551        self,
23552        id=None,
23553        name=None,
23554        suspended=None,
23555        tags=None,
23556    ):
23557        self.id = id if id is not None else ''
23558        '''
23559         Unique identifier of the Service.
23560        '''
23561        self.name = name if name is not None else ''
23562        '''
23563         Unique human-readable name of the Service.
23564        '''
23565        self.suspended = suspended if suspended is not None else False
23566        '''
23567         The Service's suspended state.
23568        '''
23569        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23570        '''
23571         Tags is a map of key, value pairs.
23572        '''
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)
23582    def to_dict(self):
23583        return {
23584            'id': self.id,
23585            'name': self.name,
23586            'suspended': self.suspended,
23587            'tags': self.tags,
23588        }
@classmethod
def from_dict(cls, d)
23590    @classmethod
23591    def from_dict(cls, d):
23592        return cls(
23593            id=d.get('id'),
23594            name=d.get('name'),
23595            suspended=d.get('suspended'),
23596            tags=d.get('tags'),
23597        )
class SingleStore:
23600class SingleStore:
23601    __slots__ = [
23602        'bind_interface',
23603        'database',
23604        'egress_filter',
23605        'healthy',
23606        'hostname',
23607        'id',
23608        'name',
23609        'password',
23610        'port',
23611        'port_override',
23612        'proxy_cluster_id',
23613        'require_native_auth',
23614        'secret_store_id',
23615        'subdomain',
23616        'tags',
23617        'use_azure_single_server_usernames',
23618        'username',
23619    ]
23620
23621    def __init__(
23622        self,
23623        bind_interface=None,
23624        database=None,
23625        egress_filter=None,
23626        healthy=None,
23627        hostname=None,
23628        id=None,
23629        name=None,
23630        password=None,
23631        port=None,
23632        port_override=None,
23633        proxy_cluster_id=None,
23634        require_native_auth=None,
23635        secret_store_id=None,
23636        subdomain=None,
23637        tags=None,
23638        use_azure_single_server_usernames=None,
23639        username=None,
23640    ):
23641        self.bind_interface = bind_interface if bind_interface is not None else ''
23642        '''
23643         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23644        '''
23645        self.database = database if database is not None else ''
23646        '''
23647         The database for healthchecks. Does not affect client requests.
23648        '''
23649        self.egress_filter = egress_filter if egress_filter is not None else ''
23650        '''
23651         A filter applied to the routing logic to pin datasource to nodes.
23652        '''
23653        self.healthy = healthy if healthy is not None else False
23654        '''
23655         True if the datasource is reachable and the credentials are valid.
23656        '''
23657        self.hostname = hostname if hostname is not None else ''
23658        '''
23659         The host to dial to initiate a connection from the egress node to this resource.
23660        '''
23661        self.id = id if id is not None else ''
23662        '''
23663         Unique identifier of the Resource.
23664        '''
23665        self.name = name if name is not None else ''
23666        '''
23667         Unique human-readable name of the Resource.
23668        '''
23669        self.password = password if password is not None else ''
23670        '''
23671         The password to authenticate with.
23672        '''
23673        self.port = port if port is not None else 0
23674        '''
23675         The port to dial to initiate a connection from the egress node to this resource.
23676        '''
23677        self.port_override = port_override if port_override is not None else 0
23678        '''
23679         The local port used by clients to connect to this resource.
23680        '''
23681        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23682        '''
23683         ID of the proxy cluster for this resource, if any.
23684        '''
23685        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23686        '''
23687         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23688        '''
23689        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23690        '''
23691         ID of the secret store containing credentials for this resource, if any.
23692        '''
23693        self.subdomain = subdomain if subdomain is not None else ''
23694        '''
23695         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23696        '''
23697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23698        '''
23699         Tags is a map of key, value pairs.
23700        '''
23701        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23702        '''
23703         If true, appends the hostname to the username when hitting a database.azure.com address
23704        '''
23705        self.username = username if username is not None else ''
23706        '''
23707         The username to authenticate with.
23708        '''
23709
23710    def __repr__(self):
23711        return '<sdm.SingleStore ' + \
23712            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23713            'database: ' + repr(self.database) + ' ' +\
23714            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23715            'healthy: ' + repr(self.healthy) + ' ' +\
23716            'hostname: ' + repr(self.hostname) + ' ' +\
23717            'id: ' + repr(self.id) + ' ' +\
23718            'name: ' + repr(self.name) + ' ' +\
23719            'password: ' + repr(self.password) + ' ' +\
23720            'port: ' + repr(self.port) + ' ' +\
23721            'port_override: ' + repr(self.port_override) + ' ' +\
23722            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23723            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
23724            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23725            'subdomain: ' + repr(self.subdomain) + ' ' +\
23726            'tags: ' + repr(self.tags) + ' ' +\
23727            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
23728            'username: ' + repr(self.username) + ' ' +\
23729            '>'
23730
23731    def to_dict(self):
23732        return {
23733            'bind_interface': self.bind_interface,
23734            'database': self.database,
23735            'egress_filter': self.egress_filter,
23736            'healthy': self.healthy,
23737            'hostname': self.hostname,
23738            'id': self.id,
23739            'name': self.name,
23740            'password': self.password,
23741            'port': self.port,
23742            'port_override': self.port_override,
23743            'proxy_cluster_id': self.proxy_cluster_id,
23744            'require_native_auth': self.require_native_auth,
23745            'secret_store_id': self.secret_store_id,
23746            'subdomain': self.subdomain,
23747            'tags': self.tags,
23748            'use_azure_single_server_usernames':
23749            self.use_azure_single_server_usernames,
23750            'username': self.username,
23751        }
23752
23753    @classmethod
23754    def from_dict(cls, d):
23755        return cls(
23756            bind_interface=d.get('bind_interface'),
23757            database=d.get('database'),
23758            egress_filter=d.get('egress_filter'),
23759            healthy=d.get('healthy'),
23760            hostname=d.get('hostname'),
23761            id=d.get('id'),
23762            name=d.get('name'),
23763            password=d.get('password'),
23764            port=d.get('port'),
23765            port_override=d.get('port_override'),
23766            proxy_cluster_id=d.get('proxy_cluster_id'),
23767            require_native_auth=d.get('require_native_auth'),
23768            secret_store_id=d.get('secret_store_id'),
23769            subdomain=d.get('subdomain'),
23770            tags=d.get('tags'),
23771            use_azure_single_server_usernames=d.get(
23772                'use_azure_single_server_usernames'),
23773            username=d.get('username'),
23774        )
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)
23621    def __init__(
23622        self,
23623        bind_interface=None,
23624        database=None,
23625        egress_filter=None,
23626        healthy=None,
23627        hostname=None,
23628        id=None,
23629        name=None,
23630        password=None,
23631        port=None,
23632        port_override=None,
23633        proxy_cluster_id=None,
23634        require_native_auth=None,
23635        secret_store_id=None,
23636        subdomain=None,
23637        tags=None,
23638        use_azure_single_server_usernames=None,
23639        username=None,
23640    ):
23641        self.bind_interface = bind_interface if bind_interface is not None else ''
23642        '''
23643         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23644        '''
23645        self.database = database if database is not None else ''
23646        '''
23647         The database for healthchecks. Does not affect client requests.
23648        '''
23649        self.egress_filter = egress_filter if egress_filter is not None else ''
23650        '''
23651         A filter applied to the routing logic to pin datasource to nodes.
23652        '''
23653        self.healthy = healthy if healthy is not None else False
23654        '''
23655         True if the datasource is reachable and the credentials are valid.
23656        '''
23657        self.hostname = hostname if hostname is not None else ''
23658        '''
23659         The host to dial to initiate a connection from the egress node to this resource.
23660        '''
23661        self.id = id if id is not None else ''
23662        '''
23663         Unique identifier of the Resource.
23664        '''
23665        self.name = name if name is not None else ''
23666        '''
23667         Unique human-readable name of the Resource.
23668        '''
23669        self.password = password if password is not None else ''
23670        '''
23671         The password to authenticate with.
23672        '''
23673        self.port = port if port is not None else 0
23674        '''
23675         The port to dial to initiate a connection from the egress node to this resource.
23676        '''
23677        self.port_override = port_override if port_override is not None else 0
23678        '''
23679         The local port used by clients to connect to this resource.
23680        '''
23681        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23682        '''
23683         ID of the proxy cluster for this resource, if any.
23684        '''
23685        self.require_native_auth = require_native_auth if require_native_auth is not None else False
23686        '''
23687         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
23688        '''
23689        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23690        '''
23691         ID of the secret store containing credentials for this resource, if any.
23692        '''
23693        self.subdomain = subdomain if subdomain is not None else ''
23694        '''
23695         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23696        '''
23697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23698        '''
23699         Tags is a map of key, value pairs.
23700        '''
23701        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
23702        '''
23703         If true, appends the hostname to the username when hitting a database.azure.com address
23704        '''
23705        self.username = username if username is not None else ''
23706        '''
23707         The username to authenticate with.
23708        '''
bind_interface

The bind interface is the IP 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)
23731    def to_dict(self):
23732        return {
23733            'bind_interface': self.bind_interface,
23734            'database': self.database,
23735            'egress_filter': self.egress_filter,
23736            'healthy': self.healthy,
23737            'hostname': self.hostname,
23738            'id': self.id,
23739            'name': self.name,
23740            'password': self.password,
23741            'port': self.port,
23742            'port_override': self.port_override,
23743            'proxy_cluster_id': self.proxy_cluster_id,
23744            'require_native_auth': self.require_native_auth,
23745            'secret_store_id': self.secret_store_id,
23746            'subdomain': self.subdomain,
23747            'tags': self.tags,
23748            'use_azure_single_server_usernames':
23749            self.use_azure_single_server_usernames,
23750            'username': self.username,
23751        }
@classmethod
def from_dict(cls, d)
23753    @classmethod
23754    def from_dict(cls, d):
23755        return cls(
23756            bind_interface=d.get('bind_interface'),
23757            database=d.get('database'),
23758            egress_filter=d.get('egress_filter'),
23759            healthy=d.get('healthy'),
23760            hostname=d.get('hostname'),
23761            id=d.get('id'),
23762            name=d.get('name'),
23763            password=d.get('password'),
23764            port=d.get('port'),
23765            port_override=d.get('port_override'),
23766            proxy_cluster_id=d.get('proxy_cluster_id'),
23767            require_native_auth=d.get('require_native_auth'),
23768            secret_store_id=d.get('secret_store_id'),
23769            subdomain=d.get('subdomain'),
23770            tags=d.get('tags'),
23771            use_azure_single_server_usernames=d.get(
23772                'use_azure_single_server_usernames'),
23773            username=d.get('username'),
23774        )
class Snowflake:
23777class Snowflake:
23778    __slots__ = [
23779        'bind_interface',
23780        'database',
23781        'egress_filter',
23782        'healthy',
23783        'hostname',
23784        'id',
23785        'name',
23786        'password',
23787        'port_override',
23788        'proxy_cluster_id',
23789        'schema',
23790        'secret_store_id',
23791        'subdomain',
23792        'tags',
23793        'username',
23794    ]
23795
23796    def __init__(
23797        self,
23798        bind_interface=None,
23799        database=None,
23800        egress_filter=None,
23801        healthy=None,
23802        hostname=None,
23803        id=None,
23804        name=None,
23805        password=None,
23806        port_override=None,
23807        proxy_cluster_id=None,
23808        schema=None,
23809        secret_store_id=None,
23810        subdomain=None,
23811        tags=None,
23812        username=None,
23813    ):
23814        self.bind_interface = bind_interface if bind_interface is not None else ''
23815        '''
23816         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23817        '''
23818        self.database = database if database is not None else ''
23819        '''
23820         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23821        '''
23822        self.egress_filter = egress_filter if egress_filter is not None else ''
23823        '''
23824         A filter applied to the routing logic to pin datasource to nodes.
23825        '''
23826        self.healthy = healthy if healthy is not None else False
23827        '''
23828         True if the datasource is reachable and the credentials are valid.
23829        '''
23830        self.hostname = hostname if hostname is not None else ''
23831        '''
23832         The host to dial to initiate a connection from the egress node to this resource.
23833        '''
23834        self.id = id if id is not None else ''
23835        '''
23836         Unique identifier of the Resource.
23837        '''
23838        self.name = name if name is not None else ''
23839        '''
23840         Unique human-readable name of the Resource.
23841        '''
23842        self.password = password if password is not None else ''
23843        '''
23844         The password to authenticate with.
23845        '''
23846        self.port_override = port_override if port_override is not None else 0
23847        '''
23848         The local port used by clients to connect to this resource.
23849        '''
23850        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23851        '''
23852         ID of the proxy cluster for this resource, if any.
23853        '''
23854        self.schema = schema if schema is not None else ''
23855        '''
23856         The schema to provide on authentication.
23857        '''
23858        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23859        '''
23860         ID of the secret store containing credentials for this resource, if any.
23861        '''
23862        self.subdomain = subdomain if subdomain is not None else ''
23863        '''
23864         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23865        '''
23866        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23867        '''
23868         Tags is a map of key, value pairs.
23869        '''
23870        self.username = username if username is not None else ''
23871        '''
23872         The username to authenticate with.
23873        '''
23874
23875    def __repr__(self):
23876        return '<sdm.Snowflake ' + \
23877            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23878            'database: ' + repr(self.database) + ' ' +\
23879            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23880            'healthy: ' + repr(self.healthy) + ' ' +\
23881            'hostname: ' + repr(self.hostname) + ' ' +\
23882            'id: ' + repr(self.id) + ' ' +\
23883            'name: ' + repr(self.name) + ' ' +\
23884            'password: ' + repr(self.password) + ' ' +\
23885            'port_override: ' + repr(self.port_override) + ' ' +\
23886            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23887            'schema: ' + repr(self.schema) + ' ' +\
23888            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23889            'subdomain: ' + repr(self.subdomain) + ' ' +\
23890            'tags: ' + repr(self.tags) + ' ' +\
23891            'username: ' + repr(self.username) + ' ' +\
23892            '>'
23893
23894    def to_dict(self):
23895        return {
23896            'bind_interface': self.bind_interface,
23897            'database': self.database,
23898            'egress_filter': self.egress_filter,
23899            'healthy': self.healthy,
23900            'hostname': self.hostname,
23901            'id': self.id,
23902            'name': self.name,
23903            'password': self.password,
23904            'port_override': self.port_override,
23905            'proxy_cluster_id': self.proxy_cluster_id,
23906            'schema': self.schema,
23907            'secret_store_id': self.secret_store_id,
23908            'subdomain': self.subdomain,
23909            'tags': self.tags,
23910            'username': self.username,
23911        }
23912
23913    @classmethod
23914    def from_dict(cls, d):
23915        return cls(
23916            bind_interface=d.get('bind_interface'),
23917            database=d.get('database'),
23918            egress_filter=d.get('egress_filter'),
23919            healthy=d.get('healthy'),
23920            hostname=d.get('hostname'),
23921            id=d.get('id'),
23922            name=d.get('name'),
23923            password=d.get('password'),
23924            port_override=d.get('port_override'),
23925            proxy_cluster_id=d.get('proxy_cluster_id'),
23926            schema=d.get('schema'),
23927            secret_store_id=d.get('secret_store_id'),
23928            subdomain=d.get('subdomain'),
23929            tags=d.get('tags'),
23930            username=d.get('username'),
23931        )
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)
23796    def __init__(
23797        self,
23798        bind_interface=None,
23799        database=None,
23800        egress_filter=None,
23801        healthy=None,
23802        hostname=None,
23803        id=None,
23804        name=None,
23805        password=None,
23806        port_override=None,
23807        proxy_cluster_id=None,
23808        schema=None,
23809        secret_store_id=None,
23810        subdomain=None,
23811        tags=None,
23812        username=None,
23813    ):
23814        self.bind_interface = bind_interface if bind_interface is not None else ''
23815        '''
23816         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23817        '''
23818        self.database = database if database is not None else ''
23819        '''
23820         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23821        '''
23822        self.egress_filter = egress_filter if egress_filter is not None else ''
23823        '''
23824         A filter applied to the routing logic to pin datasource to nodes.
23825        '''
23826        self.healthy = healthy if healthy is not None else False
23827        '''
23828         True if the datasource is reachable and the credentials are valid.
23829        '''
23830        self.hostname = hostname if hostname is not None else ''
23831        '''
23832         The host to dial to initiate a connection from the egress node to this resource.
23833        '''
23834        self.id = id if id is not None else ''
23835        '''
23836         Unique identifier of the Resource.
23837        '''
23838        self.name = name if name is not None else ''
23839        '''
23840         Unique human-readable name of the Resource.
23841        '''
23842        self.password = password if password is not None else ''
23843        '''
23844         The password to authenticate with.
23845        '''
23846        self.port_override = port_override if port_override is not None else 0
23847        '''
23848         The local port used by clients to connect to this resource.
23849        '''
23850        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23851        '''
23852         ID of the proxy cluster for this resource, if any.
23853        '''
23854        self.schema = schema if schema is not None else ''
23855        '''
23856         The schema to provide on authentication.
23857        '''
23858        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23859        '''
23860         ID of the secret store containing credentials for this resource, if any.
23861        '''
23862        self.subdomain = subdomain if subdomain is not None else ''
23863        '''
23864         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23865        '''
23866        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23867        '''
23868         Tags is a map of key, value pairs.
23869        '''
23870        self.username = username if username is not None else ''
23871        '''
23872         The username to authenticate with.
23873        '''
bind_interface

The bind interface is the IP 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)
23894    def to_dict(self):
23895        return {
23896            'bind_interface': self.bind_interface,
23897            'database': self.database,
23898            'egress_filter': self.egress_filter,
23899            'healthy': self.healthy,
23900            'hostname': self.hostname,
23901            'id': self.id,
23902            'name': self.name,
23903            'password': self.password,
23904            'port_override': self.port_override,
23905            'proxy_cluster_id': self.proxy_cluster_id,
23906            'schema': self.schema,
23907            'secret_store_id': self.secret_store_id,
23908            'subdomain': self.subdomain,
23909            'tags': self.tags,
23910            'username': self.username,
23911        }
@classmethod
def from_dict(cls, d)
23913    @classmethod
23914    def from_dict(cls, d):
23915        return cls(
23916            bind_interface=d.get('bind_interface'),
23917            database=d.get('database'),
23918            egress_filter=d.get('egress_filter'),
23919            healthy=d.get('healthy'),
23920            hostname=d.get('hostname'),
23921            id=d.get('id'),
23922            name=d.get('name'),
23923            password=d.get('password'),
23924            port_override=d.get('port_override'),
23925            proxy_cluster_id=d.get('proxy_cluster_id'),
23926            schema=d.get('schema'),
23927            secret_store_id=d.get('secret_store_id'),
23928            subdomain=d.get('subdomain'),
23929            tags=d.get('tags'),
23930            username=d.get('username'),
23931        )
class Snowsight:
23934class Snowsight:
23935    __slots__ = [
23936        'bind_interface',
23937        'egress_filter',
23938        'healthcheck_username',
23939        'healthy',
23940        'id',
23941        'name',
23942        'port_override',
23943        'proxy_cluster_id',
23944        'samlmetadata',
23945        'secret_store_id',
23946        'subdomain',
23947        'tags',
23948    ]
23949
23950    def __init__(
23951        self,
23952        bind_interface=None,
23953        egress_filter=None,
23954        healthcheck_username=None,
23955        healthy=None,
23956        id=None,
23957        name=None,
23958        port_override=None,
23959        proxy_cluster_id=None,
23960        samlmetadata=None,
23961        secret_store_id=None,
23962        subdomain=None,
23963        tags=None,
23964    ):
23965        self.bind_interface = bind_interface if bind_interface is not None else ''
23966        '''
23967         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23968        '''
23969        self.egress_filter = egress_filter if egress_filter is not None else ''
23970        '''
23971         A filter applied to the routing logic to pin datasource to nodes.
23972        '''
23973        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
23974        '''
23975         The StrongDM user email to use for healthchecks.
23976        '''
23977        self.healthy = healthy if healthy is not None else False
23978        '''
23979         True if the datasource is reachable and the credentials are valid.
23980        '''
23981        self.id = id if id is not None else ''
23982        '''
23983         Unique identifier of the Resource.
23984        '''
23985        self.name = name if name is not None else ''
23986        '''
23987         Unique human-readable name of the Resource.
23988        '''
23989        self.port_override = port_override if port_override is not None else 0
23990        '''
23991         The local port used by clients to connect to this resource.
23992        '''
23993        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23994        '''
23995         ID of the proxy cluster for this resource, if any.
23996        '''
23997        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
23998        '''
23999         The Metadata for your snowflake IDP integration
24000        '''
24001        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24002        '''
24003         ID of the secret store containing credentials for this resource, if any.
24004        '''
24005        self.subdomain = subdomain if subdomain is not None else ''
24006        '''
24007         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24008        '''
24009        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24010        '''
24011         Tags is a map of key, value pairs.
24012        '''
24013
24014    def __repr__(self):
24015        return '<sdm.Snowsight ' + \
24016            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24017            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24018            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
24019            'healthy: ' + repr(self.healthy) + ' ' +\
24020            'id: ' + repr(self.id) + ' ' +\
24021            'name: ' + repr(self.name) + ' ' +\
24022            'port_override: ' + repr(self.port_override) + ' ' +\
24023            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24024            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
24025            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24026            'subdomain: ' + repr(self.subdomain) + ' ' +\
24027            'tags: ' + repr(self.tags) + ' ' +\
24028            '>'
24029
24030    def to_dict(self):
24031        return {
24032            'bind_interface': self.bind_interface,
24033            'egress_filter': self.egress_filter,
24034            'healthcheck_username': self.healthcheck_username,
24035            'healthy': self.healthy,
24036            'id': self.id,
24037            'name': self.name,
24038            'port_override': self.port_override,
24039            'proxy_cluster_id': self.proxy_cluster_id,
24040            'samlmetadata': self.samlmetadata,
24041            'secret_store_id': self.secret_store_id,
24042            'subdomain': self.subdomain,
24043            'tags': self.tags,
24044        }
24045
24046    @classmethod
24047    def from_dict(cls, d):
24048        return cls(
24049            bind_interface=d.get('bind_interface'),
24050            egress_filter=d.get('egress_filter'),
24051            healthcheck_username=d.get('healthcheck_username'),
24052            healthy=d.get('healthy'),
24053            id=d.get('id'),
24054            name=d.get('name'),
24055            port_override=d.get('port_override'),
24056            proxy_cluster_id=d.get('proxy_cluster_id'),
24057            samlmetadata=d.get('samlmetadata'),
24058            secret_store_id=d.get('secret_store_id'),
24059            subdomain=d.get('subdomain'),
24060            tags=d.get('tags'),
24061        )
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)
23950    def __init__(
23951        self,
23952        bind_interface=None,
23953        egress_filter=None,
23954        healthcheck_username=None,
23955        healthy=None,
23956        id=None,
23957        name=None,
23958        port_override=None,
23959        proxy_cluster_id=None,
23960        samlmetadata=None,
23961        secret_store_id=None,
23962        subdomain=None,
23963        tags=None,
23964    ):
23965        self.bind_interface = bind_interface if bind_interface is not None else ''
23966        '''
23967         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23968        '''
23969        self.egress_filter = egress_filter if egress_filter is not None else ''
23970        '''
23971         A filter applied to the routing logic to pin datasource to nodes.
23972        '''
23973        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
23974        '''
23975         The StrongDM user email to use for healthchecks.
23976        '''
23977        self.healthy = healthy if healthy is not None else False
23978        '''
23979         True if the datasource is reachable and the credentials are valid.
23980        '''
23981        self.id = id if id is not None else ''
23982        '''
23983         Unique identifier of the Resource.
23984        '''
23985        self.name = name if name is not None else ''
23986        '''
23987         Unique human-readable name of the Resource.
23988        '''
23989        self.port_override = port_override if port_override is not None else 0
23990        '''
23991         The local port used by clients to connect to this resource.
23992        '''
23993        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23994        '''
23995         ID of the proxy cluster for this resource, if any.
23996        '''
23997        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
23998        '''
23999         The Metadata for your snowflake IDP integration
24000        '''
24001        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24002        '''
24003         ID of the secret store containing credentials for this resource, if any.
24004        '''
24005        self.subdomain = subdomain if subdomain is not None else ''
24006        '''
24007         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24008        '''
24009        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24010        '''
24011         Tags is a map of key, value pairs.
24012        '''
bind_interface

The bind interface is the IP 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)
24030    def to_dict(self):
24031        return {
24032            'bind_interface': self.bind_interface,
24033            'egress_filter': self.egress_filter,
24034            'healthcheck_username': self.healthcheck_username,
24035            'healthy': self.healthy,
24036            'id': self.id,
24037            'name': self.name,
24038            'port_override': self.port_override,
24039            'proxy_cluster_id': self.proxy_cluster_id,
24040            'samlmetadata': self.samlmetadata,
24041            'secret_store_id': self.secret_store_id,
24042            'subdomain': self.subdomain,
24043            'tags': self.tags,
24044        }
@classmethod
def from_dict(cls, d)
24046    @classmethod
24047    def from_dict(cls, d):
24048        return cls(
24049            bind_interface=d.get('bind_interface'),
24050            egress_filter=d.get('egress_filter'),
24051            healthcheck_username=d.get('healthcheck_username'),
24052            healthy=d.get('healthy'),
24053            id=d.get('id'),
24054            name=d.get('name'),
24055            port_override=d.get('port_override'),
24056            proxy_cluster_id=d.get('proxy_cluster_id'),
24057            samlmetadata=d.get('samlmetadata'),
24058            secret_store_id=d.get('secret_store_id'),
24059            subdomain=d.get('subdomain'),
24060            tags=d.get('tags'),
24061        )
class Sybase:
24064class Sybase:
24065    __slots__ = [
24066        'bind_interface',
24067        'egress_filter',
24068        'healthy',
24069        'hostname',
24070        'id',
24071        'name',
24072        'password',
24073        'port',
24074        'port_override',
24075        'proxy_cluster_id',
24076        'secret_store_id',
24077        'subdomain',
24078        'tags',
24079        'username',
24080    ]
24081
24082    def __init__(
24083        self,
24084        bind_interface=None,
24085        egress_filter=None,
24086        healthy=None,
24087        hostname=None,
24088        id=None,
24089        name=None,
24090        password=None,
24091        port=None,
24092        port_override=None,
24093        proxy_cluster_id=None,
24094        secret_store_id=None,
24095        subdomain=None,
24096        tags=None,
24097        username=None,
24098    ):
24099        self.bind_interface = bind_interface if bind_interface is not None else ''
24100        '''
24101         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24102        '''
24103        self.egress_filter = egress_filter if egress_filter is not None else ''
24104        '''
24105         A filter applied to the routing logic to pin datasource to nodes.
24106        '''
24107        self.healthy = healthy if healthy is not None else False
24108        '''
24109         True if the datasource is reachable and the credentials are valid.
24110        '''
24111        self.hostname = hostname if hostname is not None else ''
24112        '''
24113         The host to dial to initiate a connection from the egress node to this resource.
24114        '''
24115        self.id = id if id is not None else ''
24116        '''
24117         Unique identifier of the Resource.
24118        '''
24119        self.name = name if name is not None else ''
24120        '''
24121         Unique human-readable name of the Resource.
24122        '''
24123        self.password = password if password is not None else ''
24124        '''
24125         The password to authenticate with.
24126        '''
24127        self.port = port if port is not None else 0
24128        '''
24129         The port to dial to initiate a connection from the egress node to this resource.
24130        '''
24131        self.port_override = port_override if port_override is not None else 0
24132        '''
24133         The local port used by clients to connect to this resource.
24134        '''
24135        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24136        '''
24137         ID of the proxy cluster for this resource, if any.
24138        '''
24139        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24140        '''
24141         ID of the secret store containing credentials for this resource, if any.
24142        '''
24143        self.subdomain = subdomain if subdomain is not None else ''
24144        '''
24145         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24146        '''
24147        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24148        '''
24149         Tags is a map of key, value pairs.
24150        '''
24151        self.username = username if username is not None else ''
24152        '''
24153         The username to authenticate with.
24154        '''
24155
24156    def __repr__(self):
24157        return '<sdm.Sybase ' + \
24158            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24159            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24160            'healthy: ' + repr(self.healthy) + ' ' +\
24161            'hostname: ' + repr(self.hostname) + ' ' +\
24162            'id: ' + repr(self.id) + ' ' +\
24163            'name: ' + repr(self.name) + ' ' +\
24164            'password: ' + repr(self.password) + ' ' +\
24165            'port: ' + repr(self.port) + ' ' +\
24166            'port_override: ' + repr(self.port_override) + ' ' +\
24167            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24168            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24169            'subdomain: ' + repr(self.subdomain) + ' ' +\
24170            'tags: ' + repr(self.tags) + ' ' +\
24171            'username: ' + repr(self.username) + ' ' +\
24172            '>'
24173
24174    def to_dict(self):
24175        return {
24176            'bind_interface': self.bind_interface,
24177            'egress_filter': self.egress_filter,
24178            'healthy': self.healthy,
24179            'hostname': self.hostname,
24180            'id': self.id,
24181            'name': self.name,
24182            'password': self.password,
24183            'port': self.port,
24184            'port_override': self.port_override,
24185            'proxy_cluster_id': self.proxy_cluster_id,
24186            'secret_store_id': self.secret_store_id,
24187            'subdomain': self.subdomain,
24188            'tags': self.tags,
24189            'username': self.username,
24190        }
24191
24192    @classmethod
24193    def from_dict(cls, d):
24194        return cls(
24195            bind_interface=d.get('bind_interface'),
24196            egress_filter=d.get('egress_filter'),
24197            healthy=d.get('healthy'),
24198            hostname=d.get('hostname'),
24199            id=d.get('id'),
24200            name=d.get('name'),
24201            password=d.get('password'),
24202            port=d.get('port'),
24203            port_override=d.get('port_override'),
24204            proxy_cluster_id=d.get('proxy_cluster_id'),
24205            secret_store_id=d.get('secret_store_id'),
24206            subdomain=d.get('subdomain'),
24207            tags=d.get('tags'),
24208            username=d.get('username'),
24209        )
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)
24082    def __init__(
24083        self,
24084        bind_interface=None,
24085        egress_filter=None,
24086        healthy=None,
24087        hostname=None,
24088        id=None,
24089        name=None,
24090        password=None,
24091        port=None,
24092        port_override=None,
24093        proxy_cluster_id=None,
24094        secret_store_id=None,
24095        subdomain=None,
24096        tags=None,
24097        username=None,
24098    ):
24099        self.bind_interface = bind_interface if bind_interface is not None else ''
24100        '''
24101         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24102        '''
24103        self.egress_filter = egress_filter if egress_filter is not None else ''
24104        '''
24105         A filter applied to the routing logic to pin datasource to nodes.
24106        '''
24107        self.healthy = healthy if healthy is not None else False
24108        '''
24109         True if the datasource is reachable and the credentials are valid.
24110        '''
24111        self.hostname = hostname if hostname is not None else ''
24112        '''
24113         The host to dial to initiate a connection from the egress node to this resource.
24114        '''
24115        self.id = id if id is not None else ''
24116        '''
24117         Unique identifier of the Resource.
24118        '''
24119        self.name = name if name is not None else ''
24120        '''
24121         Unique human-readable name of the Resource.
24122        '''
24123        self.password = password if password is not None else ''
24124        '''
24125         The password to authenticate with.
24126        '''
24127        self.port = port if port is not None else 0
24128        '''
24129         The port to dial to initiate a connection from the egress node to this resource.
24130        '''
24131        self.port_override = port_override if port_override is not None else 0
24132        '''
24133         The local port used by clients to connect to this resource.
24134        '''
24135        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24136        '''
24137         ID of the proxy cluster for this resource, if any.
24138        '''
24139        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24140        '''
24141         ID of the secret store containing credentials for this resource, if any.
24142        '''
24143        self.subdomain = subdomain if subdomain is not None else ''
24144        '''
24145         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24146        '''
24147        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24148        '''
24149         Tags is a map of key, value pairs.
24150        '''
24151        self.username = username if username is not None else ''
24152        '''
24153         The username to authenticate with.
24154        '''
bind_interface

The bind interface is the IP 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)
24174    def to_dict(self):
24175        return {
24176            'bind_interface': self.bind_interface,
24177            'egress_filter': self.egress_filter,
24178            'healthy': self.healthy,
24179            'hostname': self.hostname,
24180            'id': self.id,
24181            'name': self.name,
24182            'password': self.password,
24183            'port': self.port,
24184            'port_override': self.port_override,
24185            'proxy_cluster_id': self.proxy_cluster_id,
24186            'secret_store_id': self.secret_store_id,
24187            'subdomain': self.subdomain,
24188            'tags': self.tags,
24189            'username': self.username,
24190        }
@classmethod
def from_dict(cls, d)
24192    @classmethod
24193    def from_dict(cls, d):
24194        return cls(
24195            bind_interface=d.get('bind_interface'),
24196            egress_filter=d.get('egress_filter'),
24197            healthy=d.get('healthy'),
24198            hostname=d.get('hostname'),
24199            id=d.get('id'),
24200            name=d.get('name'),
24201            password=d.get('password'),
24202            port=d.get('port'),
24203            port_override=d.get('port_override'),
24204            proxy_cluster_id=d.get('proxy_cluster_id'),
24205            secret_store_id=d.get('secret_store_id'),
24206            subdomain=d.get('subdomain'),
24207            tags=d.get('tags'),
24208            username=d.get('username'),
24209        )
class SybaseIQ:
24212class SybaseIQ:
24213    __slots__ = [
24214        'bind_interface',
24215        'egress_filter',
24216        'healthy',
24217        'hostname',
24218        'id',
24219        'name',
24220        'password',
24221        'port',
24222        'port_override',
24223        'proxy_cluster_id',
24224        'secret_store_id',
24225        'subdomain',
24226        'tags',
24227        'username',
24228    ]
24229
24230    def __init__(
24231        self,
24232        bind_interface=None,
24233        egress_filter=None,
24234        healthy=None,
24235        hostname=None,
24236        id=None,
24237        name=None,
24238        password=None,
24239        port=None,
24240        port_override=None,
24241        proxy_cluster_id=None,
24242        secret_store_id=None,
24243        subdomain=None,
24244        tags=None,
24245        username=None,
24246    ):
24247        self.bind_interface = bind_interface if bind_interface is not None else ''
24248        '''
24249         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24250        '''
24251        self.egress_filter = egress_filter if egress_filter is not None else ''
24252        '''
24253         A filter applied to the routing logic to pin datasource to nodes.
24254        '''
24255        self.healthy = healthy if healthy is not None else False
24256        '''
24257         True if the datasource is reachable and the credentials are valid.
24258        '''
24259        self.hostname = hostname if hostname is not None else ''
24260        '''
24261         The host to dial to initiate a connection from the egress node to this resource.
24262        '''
24263        self.id = id if id is not None else ''
24264        '''
24265         Unique identifier of the Resource.
24266        '''
24267        self.name = name if name is not None else ''
24268        '''
24269         Unique human-readable name of the Resource.
24270        '''
24271        self.password = password if password is not None else ''
24272        '''
24273         The password to authenticate with.
24274        '''
24275        self.port = port if port is not None else 0
24276        '''
24277         The port to dial to initiate a connection from the egress node to this resource.
24278        '''
24279        self.port_override = port_override if port_override is not None else 0
24280        '''
24281         The local port used by clients to connect to this resource.
24282        '''
24283        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24284        '''
24285         ID of the proxy cluster for this resource, if any.
24286        '''
24287        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24288        '''
24289         ID of the secret store containing credentials for this resource, if any.
24290        '''
24291        self.subdomain = subdomain if subdomain is not None else ''
24292        '''
24293         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24294        '''
24295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24296        '''
24297         Tags is a map of key, value pairs.
24298        '''
24299        self.username = username if username is not None else ''
24300        '''
24301         The username to authenticate with.
24302        '''
24303
24304    def __repr__(self):
24305        return '<sdm.SybaseIQ ' + \
24306            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24307            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24308            'healthy: ' + repr(self.healthy) + ' ' +\
24309            'hostname: ' + repr(self.hostname) + ' ' +\
24310            'id: ' + repr(self.id) + ' ' +\
24311            'name: ' + repr(self.name) + ' ' +\
24312            'password: ' + repr(self.password) + ' ' +\
24313            'port: ' + repr(self.port) + ' ' +\
24314            'port_override: ' + repr(self.port_override) + ' ' +\
24315            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24316            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24317            'subdomain: ' + repr(self.subdomain) + ' ' +\
24318            'tags: ' + repr(self.tags) + ' ' +\
24319            'username: ' + repr(self.username) + ' ' +\
24320            '>'
24321
24322    def to_dict(self):
24323        return {
24324            'bind_interface': self.bind_interface,
24325            'egress_filter': self.egress_filter,
24326            'healthy': self.healthy,
24327            'hostname': self.hostname,
24328            'id': self.id,
24329            'name': self.name,
24330            'password': self.password,
24331            'port': self.port,
24332            'port_override': self.port_override,
24333            'proxy_cluster_id': self.proxy_cluster_id,
24334            'secret_store_id': self.secret_store_id,
24335            'subdomain': self.subdomain,
24336            'tags': self.tags,
24337            'username': self.username,
24338        }
24339
24340    @classmethod
24341    def from_dict(cls, d):
24342        return cls(
24343            bind_interface=d.get('bind_interface'),
24344            egress_filter=d.get('egress_filter'),
24345            healthy=d.get('healthy'),
24346            hostname=d.get('hostname'),
24347            id=d.get('id'),
24348            name=d.get('name'),
24349            password=d.get('password'),
24350            port=d.get('port'),
24351            port_override=d.get('port_override'),
24352            proxy_cluster_id=d.get('proxy_cluster_id'),
24353            secret_store_id=d.get('secret_store_id'),
24354            subdomain=d.get('subdomain'),
24355            tags=d.get('tags'),
24356            username=d.get('username'),
24357        )
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)
24230    def __init__(
24231        self,
24232        bind_interface=None,
24233        egress_filter=None,
24234        healthy=None,
24235        hostname=None,
24236        id=None,
24237        name=None,
24238        password=None,
24239        port=None,
24240        port_override=None,
24241        proxy_cluster_id=None,
24242        secret_store_id=None,
24243        subdomain=None,
24244        tags=None,
24245        username=None,
24246    ):
24247        self.bind_interface = bind_interface if bind_interface is not None else ''
24248        '''
24249         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24250        '''
24251        self.egress_filter = egress_filter if egress_filter is not None else ''
24252        '''
24253         A filter applied to the routing logic to pin datasource to nodes.
24254        '''
24255        self.healthy = healthy if healthy is not None else False
24256        '''
24257         True if the datasource is reachable and the credentials are valid.
24258        '''
24259        self.hostname = hostname if hostname is not None else ''
24260        '''
24261         The host to dial to initiate a connection from the egress node to this resource.
24262        '''
24263        self.id = id if id is not None else ''
24264        '''
24265         Unique identifier of the Resource.
24266        '''
24267        self.name = name if name is not None else ''
24268        '''
24269         Unique human-readable name of the Resource.
24270        '''
24271        self.password = password if password is not None else ''
24272        '''
24273         The password to authenticate with.
24274        '''
24275        self.port = port if port is not None else 0
24276        '''
24277         The port to dial to initiate a connection from the egress node to this resource.
24278        '''
24279        self.port_override = port_override if port_override is not None else 0
24280        '''
24281         The local port used by clients to connect to this resource.
24282        '''
24283        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24284        '''
24285         ID of the proxy cluster for this resource, if any.
24286        '''
24287        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24288        '''
24289         ID of the secret store containing credentials for this resource, if any.
24290        '''
24291        self.subdomain = subdomain if subdomain is not None else ''
24292        '''
24293         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24294        '''
24295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24296        '''
24297         Tags is a map of key, value pairs.
24298        '''
24299        self.username = username if username is not None else ''
24300        '''
24301         The username to authenticate with.
24302        '''
bind_interface

The bind interface is the IP 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)
24322    def to_dict(self):
24323        return {
24324            'bind_interface': self.bind_interface,
24325            'egress_filter': self.egress_filter,
24326            'healthy': self.healthy,
24327            'hostname': self.hostname,
24328            'id': self.id,
24329            'name': self.name,
24330            'password': self.password,
24331            'port': self.port,
24332            'port_override': self.port_override,
24333            'proxy_cluster_id': self.proxy_cluster_id,
24334            'secret_store_id': self.secret_store_id,
24335            'subdomain': self.subdomain,
24336            'tags': self.tags,
24337            'username': self.username,
24338        }
@classmethod
def from_dict(cls, d)
24340    @classmethod
24341    def from_dict(cls, d):
24342        return cls(
24343            bind_interface=d.get('bind_interface'),
24344            egress_filter=d.get('egress_filter'),
24345            healthy=d.get('healthy'),
24346            hostname=d.get('hostname'),
24347            id=d.get('id'),
24348            name=d.get('name'),
24349            password=d.get('password'),
24350            port=d.get('port'),
24351            port_override=d.get('port_override'),
24352            proxy_cluster_id=d.get('proxy_cluster_id'),
24353            secret_store_id=d.get('secret_store_id'),
24354            subdomain=d.get('subdomain'),
24355            tags=d.get('tags'),
24356            username=d.get('username'),
24357        )
class Tag:
24360class Tag:
24361    __slots__ = [
24362        'name',
24363        'value',
24364    ]
24365
24366    def __init__(
24367        self,
24368        name=None,
24369        value=None,
24370    ):
24371        self.name = name if name is not None else ''
24372        '''
24373         The name or key of this tag. Each name can only refer to one value on a tagged entity.
24374        '''
24375        self.value = value if value is not None else ''
24376        '''
24377         The value of this tag.
24378        '''
24379
24380    def __repr__(self):
24381        return '<sdm.Tag ' + \
24382            'name: ' + repr(self.name) + ' ' +\
24383            'value: ' + repr(self.value) + ' ' +\
24384            '>'
24385
24386    def to_dict(self):
24387        return {
24388            'name': self.name,
24389            'value': self.value,
24390        }
24391
24392    @classmethod
24393    def from_dict(cls, d):
24394        return cls(
24395            name=d.get('name'),
24396            value=d.get('value'),
24397        )
Tag(name=None, value=None)
24366    def __init__(
24367        self,
24368        name=None,
24369        value=None,
24370    ):
24371        self.name = name if name is not None else ''
24372        '''
24373         The name or key of this tag. Each name can only refer to one value on a tagged entity.
24374        '''
24375        self.value = value if value is not None else ''
24376        '''
24377         The value of this tag.
24378        '''
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)
24386    def to_dict(self):
24387        return {
24388            'name': self.name,
24389            'value': self.value,
24390        }
@classmethod
def from_dict(cls, d)
24392    @classmethod
24393    def from_dict(cls, d):
24394        return cls(
24395            name=d.get('name'),
24396            value=d.get('value'),
24397        )
class Teradata:
24400class Teradata:
24401    __slots__ = [
24402        'bind_interface',
24403        'egress_filter',
24404        'healthy',
24405        'hostname',
24406        'id',
24407        'name',
24408        'password',
24409        'port',
24410        'port_override',
24411        'proxy_cluster_id',
24412        'secret_store_id',
24413        'subdomain',
24414        'tags',
24415        'username',
24416    ]
24417
24418    def __init__(
24419        self,
24420        bind_interface=None,
24421        egress_filter=None,
24422        healthy=None,
24423        hostname=None,
24424        id=None,
24425        name=None,
24426        password=None,
24427        port=None,
24428        port_override=None,
24429        proxy_cluster_id=None,
24430        secret_store_id=None,
24431        subdomain=None,
24432        tags=None,
24433        username=None,
24434    ):
24435        self.bind_interface = bind_interface if bind_interface is not None else ''
24436        '''
24437         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24438        '''
24439        self.egress_filter = egress_filter if egress_filter is not None else ''
24440        '''
24441         A filter applied to the routing logic to pin datasource to nodes.
24442        '''
24443        self.healthy = healthy if healthy is not None else False
24444        '''
24445         True if the datasource is reachable and the credentials are valid.
24446        '''
24447        self.hostname = hostname if hostname is not None else ''
24448        '''
24449         The host to dial to initiate a connection from the egress node to this resource.
24450        '''
24451        self.id = id if id is not None else ''
24452        '''
24453         Unique identifier of the Resource.
24454        '''
24455        self.name = name if name is not None else ''
24456        '''
24457         Unique human-readable name of the Resource.
24458        '''
24459        self.password = password if password is not None else ''
24460        '''
24461         The password to authenticate with.
24462        '''
24463        self.port = port if port is not None else 0
24464        '''
24465         The port to dial to initiate a connection from the egress node to this resource.
24466        '''
24467        self.port_override = port_override if port_override is not None else 0
24468        '''
24469         The local port used by clients to connect to this resource.
24470        '''
24471        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24472        '''
24473         ID of the proxy cluster for this resource, if any.
24474        '''
24475        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24476        '''
24477         ID of the secret store containing credentials for this resource, if any.
24478        '''
24479        self.subdomain = subdomain if subdomain is not None else ''
24480        '''
24481         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24482        '''
24483        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24484        '''
24485         Tags is a map of key, value pairs.
24486        '''
24487        self.username = username if username is not None else ''
24488        '''
24489         The username to authenticate with.
24490        '''
24491
24492    def __repr__(self):
24493        return '<sdm.Teradata ' + \
24494            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24495            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24496            'healthy: ' + repr(self.healthy) + ' ' +\
24497            'hostname: ' + repr(self.hostname) + ' ' +\
24498            'id: ' + repr(self.id) + ' ' +\
24499            'name: ' + repr(self.name) + ' ' +\
24500            'password: ' + repr(self.password) + ' ' +\
24501            'port: ' + repr(self.port) + ' ' +\
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            'bind_interface': self.bind_interface,
24513            'egress_filter': self.egress_filter,
24514            'healthy': self.healthy,
24515            'hostname': self.hostname,
24516            'id': self.id,
24517            'name': self.name,
24518            'password': self.password,
24519            'port': self.port,
24520            'port_override': self.port_override,
24521            'proxy_cluster_id': self.proxy_cluster_id,
24522            'secret_store_id': self.secret_store_id,
24523            'subdomain': self.subdomain,
24524            'tags': self.tags,
24525            'username': self.username,
24526        }
24527
24528    @classmethod
24529    def from_dict(cls, d):
24530        return cls(
24531            bind_interface=d.get('bind_interface'),
24532            egress_filter=d.get('egress_filter'),
24533            healthy=d.get('healthy'),
24534            hostname=d.get('hostname'),
24535            id=d.get('id'),
24536            name=d.get('name'),
24537            password=d.get('password'),
24538            port=d.get('port'),
24539            port_override=d.get('port_override'),
24540            proxy_cluster_id=d.get('proxy_cluster_id'),
24541            secret_store_id=d.get('secret_store_id'),
24542            subdomain=d.get('subdomain'),
24543            tags=d.get('tags'),
24544            username=d.get('username'),
24545        )
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)
24418    def __init__(
24419        self,
24420        bind_interface=None,
24421        egress_filter=None,
24422        healthy=None,
24423        hostname=None,
24424        id=None,
24425        name=None,
24426        password=None,
24427        port=None,
24428        port_override=None,
24429        proxy_cluster_id=None,
24430        secret_store_id=None,
24431        subdomain=None,
24432        tags=None,
24433        username=None,
24434    ):
24435        self.bind_interface = bind_interface if bind_interface is not None else ''
24436        '''
24437         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24438        '''
24439        self.egress_filter = egress_filter if egress_filter is not None else ''
24440        '''
24441         A filter applied to the routing logic to pin datasource to nodes.
24442        '''
24443        self.healthy = healthy if healthy is not None else False
24444        '''
24445         True if the datasource is reachable and the credentials are valid.
24446        '''
24447        self.hostname = hostname if hostname is not None else ''
24448        '''
24449         The host to dial to initiate a connection from the egress node to this resource.
24450        '''
24451        self.id = id if id is not None else ''
24452        '''
24453         Unique identifier of the Resource.
24454        '''
24455        self.name = name if name is not None else ''
24456        '''
24457         Unique human-readable name of the Resource.
24458        '''
24459        self.password = password if password is not None else ''
24460        '''
24461         The password to authenticate with.
24462        '''
24463        self.port = port if port is not None else 0
24464        '''
24465         The port to dial to initiate a connection from the egress node to this resource.
24466        '''
24467        self.port_override = port_override if port_override is not None else 0
24468        '''
24469         The local port used by clients to connect to this resource.
24470        '''
24471        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24472        '''
24473         ID of the proxy cluster for this resource, if any.
24474        '''
24475        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24476        '''
24477         ID of the secret store containing credentials for this resource, if any.
24478        '''
24479        self.subdomain = subdomain if subdomain is not None else ''
24480        '''
24481         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24482        '''
24483        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24484        '''
24485         Tags is a map of key, value pairs.
24486        '''
24487        self.username = username if username is not None else ''
24488        '''
24489         The username to authenticate with.
24490        '''
bind_interface

The bind interface is the IP 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)
24510    def to_dict(self):
24511        return {
24512            'bind_interface': self.bind_interface,
24513            'egress_filter': self.egress_filter,
24514            'healthy': self.healthy,
24515            'hostname': self.hostname,
24516            'id': self.id,
24517            'name': self.name,
24518            'password': self.password,
24519            'port': self.port,
24520            'port_override': self.port_override,
24521            'proxy_cluster_id': self.proxy_cluster_id,
24522            'secret_store_id': self.secret_store_id,
24523            'subdomain': self.subdomain,
24524            'tags': self.tags,
24525            'username': self.username,
24526        }
@classmethod
def from_dict(cls, d)
24528    @classmethod
24529    def from_dict(cls, d):
24530        return cls(
24531            bind_interface=d.get('bind_interface'),
24532            egress_filter=d.get('egress_filter'),
24533            healthy=d.get('healthy'),
24534            hostname=d.get('hostname'),
24535            id=d.get('id'),
24536            name=d.get('name'),
24537            password=d.get('password'),
24538            port=d.get('port'),
24539            port_override=d.get('port_override'),
24540            proxy_cluster_id=d.get('proxy_cluster_id'),
24541            secret_store_id=d.get('secret_store_id'),
24542            subdomain=d.get('subdomain'),
24543            tags=d.get('tags'),
24544            username=d.get('username'),
24545        )
class Token:
24548class Token:
24549    '''
24550         A Token is an account providing tokenized access for automation or integration use.
24551     Tokens include admin tokens, API keys, and SCIM tokens.
24552    '''
24553    __slots__ = [
24554        'account_type',
24555        'deadline',
24556        'duration',
24557        'id',
24558        'name',
24559        'permissions',
24560        'rekeyed',
24561        'suspended',
24562        'tags',
24563    ]
24564
24565    def __init__(
24566        self,
24567        account_type=None,
24568        deadline=None,
24569        duration=None,
24570        id=None,
24571        name=None,
24572        permissions=None,
24573        rekeyed=None,
24574        suspended=None,
24575        tags=None,
24576    ):
24577        self.account_type = account_type if account_type is not None else ''
24578        '''
24579         Corresponds to the type of token, e.g. api or admin-token.
24580        '''
24581        self.deadline = deadline if deadline is not None else None
24582        '''
24583         The timestamp when the Token will expire.
24584        '''
24585        self.duration = duration if duration is not None else None
24586        '''
24587         Duration from token creation to expiration.
24588        '''
24589        self.id = id if id is not None else ''
24590        '''
24591         Unique identifier of the Token.
24592        '''
24593        self.name = name if name is not None else ''
24594        '''
24595         Unique human-readable name of the Token.
24596        '''
24597        self.permissions = permissions if permissions is not None else []
24598        '''
24599         Permissions assigned to the token, e.g. role:create.
24600        '''
24601        self.rekeyed = rekeyed if rekeyed is not None else None
24602        '''
24603         The timestamp when the Token was last rekeyed.
24604        '''
24605        self.suspended = suspended if suspended is not None else False
24606        '''
24607         Reserved for future use.  Always false for tokens.
24608        '''
24609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24610        '''
24611         Tags is a map of key, value pairs.
24612        '''
24613
24614    def __repr__(self):
24615        return '<sdm.Token ' + \
24616            'account_type: ' + repr(self.account_type) + ' ' +\
24617            'deadline: ' + repr(self.deadline) + ' ' +\
24618            'duration: ' + repr(self.duration) + ' ' +\
24619            'id: ' + repr(self.id) + ' ' +\
24620            'name: ' + repr(self.name) + ' ' +\
24621            'permissions: ' + repr(self.permissions) + ' ' +\
24622            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
24623            'suspended: ' + repr(self.suspended) + ' ' +\
24624            'tags: ' + repr(self.tags) + ' ' +\
24625            '>'
24626
24627    def to_dict(self):
24628        return {
24629            'account_type': self.account_type,
24630            'deadline': self.deadline,
24631            'duration': self.duration,
24632            'id': self.id,
24633            'name': self.name,
24634            'permissions': self.permissions,
24635            'rekeyed': self.rekeyed,
24636            'suspended': self.suspended,
24637            'tags': self.tags,
24638        }
24639
24640    @classmethod
24641    def from_dict(cls, d):
24642        return cls(
24643            account_type=d.get('account_type'),
24644            deadline=d.get('deadline'),
24645            duration=d.get('duration'),
24646            id=d.get('id'),
24647            name=d.get('name'),
24648            permissions=d.get('permissions'),
24649            rekeyed=d.get('rekeyed'),
24650            suspended=d.get('suspended'),
24651            tags=d.get('tags'),
24652        )

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)
24565    def __init__(
24566        self,
24567        account_type=None,
24568        deadline=None,
24569        duration=None,
24570        id=None,
24571        name=None,
24572        permissions=None,
24573        rekeyed=None,
24574        suspended=None,
24575        tags=None,
24576    ):
24577        self.account_type = account_type if account_type is not None else ''
24578        '''
24579         Corresponds to the type of token, e.g. api or admin-token.
24580        '''
24581        self.deadline = deadline if deadline is not None else None
24582        '''
24583         The timestamp when the Token will expire.
24584        '''
24585        self.duration = duration if duration is not None else None
24586        '''
24587         Duration from token creation to expiration.
24588        '''
24589        self.id = id if id is not None else ''
24590        '''
24591         Unique identifier of the Token.
24592        '''
24593        self.name = name if name is not None else ''
24594        '''
24595         Unique human-readable name of the Token.
24596        '''
24597        self.permissions = permissions if permissions is not None else []
24598        '''
24599         Permissions assigned to the token, e.g. role:create.
24600        '''
24601        self.rekeyed = rekeyed if rekeyed is not None else None
24602        '''
24603         The timestamp when the Token was last rekeyed.
24604        '''
24605        self.suspended = suspended if suspended is not None else False
24606        '''
24607         Reserved for future use.  Always false for tokens.
24608        '''
24609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24610        '''
24611         Tags is a map of key, value pairs.
24612        '''
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)
24627    def to_dict(self):
24628        return {
24629            'account_type': self.account_type,
24630            'deadline': self.deadline,
24631            'duration': self.duration,
24632            'id': self.id,
24633            'name': self.name,
24634            'permissions': self.permissions,
24635            'rekeyed': self.rekeyed,
24636            'suspended': self.suspended,
24637            'tags': self.tags,
24638        }
@classmethod
def from_dict(cls, d)
24640    @classmethod
24641    def from_dict(cls, d):
24642        return cls(
24643            account_type=d.get('account_type'),
24644            deadline=d.get('deadline'),
24645            duration=d.get('duration'),
24646            id=d.get('id'),
24647            name=d.get('name'),
24648            permissions=d.get('permissions'),
24649            rekeyed=d.get('rekeyed'),
24650            suspended=d.get('suspended'),
24651            tags=d.get('tags'),
24652        )
class Trino:
24655class Trino:
24656    '''
24657    Trino is currently unstable, and its API may change, or it may be removed,
24658    without a major version bump.
24659    '''
24660    __slots__ = [
24661        'bind_interface',
24662        'database',
24663        'egress_filter',
24664        'healthy',
24665        'hostname',
24666        'id',
24667        'name',
24668        'password',
24669        'port',
24670        'port_override',
24671        'proxy_cluster_id',
24672        'secret_store_id',
24673        'subdomain',
24674        'tags',
24675        'username',
24676    ]
24677
24678    def __init__(
24679        self,
24680        bind_interface=None,
24681        database=None,
24682        egress_filter=None,
24683        healthy=None,
24684        hostname=None,
24685        id=None,
24686        name=None,
24687        password=None,
24688        port=None,
24689        port_override=None,
24690        proxy_cluster_id=None,
24691        secret_store_id=None,
24692        subdomain=None,
24693        tags=None,
24694        username=None,
24695    ):
24696        self.bind_interface = bind_interface if bind_interface is not None else ''
24697        '''
24698         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24699        '''
24700        self.database = database if database is not None else ''
24701        '''
24702         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24703        '''
24704        self.egress_filter = egress_filter if egress_filter is not None else ''
24705        '''
24706         A filter applied to the routing logic to pin datasource to nodes.
24707        '''
24708        self.healthy = healthy if healthy is not None else False
24709        '''
24710         True if the datasource is reachable and the credentials are valid.
24711        '''
24712        self.hostname = hostname if hostname is not None else ''
24713        '''
24714         The host to dial to initiate a connection from the egress node to this resource.
24715        '''
24716        self.id = id if id is not None else ''
24717        '''
24718         Unique identifier of the Resource.
24719        '''
24720        self.name = name if name is not None else ''
24721        '''
24722         Unique human-readable name of the Resource.
24723        '''
24724        self.password = password if password is not None else ''
24725        '''
24726         The password to authenticate with.
24727        '''
24728        self.port = port if port is not None else 0
24729        '''
24730         The port to dial to initiate a connection from the egress node to this resource.
24731        '''
24732        self.port_override = port_override if port_override is not None else 0
24733        '''
24734         The local port used by clients to connect to this resource.
24735        '''
24736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24737        '''
24738         ID of the proxy cluster for this resource, if any.
24739        '''
24740        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24741        '''
24742         ID of the secret store containing credentials for this resource, if any.
24743        '''
24744        self.subdomain = subdomain if subdomain is not None else ''
24745        '''
24746         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24747        '''
24748        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24749        '''
24750         Tags is a map of key, value pairs.
24751        '''
24752        self.username = username if username is not None else ''
24753        '''
24754         The username to authenticate with.
24755        '''
24756
24757    def __repr__(self):
24758        return '<sdm.Trino ' + \
24759            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24760            'database: ' + repr(self.database) + ' ' +\
24761            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24762            'healthy: ' + repr(self.healthy) + ' ' +\
24763            'hostname: ' + repr(self.hostname) + ' ' +\
24764            'id: ' + repr(self.id) + ' ' +\
24765            'name: ' + repr(self.name) + ' ' +\
24766            'password: ' + repr(self.password) + ' ' +\
24767            'port: ' + repr(self.port) + ' ' +\
24768            'port_override: ' + repr(self.port_override) + ' ' +\
24769            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24770            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24771            'subdomain: ' + repr(self.subdomain) + ' ' +\
24772            'tags: ' + repr(self.tags) + ' ' +\
24773            'username: ' + repr(self.username) + ' ' +\
24774            '>'
24775
24776    def to_dict(self):
24777        return {
24778            'bind_interface': self.bind_interface,
24779            'database': self.database,
24780            'egress_filter': self.egress_filter,
24781            'healthy': self.healthy,
24782            'hostname': self.hostname,
24783            'id': self.id,
24784            'name': self.name,
24785            'password': self.password,
24786            'port': self.port,
24787            'port_override': self.port_override,
24788            'proxy_cluster_id': self.proxy_cluster_id,
24789            'secret_store_id': self.secret_store_id,
24790            'subdomain': self.subdomain,
24791            'tags': self.tags,
24792            'username': self.username,
24793        }
24794
24795    @classmethod
24796    def from_dict(cls, d):
24797        return cls(
24798            bind_interface=d.get('bind_interface'),
24799            database=d.get('database'),
24800            egress_filter=d.get('egress_filter'),
24801            healthy=d.get('healthy'),
24802            hostname=d.get('hostname'),
24803            id=d.get('id'),
24804            name=d.get('name'),
24805            password=d.get('password'),
24806            port=d.get('port'),
24807            port_override=d.get('port_override'),
24808            proxy_cluster_id=d.get('proxy_cluster_id'),
24809            secret_store_id=d.get('secret_store_id'),
24810            subdomain=d.get('subdomain'),
24811            tags=d.get('tags'),
24812            username=d.get('username'),
24813        )

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)
24678    def __init__(
24679        self,
24680        bind_interface=None,
24681        database=None,
24682        egress_filter=None,
24683        healthy=None,
24684        hostname=None,
24685        id=None,
24686        name=None,
24687        password=None,
24688        port=None,
24689        port_override=None,
24690        proxy_cluster_id=None,
24691        secret_store_id=None,
24692        subdomain=None,
24693        tags=None,
24694        username=None,
24695    ):
24696        self.bind_interface = bind_interface if bind_interface is not None else ''
24697        '''
24698         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24699        '''
24700        self.database = database if database is not None else ''
24701        '''
24702         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24703        '''
24704        self.egress_filter = egress_filter if egress_filter is not None else ''
24705        '''
24706         A filter applied to the routing logic to pin datasource to nodes.
24707        '''
24708        self.healthy = healthy if healthy is not None else False
24709        '''
24710         True if the datasource is reachable and the credentials are valid.
24711        '''
24712        self.hostname = hostname if hostname is not None else ''
24713        '''
24714         The host to dial to initiate a connection from the egress node to this resource.
24715        '''
24716        self.id = id if id is not None else ''
24717        '''
24718         Unique identifier of the Resource.
24719        '''
24720        self.name = name if name is not None else ''
24721        '''
24722         Unique human-readable name of the Resource.
24723        '''
24724        self.password = password if password is not None else ''
24725        '''
24726         The password to authenticate with.
24727        '''
24728        self.port = port if port is not None else 0
24729        '''
24730         The port to dial to initiate a connection from the egress node to this resource.
24731        '''
24732        self.port_override = port_override if port_override is not None else 0
24733        '''
24734         The local port used by clients to connect to this resource.
24735        '''
24736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24737        '''
24738         ID of the proxy cluster for this resource, if any.
24739        '''
24740        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24741        '''
24742         ID of the secret store containing credentials for this resource, if any.
24743        '''
24744        self.subdomain = subdomain if subdomain is not None else ''
24745        '''
24746         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24747        '''
24748        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24749        '''
24750         Tags is a map of key, value pairs.
24751        '''
24752        self.username = username if username is not None else ''
24753        '''
24754         The username to authenticate with.
24755        '''
bind_interface

The bind interface is the IP 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)
24776    def to_dict(self):
24777        return {
24778            'bind_interface': self.bind_interface,
24779            'database': self.database,
24780            'egress_filter': self.egress_filter,
24781            'healthy': self.healthy,
24782            'hostname': self.hostname,
24783            'id': self.id,
24784            'name': self.name,
24785            'password': self.password,
24786            'port': self.port,
24787            'port_override': self.port_override,
24788            'proxy_cluster_id': self.proxy_cluster_id,
24789            'secret_store_id': self.secret_store_id,
24790            'subdomain': self.subdomain,
24791            'tags': self.tags,
24792            'username': self.username,
24793        }
@classmethod
def from_dict(cls, d)
24795    @classmethod
24796    def from_dict(cls, d):
24797        return cls(
24798            bind_interface=d.get('bind_interface'),
24799            database=d.get('database'),
24800            egress_filter=d.get('egress_filter'),
24801            healthy=d.get('healthy'),
24802            hostname=d.get('hostname'),
24803            id=d.get('id'),
24804            name=d.get('name'),
24805            password=d.get('password'),
24806            port=d.get('port'),
24807            port_override=d.get('port_override'),
24808            proxy_cluster_id=d.get('proxy_cluster_id'),
24809            secret_store_id=d.get('secret_store_id'),
24810            subdomain=d.get('subdomain'),
24811            tags=d.get('tags'),
24812            username=d.get('username'),
24813        )
class UpdateResponseMetadata:
24816class UpdateResponseMetadata:
24817    '''
24818         UpdateResponseMetadata is reserved for future use.
24819    '''
24820    __slots__ = []
24821
24822    def __init__(self, ):
24823        pass
24824
24825    def __repr__(self):
24826        return '<sdm.UpdateResponseMetadata ' + \
24827            '>'
24828
24829    def to_dict(self):
24830        return {}
24831
24832    @classmethod
24833    def from_dict(cls, d):
24834        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
24822    def __init__(self, ):
24823        pass
def to_dict(self)
24829    def to_dict(self):
24830        return {}
@classmethod
def from_dict(cls, d)
24832    @classmethod
24833    def from_dict(cls, d):
24834        return cls()
class User:
24837class User:
24838    '''
24839         A User can connect to resources they are granted directly, or granted
24840     via roles.
24841    '''
24842    __slots__ = [
24843        'email',
24844        'external_id',
24845        'first_name',
24846        'id',
24847        'last_name',
24848        'managed_by',
24849        'password',
24850        'permission_level',
24851        'suspended',
24852        'tags',
24853    ]
24854
24855    def __init__(
24856        self,
24857        email=None,
24858        external_id=None,
24859        first_name=None,
24860        id=None,
24861        last_name=None,
24862        managed_by=None,
24863        password=None,
24864        permission_level=None,
24865        suspended=None,
24866        tags=None,
24867    ):
24868        self.email = email if email is not None else ''
24869        '''
24870         The User's email address. Must be unique.
24871        '''
24872        self.external_id = external_id if external_id is not None else ''
24873        '''
24874         External ID is an alternative unique ID this user is represented by within an external service.
24875        '''
24876        self.first_name = first_name if first_name is not None else ''
24877        '''
24878         The User's first name.
24879        '''
24880        self.id = id if id is not None else ''
24881        '''
24882         Unique identifier of the User.
24883        '''
24884        self.last_name = last_name if last_name is not None else ''
24885        '''
24886         The User's last name.
24887        '''
24888        self.managed_by = managed_by if managed_by is not None else ''
24889        '''
24890         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
24891        '''
24892        self.password = password if password is not None else ''
24893        '''
24894         Password is a write-only field that can be used to set the user's password.
24895         Currently only supported for update.
24896        '''
24897        self.permission_level = permission_level if permission_level is not None else ''
24898        '''
24899         PermissionLevel is the user's permission level e.g. admin, DBA, user.
24900        '''
24901        self.suspended = suspended if suspended is not None else False
24902        '''
24903         Suspended is a read only field for the User's suspended state.
24904        '''
24905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24906        '''
24907         Tags is a map of key, value pairs.
24908        '''
24909
24910    def __repr__(self):
24911        return '<sdm.User ' + \
24912            'email: ' + repr(self.email) + ' ' +\
24913            'external_id: ' + repr(self.external_id) + ' ' +\
24914            'first_name: ' + repr(self.first_name) + ' ' +\
24915            'id: ' + repr(self.id) + ' ' +\
24916            'last_name: ' + repr(self.last_name) + ' ' +\
24917            'managed_by: ' + repr(self.managed_by) + ' ' +\
24918            'password: ' + repr(self.password) + ' ' +\
24919            'permission_level: ' + repr(self.permission_level) + ' ' +\
24920            'suspended: ' + repr(self.suspended) + ' ' +\
24921            'tags: ' + repr(self.tags) + ' ' +\
24922            '>'
24923
24924    def to_dict(self):
24925        return {
24926            'email': self.email,
24927            'external_id': self.external_id,
24928            'first_name': self.first_name,
24929            'id': self.id,
24930            'last_name': self.last_name,
24931            'managed_by': self.managed_by,
24932            'password': self.password,
24933            'permission_level': self.permission_level,
24934            'suspended': self.suspended,
24935            'tags': self.tags,
24936        }
24937
24938    @classmethod
24939    def from_dict(cls, d):
24940        return cls(
24941            email=d.get('email'),
24942            external_id=d.get('external_id'),
24943            first_name=d.get('first_name'),
24944            id=d.get('id'),
24945            last_name=d.get('last_name'),
24946            managed_by=d.get('managed_by'),
24947            password=d.get('password'),
24948            permission_level=d.get('permission_level'),
24949            suspended=d.get('suspended'),
24950            tags=d.get('tags'),
24951        )

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)
24855    def __init__(
24856        self,
24857        email=None,
24858        external_id=None,
24859        first_name=None,
24860        id=None,
24861        last_name=None,
24862        managed_by=None,
24863        password=None,
24864        permission_level=None,
24865        suspended=None,
24866        tags=None,
24867    ):
24868        self.email = email if email is not None else ''
24869        '''
24870         The User's email address. Must be unique.
24871        '''
24872        self.external_id = external_id if external_id is not None else ''
24873        '''
24874         External ID is an alternative unique ID this user is represented by within an external service.
24875        '''
24876        self.first_name = first_name if first_name is not None else ''
24877        '''
24878         The User's first name.
24879        '''
24880        self.id = id if id is not None else ''
24881        '''
24882         Unique identifier of the User.
24883        '''
24884        self.last_name = last_name if last_name is not None else ''
24885        '''
24886         The User's last name.
24887        '''
24888        self.managed_by = managed_by if managed_by is not None else ''
24889        '''
24890         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
24891        '''
24892        self.password = password if password is not None else ''
24893        '''
24894         Password is a write-only field that can be used to set the user's password.
24895         Currently only supported for update.
24896        '''
24897        self.permission_level = permission_level if permission_level is not None else ''
24898        '''
24899         PermissionLevel is the user's permission level e.g. admin, DBA, user.
24900        '''
24901        self.suspended = suspended if suspended is not None else False
24902        '''
24903         Suspended is a read only field for the User's suspended state.
24904        '''
24905        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24906        '''
24907         Tags is a map of key, value pairs.
24908        '''
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)
24924    def to_dict(self):
24925        return {
24926            'email': self.email,
24927            'external_id': self.external_id,
24928            'first_name': self.first_name,
24929            'id': self.id,
24930            'last_name': self.last_name,
24931            'managed_by': self.managed_by,
24932            'password': self.password,
24933            'permission_level': self.permission_level,
24934            'suspended': self.suspended,
24935            'tags': self.tags,
24936        }
@classmethod
def from_dict(cls, d)
24938    @classmethod
24939    def from_dict(cls, d):
24940        return cls(
24941            email=d.get('email'),
24942            external_id=d.get('external_id'),
24943            first_name=d.get('first_name'),
24944            id=d.get('id'),
24945            last_name=d.get('last_name'),
24946            managed_by=d.get('managed_by'),
24947            password=d.get('password'),
24948            permission_level=d.get('permission_level'),
24949            suspended=d.get('suspended'),
24950            tags=d.get('tags'),
24951        )
class VaultAWSEC2Store:
24954class VaultAWSEC2Store:
24955    '''
24956    VaultAWSEC2Store is currently unstable, and its API may change, or it may be removed,
24957    without a major version bump.
24958    '''
24959    __slots__ = [
24960        'id',
24961        'name',
24962        'namespace',
24963        'server_address',
24964        'tags',
24965    ]
24966
24967    def __init__(
24968        self,
24969        id=None,
24970        name=None,
24971        namespace=None,
24972        server_address=None,
24973        tags=None,
24974    ):
24975        self.id = id if id is not None else ''
24976        '''
24977         Unique identifier of the SecretStore.
24978        '''
24979        self.name = name if name is not None else ''
24980        '''
24981         Unique human-readable name of the SecretStore.
24982        '''
24983        self.namespace = namespace if namespace is not None else ''
24984        '''
24985         The namespace to make requests within
24986        '''
24987        self.server_address = server_address if server_address is not None else ''
24988        '''
24989         The URL of the Vault to target
24990        '''
24991        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24992        '''
24993         Tags is a map of key, value pairs.
24994        '''
24995
24996    def __repr__(self):
24997        return '<sdm.VaultAWSEC2Store ' + \
24998            'id: ' + repr(self.id) + ' ' +\
24999            'name: ' + repr(self.name) + ' ' +\
25000            'namespace: ' + repr(self.namespace) + ' ' +\
25001            'server_address: ' + repr(self.server_address) + ' ' +\
25002            'tags: ' + repr(self.tags) + ' ' +\
25003            '>'
25004
25005    def to_dict(self):
25006        return {
25007            'id': self.id,
25008            'name': self.name,
25009            'namespace': self.namespace,
25010            'server_address': self.server_address,
25011            'tags': self.tags,
25012        }
25013
25014    @classmethod
25015    def from_dict(cls, d):
25016        return cls(
25017            id=d.get('id'),
25018            name=d.get('name'),
25019            namespace=d.get('namespace'),
25020            server_address=d.get('server_address'),
25021            tags=d.get('tags'),
25022        )

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)
24967    def __init__(
24968        self,
24969        id=None,
24970        name=None,
24971        namespace=None,
24972        server_address=None,
24973        tags=None,
24974    ):
24975        self.id = id if id is not None else ''
24976        '''
24977         Unique identifier of the SecretStore.
24978        '''
24979        self.name = name if name is not None else ''
24980        '''
24981         Unique human-readable name of the SecretStore.
24982        '''
24983        self.namespace = namespace if namespace is not None else ''
24984        '''
24985         The namespace to make requests within
24986        '''
24987        self.server_address = server_address if server_address is not None else ''
24988        '''
24989         The URL of the Vault to target
24990        '''
24991        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24992        '''
24993         Tags is a map of key, value pairs.
24994        '''
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)
25005    def to_dict(self):
25006        return {
25007            'id': self.id,
25008            'name': self.name,
25009            'namespace': self.namespace,
25010            'server_address': self.server_address,
25011            'tags': self.tags,
25012        }
@classmethod
def from_dict(cls, d)
25014    @classmethod
25015    def from_dict(cls, d):
25016        return cls(
25017            id=d.get('id'),
25018            name=d.get('name'),
25019            namespace=d.get('namespace'),
25020            server_address=d.get('server_address'),
25021            tags=d.get('tags'),
25022        )
class VaultAWSIAMStore:
25025class VaultAWSIAMStore:
25026    '''
25027    VaultAWSIAMStore is currently unstable, and its API may change, or it may be removed,
25028    without a major version bump.
25029    '''
25030    __slots__ = [
25031        'id',
25032        'name',
25033        'namespace',
25034        'server_address',
25035        'tags',
25036    ]
25037
25038    def __init__(
25039        self,
25040        id=None,
25041        name=None,
25042        namespace=None,
25043        server_address=None,
25044        tags=None,
25045    ):
25046        self.id = id if id is not None else ''
25047        '''
25048         Unique identifier of the SecretStore.
25049        '''
25050        self.name = name if name is not None else ''
25051        '''
25052         Unique human-readable name of the SecretStore.
25053        '''
25054        self.namespace = namespace if namespace is not None else ''
25055        '''
25056         The namespace to make requests within
25057        '''
25058        self.server_address = server_address if server_address is not None else ''
25059        '''
25060         The URL of the Vault to target
25061        '''
25062        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25063        '''
25064         Tags is a map of key, value pairs.
25065        '''
25066
25067    def __repr__(self):
25068        return '<sdm.VaultAWSIAMStore ' + \
25069            'id: ' + repr(self.id) + ' ' +\
25070            'name: ' + repr(self.name) + ' ' +\
25071            'namespace: ' + repr(self.namespace) + ' ' +\
25072            'server_address: ' + repr(self.server_address) + ' ' +\
25073            'tags: ' + repr(self.tags) + ' ' +\
25074            '>'
25075
25076    def to_dict(self):
25077        return {
25078            'id': self.id,
25079            'name': self.name,
25080            'namespace': self.namespace,
25081            'server_address': self.server_address,
25082            'tags': self.tags,
25083        }
25084
25085    @classmethod
25086    def from_dict(cls, d):
25087        return cls(
25088            id=d.get('id'),
25089            name=d.get('name'),
25090            namespace=d.get('namespace'),
25091            server_address=d.get('server_address'),
25092            tags=d.get('tags'),
25093        )

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)
25038    def __init__(
25039        self,
25040        id=None,
25041        name=None,
25042        namespace=None,
25043        server_address=None,
25044        tags=None,
25045    ):
25046        self.id = id if id is not None else ''
25047        '''
25048         Unique identifier of the SecretStore.
25049        '''
25050        self.name = name if name is not None else ''
25051        '''
25052         Unique human-readable name of the SecretStore.
25053        '''
25054        self.namespace = namespace if namespace is not None else ''
25055        '''
25056         The namespace to make requests within
25057        '''
25058        self.server_address = server_address if server_address is not None else ''
25059        '''
25060         The URL of the Vault to target
25061        '''
25062        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25063        '''
25064         Tags is a map of key, value pairs.
25065        '''
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)
25076    def to_dict(self):
25077        return {
25078            'id': self.id,
25079            'name': self.name,
25080            'namespace': self.namespace,
25081            'server_address': self.server_address,
25082            'tags': self.tags,
25083        }
@classmethod
def from_dict(cls, d)
25085    @classmethod
25086    def from_dict(cls, d):
25087        return cls(
25088            id=d.get('id'),
25089            name=d.get('name'),
25090            namespace=d.get('namespace'),
25091            server_address=d.get('server_address'),
25092            tags=d.get('tags'),
25093        )
class VaultAppRoleCertSSHStore:
25096class VaultAppRoleCertSSHStore:
25097    __slots__ = [
25098        'id',
25099        'issuedcertttlminutes',
25100        'name',
25101        'namespace',
25102        'server_address',
25103        'signing_role',
25104        'ssh_mount_point',
25105        'tags',
25106    ]
25107
25108    def __init__(
25109        self,
25110        id=None,
25111        issuedcertttlminutes=None,
25112        name=None,
25113        namespace=None,
25114        server_address=None,
25115        signing_role=None,
25116        ssh_mount_point=None,
25117        tags=None,
25118    ):
25119        self.id = id if id is not None else ''
25120        '''
25121         Unique identifier of the SecretStore.
25122        '''
25123        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25124        '''
25125         The lifetime of certificates issued by this CA represented in minutes.
25126        '''
25127        self.name = name if name is not None else ''
25128        '''
25129         Unique human-readable name of the SecretStore.
25130        '''
25131        self.namespace = namespace if namespace is not None else ''
25132        '''
25133         The namespace to make requests within
25134        '''
25135        self.server_address = server_address if server_address is not None else ''
25136        '''
25137         The URL of the Vault to target
25138        '''
25139        self.signing_role = signing_role if signing_role is not None else ''
25140        '''
25141         The signing role to be used for signing certificates
25142        '''
25143        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25144        '''
25145         The mount point of the SSH engine configured with the desired CA
25146        '''
25147        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25148        '''
25149         Tags is a map of key, value pairs.
25150        '''
25151
25152    def __repr__(self):
25153        return '<sdm.VaultAppRoleCertSSHStore ' + \
25154            'id: ' + repr(self.id) + ' ' +\
25155            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25156            'name: ' + repr(self.name) + ' ' +\
25157            'namespace: ' + repr(self.namespace) + ' ' +\
25158            'server_address: ' + repr(self.server_address) + ' ' +\
25159            'signing_role: ' + repr(self.signing_role) + ' ' +\
25160            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25161            'tags: ' + repr(self.tags) + ' ' +\
25162            '>'
25163
25164    def to_dict(self):
25165        return {
25166            'id': self.id,
25167            'issuedcertttlminutes': self.issuedcertttlminutes,
25168            'name': self.name,
25169            'namespace': self.namespace,
25170            'server_address': self.server_address,
25171            'signing_role': self.signing_role,
25172            'ssh_mount_point': self.ssh_mount_point,
25173            'tags': self.tags,
25174        }
25175
25176    @classmethod
25177    def from_dict(cls, d):
25178        return cls(
25179            id=d.get('id'),
25180            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25181            name=d.get('name'),
25182            namespace=d.get('namespace'),
25183            server_address=d.get('server_address'),
25184            signing_role=d.get('signing_role'),
25185            ssh_mount_point=d.get('ssh_mount_point'),
25186            tags=d.get('tags'),
25187        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
25108    def __init__(
25109        self,
25110        id=None,
25111        issuedcertttlminutes=None,
25112        name=None,
25113        namespace=None,
25114        server_address=None,
25115        signing_role=None,
25116        ssh_mount_point=None,
25117        tags=None,
25118    ):
25119        self.id = id if id is not None else ''
25120        '''
25121         Unique identifier of the SecretStore.
25122        '''
25123        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25124        '''
25125         The lifetime of certificates issued by this CA represented in minutes.
25126        '''
25127        self.name = name if name is not None else ''
25128        '''
25129         Unique human-readable name of the SecretStore.
25130        '''
25131        self.namespace = namespace if namespace is not None else ''
25132        '''
25133         The namespace to make requests within
25134        '''
25135        self.server_address = server_address if server_address is not None else ''
25136        '''
25137         The URL of the Vault to target
25138        '''
25139        self.signing_role = signing_role if signing_role is not None else ''
25140        '''
25141         The signing role to be used for signing certificates
25142        '''
25143        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25144        '''
25145         The mount point of the SSH engine configured with the desired CA
25146        '''
25147        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25148        '''
25149         Tags is a map of key, value pairs.
25150        '''
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)
25164    def to_dict(self):
25165        return {
25166            'id': self.id,
25167            'issuedcertttlminutes': self.issuedcertttlminutes,
25168            'name': self.name,
25169            'namespace': self.namespace,
25170            'server_address': self.server_address,
25171            'signing_role': self.signing_role,
25172            'ssh_mount_point': self.ssh_mount_point,
25173            'tags': self.tags,
25174        }
@classmethod
def from_dict(cls, d)
25176    @classmethod
25177    def from_dict(cls, d):
25178        return cls(
25179            id=d.get('id'),
25180            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25181            name=d.get('name'),
25182            namespace=d.get('namespace'),
25183            server_address=d.get('server_address'),
25184            signing_role=d.get('signing_role'),
25185            ssh_mount_point=d.get('ssh_mount_point'),
25186            tags=d.get('tags'),
25187        )
class VaultAppRoleCertX509Store:
25190class VaultAppRoleCertX509Store:
25191    __slots__ = [
25192        'id',
25193        'issuedcertttlminutes',
25194        'name',
25195        'namespace',
25196        'pki_mount_point',
25197        'server_address',
25198        'signing_role',
25199        'tags',
25200    ]
25201
25202    def __init__(
25203        self,
25204        id=None,
25205        issuedcertttlminutes=None,
25206        name=None,
25207        namespace=None,
25208        pki_mount_point=None,
25209        server_address=None,
25210        signing_role=None,
25211        tags=None,
25212    ):
25213        self.id = id if id is not None else ''
25214        '''
25215         Unique identifier of the SecretStore.
25216        '''
25217        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25218        '''
25219         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25220        '''
25221        self.name = name if name is not None else ''
25222        '''
25223         Unique human-readable name of the SecretStore.
25224        '''
25225        self.namespace = namespace if namespace is not None else ''
25226        '''
25227         The namespace to make requests within
25228        '''
25229        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25230        '''
25231         The mount point of the PKI engine configured with the desired CA
25232        '''
25233        self.server_address = server_address if server_address is not None else ''
25234        '''
25235         The URL of the Vault to target
25236        '''
25237        self.signing_role = signing_role if signing_role is not None else ''
25238        '''
25239         The signing role to be used for signing certificates
25240        '''
25241        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25242        '''
25243         Tags is a map of key, value pairs.
25244        '''
25245
25246    def __repr__(self):
25247        return '<sdm.VaultAppRoleCertX509Store ' + \
25248            'id: ' + repr(self.id) + ' ' +\
25249            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25250            'name: ' + repr(self.name) + ' ' +\
25251            'namespace: ' + repr(self.namespace) + ' ' +\
25252            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25253            'server_address: ' + repr(self.server_address) + ' ' +\
25254            'signing_role: ' + repr(self.signing_role) + ' ' +\
25255            'tags: ' + repr(self.tags) + ' ' +\
25256            '>'
25257
25258    def to_dict(self):
25259        return {
25260            'id': self.id,
25261            'issuedcertttlminutes': self.issuedcertttlminutes,
25262            'name': self.name,
25263            'namespace': self.namespace,
25264            'pki_mount_point': self.pki_mount_point,
25265            'server_address': self.server_address,
25266            'signing_role': self.signing_role,
25267            'tags': self.tags,
25268        }
25269
25270    @classmethod
25271    def from_dict(cls, d):
25272        return cls(
25273            id=d.get('id'),
25274            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25275            name=d.get('name'),
25276            namespace=d.get('namespace'),
25277            pki_mount_point=d.get('pki_mount_point'),
25278            server_address=d.get('server_address'),
25279            signing_role=d.get('signing_role'),
25280            tags=d.get('tags'),
25281        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
25202    def __init__(
25203        self,
25204        id=None,
25205        issuedcertttlminutes=None,
25206        name=None,
25207        namespace=None,
25208        pki_mount_point=None,
25209        server_address=None,
25210        signing_role=None,
25211        tags=None,
25212    ):
25213        self.id = id if id is not None else ''
25214        '''
25215         Unique identifier of the SecretStore.
25216        '''
25217        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25218        '''
25219         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25220        '''
25221        self.name = name if name is not None else ''
25222        '''
25223         Unique human-readable name of the SecretStore.
25224        '''
25225        self.namespace = namespace if namespace is not None else ''
25226        '''
25227         The namespace to make requests within
25228        '''
25229        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25230        '''
25231         The mount point of the PKI engine configured with the desired CA
25232        '''
25233        self.server_address = server_address if server_address is not None else ''
25234        '''
25235         The URL of the Vault to target
25236        '''
25237        self.signing_role = signing_role if signing_role is not None else ''
25238        '''
25239         The signing role to be used for signing certificates
25240        '''
25241        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25242        '''
25243         Tags is a map of key, value pairs.
25244        '''
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)
25258    def to_dict(self):
25259        return {
25260            'id': self.id,
25261            'issuedcertttlminutes': self.issuedcertttlminutes,
25262            'name': self.name,
25263            'namespace': self.namespace,
25264            'pki_mount_point': self.pki_mount_point,
25265            'server_address': self.server_address,
25266            'signing_role': self.signing_role,
25267            'tags': self.tags,
25268        }
@classmethod
def from_dict(cls, d)
25270    @classmethod
25271    def from_dict(cls, d):
25272        return cls(
25273            id=d.get('id'),
25274            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25275            name=d.get('name'),
25276            namespace=d.get('namespace'),
25277            pki_mount_point=d.get('pki_mount_point'),
25278            server_address=d.get('server_address'),
25279            signing_role=d.get('signing_role'),
25280            tags=d.get('tags'),
25281        )
class VaultAppRoleStore:
25284class VaultAppRoleStore:
25285    __slots__ = [
25286        'id',
25287        'name',
25288        'namespace',
25289        'server_address',
25290        'tags',
25291    ]
25292
25293    def __init__(
25294        self,
25295        id=None,
25296        name=None,
25297        namespace=None,
25298        server_address=None,
25299        tags=None,
25300    ):
25301        self.id = id if id is not None else ''
25302        '''
25303         Unique identifier of the SecretStore.
25304        '''
25305        self.name = name if name is not None else ''
25306        '''
25307         Unique human-readable name of the SecretStore.
25308        '''
25309        self.namespace = namespace if namespace is not None else ''
25310        '''
25311         The namespace to make requests within
25312        '''
25313        self.server_address = server_address if server_address is not None else ''
25314        '''
25315         The URL of the Vault to target
25316        '''
25317        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25318        '''
25319         Tags is a map of key, value pairs.
25320        '''
25321
25322    def __repr__(self):
25323        return '<sdm.VaultAppRoleStore ' + \
25324            'id: ' + repr(self.id) + ' ' +\
25325            'name: ' + repr(self.name) + ' ' +\
25326            'namespace: ' + repr(self.namespace) + ' ' +\
25327            'server_address: ' + repr(self.server_address) + ' ' +\
25328            'tags: ' + repr(self.tags) + ' ' +\
25329            '>'
25330
25331    def to_dict(self):
25332        return {
25333            'id': self.id,
25334            'name': self.name,
25335            'namespace': self.namespace,
25336            'server_address': self.server_address,
25337            'tags': self.tags,
25338        }
25339
25340    @classmethod
25341    def from_dict(cls, d):
25342        return cls(
25343            id=d.get('id'),
25344            name=d.get('name'),
25345            namespace=d.get('namespace'),
25346            server_address=d.get('server_address'),
25347            tags=d.get('tags'),
25348        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
25293    def __init__(
25294        self,
25295        id=None,
25296        name=None,
25297        namespace=None,
25298        server_address=None,
25299        tags=None,
25300    ):
25301        self.id = id if id is not None else ''
25302        '''
25303         Unique identifier of the SecretStore.
25304        '''
25305        self.name = name if name is not None else ''
25306        '''
25307         Unique human-readable name of the SecretStore.
25308        '''
25309        self.namespace = namespace if namespace is not None else ''
25310        '''
25311         The namespace to make requests within
25312        '''
25313        self.server_address = server_address if server_address is not None else ''
25314        '''
25315         The URL of the Vault to target
25316        '''
25317        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25318        '''
25319         Tags is a map of key, value pairs.
25320        '''
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)
25331    def to_dict(self):
25332        return {
25333            'id': self.id,
25334            'name': self.name,
25335            'namespace': self.namespace,
25336            'server_address': self.server_address,
25337            'tags': self.tags,
25338        }
@classmethod
def from_dict(cls, d)
25340    @classmethod
25341    def from_dict(cls, d):
25342        return cls(
25343            id=d.get('id'),
25344            name=d.get('name'),
25345            namespace=d.get('namespace'),
25346            server_address=d.get('server_address'),
25347            tags=d.get('tags'),
25348        )
class VaultTLSCertSSHStore:
25351class VaultTLSCertSSHStore:
25352    __slots__ = [
25353        'ca_cert_path',
25354        'client_cert_path',
25355        'client_key_path',
25356        'id',
25357        'issuedcertttlminutes',
25358        'name',
25359        'namespace',
25360        'server_address',
25361        'signing_role',
25362        'ssh_mount_point',
25363        'tags',
25364    ]
25365
25366    def __init__(
25367        self,
25368        ca_cert_path=None,
25369        client_cert_path=None,
25370        client_key_path=None,
25371        id=None,
25372        issuedcertttlminutes=None,
25373        name=None,
25374        namespace=None,
25375        server_address=None,
25376        signing_role=None,
25377        ssh_mount_point=None,
25378        tags=None,
25379    ):
25380        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25381        '''
25382         A path to a CA file accessible by a Node
25383        '''
25384        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25385        '''
25386         A path to a client certificate file accessible by a Node
25387        '''
25388        self.client_key_path = client_key_path if client_key_path is not None else ''
25389        '''
25390         A path to a client key file accessible by a Node
25391        '''
25392        self.id = id if id is not None else ''
25393        '''
25394         Unique identifier of the SecretStore.
25395        '''
25396        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25397        '''
25398         The lifetime of certificates issued by this CA represented in minutes.
25399        '''
25400        self.name = name if name is not None else ''
25401        '''
25402         Unique human-readable name of the SecretStore.
25403        '''
25404        self.namespace = namespace if namespace is not None else ''
25405        '''
25406         The namespace to make requests within
25407        '''
25408        self.server_address = server_address if server_address is not None else ''
25409        '''
25410         The URL of the Vault to target
25411        '''
25412        self.signing_role = signing_role if signing_role is not None else ''
25413        '''
25414         The signing role to be used for signing certificates
25415        '''
25416        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25417        '''
25418         The mount point of the SSH engine configured with the desired CA
25419        '''
25420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25421        '''
25422         Tags is a map of key, value pairs.
25423        '''
25424
25425    def __repr__(self):
25426        return '<sdm.VaultTLSCertSSHStore ' + \
25427            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25428            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25429            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25430            'id: ' + repr(self.id) + ' ' +\
25431            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25432            'name: ' + repr(self.name) + ' ' +\
25433            'namespace: ' + repr(self.namespace) + ' ' +\
25434            'server_address: ' + repr(self.server_address) + ' ' +\
25435            'signing_role: ' + repr(self.signing_role) + ' ' +\
25436            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25437            'tags: ' + repr(self.tags) + ' ' +\
25438            '>'
25439
25440    def to_dict(self):
25441        return {
25442            'ca_cert_path': self.ca_cert_path,
25443            'client_cert_path': self.client_cert_path,
25444            'client_key_path': self.client_key_path,
25445            'id': self.id,
25446            'issuedcertttlminutes': self.issuedcertttlminutes,
25447            'name': self.name,
25448            'namespace': self.namespace,
25449            'server_address': self.server_address,
25450            'signing_role': self.signing_role,
25451            'ssh_mount_point': self.ssh_mount_point,
25452            'tags': self.tags,
25453        }
25454
25455    @classmethod
25456    def from_dict(cls, d):
25457        return cls(
25458            ca_cert_path=d.get('ca_cert_path'),
25459            client_cert_path=d.get('client_cert_path'),
25460            client_key_path=d.get('client_key_path'),
25461            id=d.get('id'),
25462            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25463            name=d.get('name'),
25464            namespace=d.get('namespace'),
25465            server_address=d.get('server_address'),
25466            signing_role=d.get('signing_role'),
25467            ssh_mount_point=d.get('ssh_mount_point'),
25468            tags=d.get('tags'),
25469        )
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)
25366    def __init__(
25367        self,
25368        ca_cert_path=None,
25369        client_cert_path=None,
25370        client_key_path=None,
25371        id=None,
25372        issuedcertttlminutes=None,
25373        name=None,
25374        namespace=None,
25375        server_address=None,
25376        signing_role=None,
25377        ssh_mount_point=None,
25378        tags=None,
25379    ):
25380        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25381        '''
25382         A path to a CA file accessible by a Node
25383        '''
25384        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25385        '''
25386         A path to a client certificate file accessible by a Node
25387        '''
25388        self.client_key_path = client_key_path if client_key_path is not None else ''
25389        '''
25390         A path to a client key file accessible by a Node
25391        '''
25392        self.id = id if id is not None else ''
25393        '''
25394         Unique identifier of the SecretStore.
25395        '''
25396        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25397        '''
25398         The lifetime of certificates issued by this CA represented in minutes.
25399        '''
25400        self.name = name if name is not None else ''
25401        '''
25402         Unique human-readable name of the SecretStore.
25403        '''
25404        self.namespace = namespace if namespace is not None else ''
25405        '''
25406         The namespace to make requests within
25407        '''
25408        self.server_address = server_address if server_address is not None else ''
25409        '''
25410         The URL of the Vault to target
25411        '''
25412        self.signing_role = signing_role if signing_role is not None else ''
25413        '''
25414         The signing role to be used for signing certificates
25415        '''
25416        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25417        '''
25418         The mount point of the SSH engine configured with the desired CA
25419        '''
25420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25421        '''
25422         Tags is a map of key, value pairs.
25423        '''
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)
25440    def to_dict(self):
25441        return {
25442            'ca_cert_path': self.ca_cert_path,
25443            'client_cert_path': self.client_cert_path,
25444            'client_key_path': self.client_key_path,
25445            'id': self.id,
25446            'issuedcertttlminutes': self.issuedcertttlminutes,
25447            'name': self.name,
25448            'namespace': self.namespace,
25449            'server_address': self.server_address,
25450            'signing_role': self.signing_role,
25451            'ssh_mount_point': self.ssh_mount_point,
25452            'tags': self.tags,
25453        }
@classmethod
def from_dict(cls, d)
25455    @classmethod
25456    def from_dict(cls, d):
25457        return cls(
25458            ca_cert_path=d.get('ca_cert_path'),
25459            client_cert_path=d.get('client_cert_path'),
25460            client_key_path=d.get('client_key_path'),
25461            id=d.get('id'),
25462            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25463            name=d.get('name'),
25464            namespace=d.get('namespace'),
25465            server_address=d.get('server_address'),
25466            signing_role=d.get('signing_role'),
25467            ssh_mount_point=d.get('ssh_mount_point'),
25468            tags=d.get('tags'),
25469        )
class VaultTLSCertX509Store:
25472class VaultTLSCertX509Store:
25473    __slots__ = [
25474        'ca_cert_path',
25475        'client_cert_path',
25476        'client_key_path',
25477        'id',
25478        'issuedcertttlminutes',
25479        'name',
25480        'namespace',
25481        'pki_mount_point',
25482        'server_address',
25483        'signing_role',
25484        'tags',
25485    ]
25486
25487    def __init__(
25488        self,
25489        ca_cert_path=None,
25490        client_cert_path=None,
25491        client_key_path=None,
25492        id=None,
25493        issuedcertttlminutes=None,
25494        name=None,
25495        namespace=None,
25496        pki_mount_point=None,
25497        server_address=None,
25498        signing_role=None,
25499        tags=None,
25500    ):
25501        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25502        '''
25503         A path to a CA file accessible by a Node
25504        '''
25505        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25506        '''
25507         A path to a client certificate file accessible by a Node
25508        '''
25509        self.client_key_path = client_key_path if client_key_path is not None else ''
25510        '''
25511         A path to a client key file accessible by a Node
25512        '''
25513        self.id = id if id is not None else ''
25514        '''
25515         Unique identifier of the SecretStore.
25516        '''
25517        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25518        '''
25519         The lifetime of certificates issued by this CA represented in minutes.
25520        '''
25521        self.name = name if name is not None else ''
25522        '''
25523         Unique human-readable name of the SecretStore.
25524        '''
25525        self.namespace = namespace if namespace is not None else ''
25526        '''
25527         The namespace to make requests within
25528        '''
25529        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25530        '''
25531         The mount point of the PKI engine configured with the desired CA
25532        '''
25533        self.server_address = server_address if server_address is not None else ''
25534        '''
25535         The URL of the Vault to target
25536        '''
25537        self.signing_role = signing_role if signing_role is not None else ''
25538        '''
25539         The signing role to be used for signing certificates
25540        '''
25541        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25542        '''
25543         Tags is a map of key, value pairs.
25544        '''
25545
25546    def __repr__(self):
25547        return '<sdm.VaultTLSCertX509Store ' + \
25548            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25549            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25550            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25551            'id: ' + repr(self.id) + ' ' +\
25552            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25553            'name: ' + repr(self.name) + ' ' +\
25554            'namespace: ' + repr(self.namespace) + ' ' +\
25555            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25556            'server_address: ' + repr(self.server_address) + ' ' +\
25557            'signing_role: ' + repr(self.signing_role) + ' ' +\
25558            'tags: ' + repr(self.tags) + ' ' +\
25559            '>'
25560
25561    def to_dict(self):
25562        return {
25563            'ca_cert_path': self.ca_cert_path,
25564            'client_cert_path': self.client_cert_path,
25565            'client_key_path': self.client_key_path,
25566            'id': self.id,
25567            'issuedcertttlminutes': self.issuedcertttlminutes,
25568            'name': self.name,
25569            'namespace': self.namespace,
25570            'pki_mount_point': self.pki_mount_point,
25571            'server_address': self.server_address,
25572            'signing_role': self.signing_role,
25573            'tags': self.tags,
25574        }
25575
25576    @classmethod
25577    def from_dict(cls, d):
25578        return cls(
25579            ca_cert_path=d.get('ca_cert_path'),
25580            client_cert_path=d.get('client_cert_path'),
25581            client_key_path=d.get('client_key_path'),
25582            id=d.get('id'),
25583            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25584            name=d.get('name'),
25585            namespace=d.get('namespace'),
25586            pki_mount_point=d.get('pki_mount_point'),
25587            server_address=d.get('server_address'),
25588            signing_role=d.get('signing_role'),
25589            tags=d.get('tags'),
25590        )
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)
25487    def __init__(
25488        self,
25489        ca_cert_path=None,
25490        client_cert_path=None,
25491        client_key_path=None,
25492        id=None,
25493        issuedcertttlminutes=None,
25494        name=None,
25495        namespace=None,
25496        pki_mount_point=None,
25497        server_address=None,
25498        signing_role=None,
25499        tags=None,
25500    ):
25501        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25502        '''
25503         A path to a CA file accessible by a Node
25504        '''
25505        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25506        '''
25507         A path to a client certificate file accessible by a Node
25508        '''
25509        self.client_key_path = client_key_path if client_key_path is not None else ''
25510        '''
25511         A path to a client key file accessible by a Node
25512        '''
25513        self.id = id if id is not None else ''
25514        '''
25515         Unique identifier of the SecretStore.
25516        '''
25517        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25518        '''
25519         The lifetime of certificates issued by this CA represented in minutes.
25520        '''
25521        self.name = name if name is not None else ''
25522        '''
25523         Unique human-readable name of the SecretStore.
25524        '''
25525        self.namespace = namespace if namespace is not None else ''
25526        '''
25527         The namespace to make requests within
25528        '''
25529        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25530        '''
25531         The mount point of the PKI engine configured with the desired CA
25532        '''
25533        self.server_address = server_address if server_address is not None else ''
25534        '''
25535         The URL of the Vault to target
25536        '''
25537        self.signing_role = signing_role if signing_role is not None else ''
25538        '''
25539         The signing role to be used for signing certificates
25540        '''
25541        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25542        '''
25543         Tags is a map of key, value pairs.
25544        '''
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)
25561    def to_dict(self):
25562        return {
25563            'ca_cert_path': self.ca_cert_path,
25564            'client_cert_path': self.client_cert_path,
25565            'client_key_path': self.client_key_path,
25566            'id': self.id,
25567            'issuedcertttlminutes': self.issuedcertttlminutes,
25568            'name': self.name,
25569            'namespace': self.namespace,
25570            'pki_mount_point': self.pki_mount_point,
25571            'server_address': self.server_address,
25572            'signing_role': self.signing_role,
25573            'tags': self.tags,
25574        }
@classmethod
def from_dict(cls, d)
25576    @classmethod
25577    def from_dict(cls, d):
25578        return cls(
25579            ca_cert_path=d.get('ca_cert_path'),
25580            client_cert_path=d.get('client_cert_path'),
25581            client_key_path=d.get('client_key_path'),
25582            id=d.get('id'),
25583            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25584            name=d.get('name'),
25585            namespace=d.get('namespace'),
25586            pki_mount_point=d.get('pki_mount_point'),
25587            server_address=d.get('server_address'),
25588            signing_role=d.get('signing_role'),
25589            tags=d.get('tags'),
25590        )
class VaultTLSStore:
25593class VaultTLSStore:
25594    __slots__ = [
25595        'ca_cert_path',
25596        'client_cert_path',
25597        'client_key_path',
25598        'id',
25599        'name',
25600        'namespace',
25601        'server_address',
25602        'tags',
25603    ]
25604
25605    def __init__(
25606        self,
25607        ca_cert_path=None,
25608        client_cert_path=None,
25609        client_key_path=None,
25610        id=None,
25611        name=None,
25612        namespace=None,
25613        server_address=None,
25614        tags=None,
25615    ):
25616        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25617        '''
25618         A path to a CA file accessible by a Node
25619        '''
25620        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25621        '''
25622         A path to a client certificate file accessible by a Node
25623        '''
25624        self.client_key_path = client_key_path if client_key_path is not None else ''
25625        '''
25626         A path to a client key file accessible by a Node
25627        '''
25628        self.id = id if id is not None else ''
25629        '''
25630         Unique identifier of the SecretStore.
25631        '''
25632        self.name = name if name is not None else ''
25633        '''
25634         Unique human-readable name of the SecretStore.
25635        '''
25636        self.namespace = namespace if namespace is not None else ''
25637        '''
25638         The namespace to make requests within
25639        '''
25640        self.server_address = server_address if server_address is not None else ''
25641        '''
25642         The URL of the Vault to target
25643        '''
25644        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25645        '''
25646         Tags is a map of key, value pairs.
25647        '''
25648
25649    def __repr__(self):
25650        return '<sdm.VaultTLSStore ' + \
25651            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
25652            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
25653            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
25654            'id: ' + repr(self.id) + ' ' +\
25655            'name: ' + repr(self.name) + ' ' +\
25656            'namespace: ' + repr(self.namespace) + ' ' +\
25657            'server_address: ' + repr(self.server_address) + ' ' +\
25658            'tags: ' + repr(self.tags) + ' ' +\
25659            '>'
25660
25661    def to_dict(self):
25662        return {
25663            'ca_cert_path': self.ca_cert_path,
25664            'client_cert_path': self.client_cert_path,
25665            'client_key_path': self.client_key_path,
25666            'id': self.id,
25667            'name': self.name,
25668            'namespace': self.namespace,
25669            'server_address': self.server_address,
25670            'tags': self.tags,
25671        }
25672
25673    @classmethod
25674    def from_dict(cls, d):
25675        return cls(
25676            ca_cert_path=d.get('ca_cert_path'),
25677            client_cert_path=d.get('client_cert_path'),
25678            client_key_path=d.get('client_key_path'),
25679            id=d.get('id'),
25680            name=d.get('name'),
25681            namespace=d.get('namespace'),
25682            server_address=d.get('server_address'),
25683            tags=d.get('tags'),
25684        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
25605    def __init__(
25606        self,
25607        ca_cert_path=None,
25608        client_cert_path=None,
25609        client_key_path=None,
25610        id=None,
25611        name=None,
25612        namespace=None,
25613        server_address=None,
25614        tags=None,
25615    ):
25616        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
25617        '''
25618         A path to a CA file accessible by a Node
25619        '''
25620        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
25621        '''
25622         A path to a client certificate file accessible by a Node
25623        '''
25624        self.client_key_path = client_key_path if client_key_path is not None else ''
25625        '''
25626         A path to a client key file accessible by a Node
25627        '''
25628        self.id = id if id is not None else ''
25629        '''
25630         Unique identifier of the SecretStore.
25631        '''
25632        self.name = name if name is not None else ''
25633        '''
25634         Unique human-readable name of the SecretStore.
25635        '''
25636        self.namespace = namespace if namespace is not None else ''
25637        '''
25638         The namespace to make requests within
25639        '''
25640        self.server_address = server_address if server_address is not None else ''
25641        '''
25642         The URL of the Vault to target
25643        '''
25644        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25645        '''
25646         Tags is a map of key, value pairs.
25647        '''
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)
25661    def to_dict(self):
25662        return {
25663            'ca_cert_path': self.ca_cert_path,
25664            'client_cert_path': self.client_cert_path,
25665            'client_key_path': self.client_key_path,
25666            'id': self.id,
25667            'name': self.name,
25668            'namespace': self.namespace,
25669            'server_address': self.server_address,
25670            'tags': self.tags,
25671        }
@classmethod
def from_dict(cls, d)
25673    @classmethod
25674    def from_dict(cls, d):
25675        return cls(
25676            ca_cert_path=d.get('ca_cert_path'),
25677            client_cert_path=d.get('client_cert_path'),
25678            client_key_path=d.get('client_key_path'),
25679            id=d.get('id'),
25680            name=d.get('name'),
25681            namespace=d.get('namespace'),
25682            server_address=d.get('server_address'),
25683            tags=d.get('tags'),
25684        )
class VaultTokenCertSSHStore:
25687class VaultTokenCertSSHStore:
25688    __slots__ = [
25689        'id',
25690        'issuedcertttlminutes',
25691        'name',
25692        'namespace',
25693        'server_address',
25694        'signing_role',
25695        'ssh_mount_point',
25696        'tags',
25697    ]
25698
25699    def __init__(
25700        self,
25701        id=None,
25702        issuedcertttlminutes=None,
25703        name=None,
25704        namespace=None,
25705        server_address=None,
25706        signing_role=None,
25707        ssh_mount_point=None,
25708        tags=None,
25709    ):
25710        self.id = id if id is not None else ''
25711        '''
25712         Unique identifier of the SecretStore.
25713        '''
25714        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25715        '''
25716         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25717        '''
25718        self.name = name if name is not None else ''
25719        '''
25720         Unique human-readable name of the SecretStore.
25721        '''
25722        self.namespace = namespace if namespace is not None else ''
25723        '''
25724         The namespace to make requests within
25725        '''
25726        self.server_address = server_address if server_address is not None else ''
25727        '''
25728         The URL of the Vault to target
25729        '''
25730        self.signing_role = signing_role if signing_role is not None else ''
25731        '''
25732         The signing role to be used for signing certificates
25733        '''
25734        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25735        '''
25736         The mount point of the SSH engine configured with the desired CA
25737        '''
25738        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25739        '''
25740         Tags is a map of key, value pairs.
25741        '''
25742
25743    def __repr__(self):
25744        return '<sdm.VaultTokenCertSSHStore ' + \
25745            'id: ' + repr(self.id) + ' ' +\
25746            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25747            'name: ' + repr(self.name) + ' ' +\
25748            'namespace: ' + repr(self.namespace) + ' ' +\
25749            'server_address: ' + repr(self.server_address) + ' ' +\
25750            'signing_role: ' + repr(self.signing_role) + ' ' +\
25751            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
25752            'tags: ' + repr(self.tags) + ' ' +\
25753            '>'
25754
25755    def to_dict(self):
25756        return {
25757            'id': self.id,
25758            'issuedcertttlminutes': self.issuedcertttlminutes,
25759            'name': self.name,
25760            'namespace': self.namespace,
25761            'server_address': self.server_address,
25762            'signing_role': self.signing_role,
25763            'ssh_mount_point': self.ssh_mount_point,
25764            'tags': self.tags,
25765        }
25766
25767    @classmethod
25768    def from_dict(cls, d):
25769        return cls(
25770            id=d.get('id'),
25771            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25772            name=d.get('name'),
25773            namespace=d.get('namespace'),
25774            server_address=d.get('server_address'),
25775            signing_role=d.get('signing_role'),
25776            ssh_mount_point=d.get('ssh_mount_point'),
25777            tags=d.get('tags'),
25778        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
25699    def __init__(
25700        self,
25701        id=None,
25702        issuedcertttlminutes=None,
25703        name=None,
25704        namespace=None,
25705        server_address=None,
25706        signing_role=None,
25707        ssh_mount_point=None,
25708        tags=None,
25709    ):
25710        self.id = id if id is not None else ''
25711        '''
25712         Unique identifier of the SecretStore.
25713        '''
25714        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25715        '''
25716         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
25717        '''
25718        self.name = name if name is not None else ''
25719        '''
25720         Unique human-readable name of the SecretStore.
25721        '''
25722        self.namespace = namespace if namespace is not None else ''
25723        '''
25724         The namespace to make requests within
25725        '''
25726        self.server_address = server_address if server_address is not None else ''
25727        '''
25728         The URL of the Vault to target
25729        '''
25730        self.signing_role = signing_role if signing_role is not None else ''
25731        '''
25732         The signing role to be used for signing certificates
25733        '''
25734        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
25735        '''
25736         The mount point of the SSH engine configured with the desired CA
25737        '''
25738        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25739        '''
25740         Tags is a map of key, value pairs.
25741        '''
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)
25755    def to_dict(self):
25756        return {
25757            'id': self.id,
25758            'issuedcertttlminutes': self.issuedcertttlminutes,
25759            'name': self.name,
25760            'namespace': self.namespace,
25761            'server_address': self.server_address,
25762            'signing_role': self.signing_role,
25763            'ssh_mount_point': self.ssh_mount_point,
25764            'tags': self.tags,
25765        }
@classmethod
def from_dict(cls, d)
25767    @classmethod
25768    def from_dict(cls, d):
25769        return cls(
25770            id=d.get('id'),
25771            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25772            name=d.get('name'),
25773            namespace=d.get('namespace'),
25774            server_address=d.get('server_address'),
25775            signing_role=d.get('signing_role'),
25776            ssh_mount_point=d.get('ssh_mount_point'),
25777            tags=d.get('tags'),
25778        )
class VaultTokenCertX509Store:
25781class VaultTokenCertX509Store:
25782    __slots__ = [
25783        'id',
25784        'issuedcertttlminutes',
25785        'name',
25786        'namespace',
25787        'pki_mount_point',
25788        'server_address',
25789        'signing_role',
25790        'tags',
25791    ]
25792
25793    def __init__(
25794        self,
25795        id=None,
25796        issuedcertttlminutes=None,
25797        name=None,
25798        namespace=None,
25799        pki_mount_point=None,
25800        server_address=None,
25801        signing_role=None,
25802        tags=None,
25803    ):
25804        self.id = id if id is not None else ''
25805        '''
25806         Unique identifier of the SecretStore.
25807        '''
25808        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25809        '''
25810         The lifetime of certificates issued by this CA represented in minutes.
25811        '''
25812        self.name = name if name is not None else ''
25813        '''
25814         Unique human-readable name of the SecretStore.
25815        '''
25816        self.namespace = namespace if namespace is not None else ''
25817        '''
25818         The namespace to make requests within
25819        '''
25820        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25821        '''
25822         The mount point of the PKI engine configured with the desired CA
25823        '''
25824        self.server_address = server_address if server_address is not None else ''
25825        '''
25826         The URL of the Vault to target
25827        '''
25828        self.signing_role = signing_role if signing_role is not None else ''
25829        '''
25830         The signing role to be used for signing certificates
25831        '''
25832        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25833        '''
25834         Tags is a map of key, value pairs.
25835        '''
25836
25837    def __repr__(self):
25838        return '<sdm.VaultTokenCertX509Store ' + \
25839            'id: ' + repr(self.id) + ' ' +\
25840            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
25841            'name: ' + repr(self.name) + ' ' +\
25842            'namespace: ' + repr(self.namespace) + ' ' +\
25843            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
25844            'server_address: ' + repr(self.server_address) + ' ' +\
25845            'signing_role: ' + repr(self.signing_role) + ' ' +\
25846            'tags: ' + repr(self.tags) + ' ' +\
25847            '>'
25848
25849    def to_dict(self):
25850        return {
25851            'id': self.id,
25852            'issuedcertttlminutes': self.issuedcertttlminutes,
25853            'name': self.name,
25854            'namespace': self.namespace,
25855            'pki_mount_point': self.pki_mount_point,
25856            'server_address': self.server_address,
25857            'signing_role': self.signing_role,
25858            'tags': self.tags,
25859        }
25860
25861    @classmethod
25862    def from_dict(cls, d):
25863        return cls(
25864            id=d.get('id'),
25865            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25866            name=d.get('name'),
25867            namespace=d.get('namespace'),
25868            pki_mount_point=d.get('pki_mount_point'),
25869            server_address=d.get('server_address'),
25870            signing_role=d.get('signing_role'),
25871            tags=d.get('tags'),
25872        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
25793    def __init__(
25794        self,
25795        id=None,
25796        issuedcertttlminutes=None,
25797        name=None,
25798        namespace=None,
25799        pki_mount_point=None,
25800        server_address=None,
25801        signing_role=None,
25802        tags=None,
25803    ):
25804        self.id = id if id is not None else ''
25805        '''
25806         Unique identifier of the SecretStore.
25807        '''
25808        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
25809        '''
25810         The lifetime of certificates issued by this CA represented in minutes.
25811        '''
25812        self.name = name if name is not None else ''
25813        '''
25814         Unique human-readable name of the SecretStore.
25815        '''
25816        self.namespace = namespace if namespace is not None else ''
25817        '''
25818         The namespace to make requests within
25819        '''
25820        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
25821        '''
25822         The mount point of the PKI engine configured with the desired CA
25823        '''
25824        self.server_address = server_address if server_address is not None else ''
25825        '''
25826         The URL of the Vault to target
25827        '''
25828        self.signing_role = signing_role if signing_role is not None else ''
25829        '''
25830         The signing role to be used for signing certificates
25831        '''
25832        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25833        '''
25834         Tags is a map of key, value pairs.
25835        '''
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)
25849    def to_dict(self):
25850        return {
25851            'id': self.id,
25852            'issuedcertttlminutes': self.issuedcertttlminutes,
25853            'name': self.name,
25854            'namespace': self.namespace,
25855            'pki_mount_point': self.pki_mount_point,
25856            'server_address': self.server_address,
25857            'signing_role': self.signing_role,
25858            'tags': self.tags,
25859        }
@classmethod
def from_dict(cls, d)
25861    @classmethod
25862    def from_dict(cls, d):
25863        return cls(
25864            id=d.get('id'),
25865            issuedcertttlminutes=d.get('issuedcertttlminutes'),
25866            name=d.get('name'),
25867            namespace=d.get('namespace'),
25868            pki_mount_point=d.get('pki_mount_point'),
25869            server_address=d.get('server_address'),
25870            signing_role=d.get('signing_role'),
25871            tags=d.get('tags'),
25872        )
class VaultTokenStore:
25875class VaultTokenStore:
25876    __slots__ = [
25877        'id',
25878        'name',
25879        'namespace',
25880        'server_address',
25881        'tags',
25882    ]
25883
25884    def __init__(
25885        self,
25886        id=None,
25887        name=None,
25888        namespace=None,
25889        server_address=None,
25890        tags=None,
25891    ):
25892        self.id = id if id is not None else ''
25893        '''
25894         Unique identifier of the SecretStore.
25895        '''
25896        self.name = name if name is not None else ''
25897        '''
25898         Unique human-readable name of the SecretStore.
25899        '''
25900        self.namespace = namespace if namespace is not None else ''
25901        '''
25902         The namespace to make requests within
25903        '''
25904        self.server_address = server_address if server_address is not None else ''
25905        '''
25906         The URL of the Vault to target
25907        '''
25908        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25909        '''
25910         Tags is a map of key, value pairs.
25911        '''
25912
25913    def __repr__(self):
25914        return '<sdm.VaultTokenStore ' + \
25915            'id: ' + repr(self.id) + ' ' +\
25916            'name: ' + repr(self.name) + ' ' +\
25917            'namespace: ' + repr(self.namespace) + ' ' +\
25918            'server_address: ' + repr(self.server_address) + ' ' +\
25919            'tags: ' + repr(self.tags) + ' ' +\
25920            '>'
25921
25922    def to_dict(self):
25923        return {
25924            'id': self.id,
25925            'name': self.name,
25926            'namespace': self.namespace,
25927            'server_address': self.server_address,
25928            'tags': self.tags,
25929        }
25930
25931    @classmethod
25932    def from_dict(cls, d):
25933        return cls(
25934            id=d.get('id'),
25935            name=d.get('name'),
25936            namespace=d.get('namespace'),
25937            server_address=d.get('server_address'),
25938            tags=d.get('tags'),
25939        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
25884    def __init__(
25885        self,
25886        id=None,
25887        name=None,
25888        namespace=None,
25889        server_address=None,
25890        tags=None,
25891    ):
25892        self.id = id if id is not None else ''
25893        '''
25894         Unique identifier of the SecretStore.
25895        '''
25896        self.name = name if name is not None else ''
25897        '''
25898         Unique human-readable name of the SecretStore.
25899        '''
25900        self.namespace = namespace if namespace is not None else ''
25901        '''
25902         The namespace to make requests within
25903        '''
25904        self.server_address = server_address if server_address is not None else ''
25905        '''
25906         The URL of the Vault to target
25907        '''
25908        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25909        '''
25910         Tags is a map of key, value pairs.
25911        '''
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)
25922    def to_dict(self):
25923        return {
25924            'id': self.id,
25925            'name': self.name,
25926            'namespace': self.namespace,
25927            'server_address': self.server_address,
25928            'tags': self.tags,
25929        }
@classmethod
def from_dict(cls, d)
25931    @classmethod
25932    def from_dict(cls, d):
25933        return cls(
25934            id=d.get('id'),
25935            name=d.get('name'),
25936            namespace=d.get('namespace'),
25937            server_address=d.get('server_address'),
25938            tags=d.get('tags'),
25939        )
class Workflow:
25942class Workflow:
25943    '''
25944         Workflows are the collection of rules that define the resources to which access can be requested,
25945     the users that can request that access, and the mechanism for approving those requests which can either
25946     but automatic approval or a set of users authorized to approve the requests.
25947    '''
25948    __slots__ = [
25949        'access_rules',
25950        'approval_flow_id',
25951        'auto_grant',
25952        'description',
25953        'enabled',
25954        'id',
25955        'name',
25956        'weight',
25957    ]
25958
25959    def __init__(
25960        self,
25961        access_rules=None,
25962        approval_flow_id=None,
25963        auto_grant=None,
25964        description=None,
25965        enabled=None,
25966        id=None,
25967        name=None,
25968        weight=None,
25969    ):
25970        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25971        )
25972        '''
25973         AccessRules is a list of access rules defining the resources this Workflow provides access to.
25974        '''
25975        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
25976        '''
25977         Optional approval flow ID identifies an approval flow that linked to the workflow
25978        '''
25979        self.auto_grant = auto_grant if auto_grant is not None else False
25980        '''
25981         Optional auto grant setting to automatically approve requests or not, defaults to false.
25982        '''
25983        self.description = description if description is not None else ''
25984        '''
25985         Optional description of the Workflow.
25986        '''
25987        self.enabled = enabled if enabled is not None else False
25988        '''
25989         Optional enabled state for workflow. This setting may be overridden by the system if
25990         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
25991         enabling the workflow. The requirements to enable a workflow are that the workflow must be
25992         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
25993         the workflow.
25994        '''
25995        self.id = id if id is not None else ''
25996        '''
25997         Unique identifier of the Workflow.
25998        '''
25999        self.name = name if name is not None else ''
26000        '''
26001         Unique human-readable name of the Workflow.
26002        '''
26003        self.weight = weight if weight is not None else 0
26004        '''
26005         Optional weight for workflow to specify it's priority in matching a request.
26006        '''
26007
26008    def __repr__(self):
26009        return '<sdm.Workflow ' + \
26010            'access_rules: ' + repr(self.access_rules) + ' ' +\
26011            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
26012            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
26013            'description: ' + repr(self.description) + ' ' +\
26014            'enabled: ' + repr(self.enabled) + ' ' +\
26015            'id: ' + repr(self.id) + ' ' +\
26016            'name: ' + repr(self.name) + ' ' +\
26017            'weight: ' + repr(self.weight) + ' ' +\
26018            '>'
26019
26020    def to_dict(self):
26021        return {
26022            'access_rules': self.access_rules,
26023            'approval_flow_id': self.approval_flow_id,
26024            'auto_grant': self.auto_grant,
26025            'description': self.description,
26026            'enabled': self.enabled,
26027            'id': self.id,
26028            'name': self.name,
26029            'weight': self.weight,
26030        }
26031
26032    @classmethod
26033    def from_dict(cls, d):
26034        return cls(
26035            access_rules=d.get('access_rules'),
26036            approval_flow_id=d.get('approval_flow_id'),
26037            auto_grant=d.get('auto_grant'),
26038            description=d.get('description'),
26039            enabled=d.get('enabled'),
26040            id=d.get('id'),
26041            name=d.get('name'),
26042            weight=d.get('weight'),
26043        )

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_rules=None, approval_flow_id=None, auto_grant=None, description=None, enabled=None, id=None, name=None, weight=None)
25959    def __init__(
25960        self,
25961        access_rules=None,
25962        approval_flow_id=None,
25963        auto_grant=None,
25964        description=None,
25965        enabled=None,
25966        id=None,
25967        name=None,
25968        weight=None,
25969    ):
25970        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25971        )
25972        '''
25973         AccessRules is a list of access rules defining the resources this Workflow provides access to.
25974        '''
25975        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
25976        '''
25977         Optional approval flow ID identifies an approval flow that linked to the workflow
25978        '''
25979        self.auto_grant = auto_grant if auto_grant is not None else False
25980        '''
25981         Optional auto grant setting to automatically approve requests or not, defaults to false.
25982        '''
25983        self.description = description if description is not None else ''
25984        '''
25985         Optional description of the Workflow.
25986        '''
25987        self.enabled = enabled if enabled is not None else False
25988        '''
25989         Optional enabled state for workflow. This setting may be overridden by the system if
25990         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
25991         enabling the workflow. The requirements to enable a workflow are that the workflow must be
25992         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
25993         the workflow.
25994        '''
25995        self.id = id if id is not None else ''
25996        '''
25997         Unique identifier of the Workflow.
25998        '''
25999        self.name = name if name is not None else ''
26000        '''
26001         Unique human-readable name of the Workflow.
26002        '''
26003        self.weight = weight if weight is not None else 0
26004        '''
26005         Optional weight for workflow to specify it's priority in matching a request.
26006        '''
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)
26020    def to_dict(self):
26021        return {
26022            'access_rules': self.access_rules,
26023            'approval_flow_id': self.approval_flow_id,
26024            'auto_grant': self.auto_grant,
26025            'description': self.description,
26026            'enabled': self.enabled,
26027            'id': self.id,
26028            'name': self.name,
26029            'weight': self.weight,
26030        }
@classmethod
def from_dict(cls, d)
26032    @classmethod
26033    def from_dict(cls, d):
26034        return cls(
26035            access_rules=d.get('access_rules'),
26036            approval_flow_id=d.get('approval_flow_id'),
26037            auto_grant=d.get('auto_grant'),
26038            description=d.get('description'),
26039            enabled=d.get('enabled'),
26040            id=d.get('id'),
26041            name=d.get('name'),
26042            weight=d.get('weight'),
26043        )
class WorkflowApprover:
26046class WorkflowApprover:
26047    '''
26048         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
26049    '''
26050    __slots__ = [
26051        'account_id',
26052        'id',
26053        'role_id',
26054        'workflow_id',
26055    ]
26056
26057    def __init__(
26058        self,
26059        account_id=None,
26060        id=None,
26061        role_id=None,
26062        workflow_id=None,
26063    ):
26064        self.account_id = account_id if account_id is not None else ''
26065        '''
26066         The approver account id.
26067        '''
26068        self.id = id if id is not None else ''
26069        '''
26070         Unique identifier of the WorkflowApprover.
26071        '''
26072        self.role_id = role_id if role_id is not None else ''
26073        '''
26074         The approver role id
26075        '''
26076        self.workflow_id = workflow_id if workflow_id is not None else ''
26077        '''
26078         The workflow id.
26079        '''
26080
26081    def __repr__(self):
26082        return '<sdm.WorkflowApprover ' + \
26083            'account_id: ' + repr(self.account_id) + ' ' +\
26084            'id: ' + repr(self.id) + ' ' +\
26085            'role_id: ' + repr(self.role_id) + ' ' +\
26086            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26087            '>'
26088
26089    def to_dict(self):
26090        return {
26091            'account_id': self.account_id,
26092            'id': self.id,
26093            'role_id': self.role_id,
26094            'workflow_id': self.workflow_id,
26095        }
26096
26097    @classmethod
26098    def from_dict(cls, d):
26099        return cls(
26100            account_id=d.get('account_id'),
26101            id=d.get('id'),
26102            role_id=d.get('role_id'),
26103            workflow_id=d.get('workflow_id'),
26104        )

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)
26057    def __init__(
26058        self,
26059        account_id=None,
26060        id=None,
26061        role_id=None,
26062        workflow_id=None,
26063    ):
26064        self.account_id = account_id if account_id is not None else ''
26065        '''
26066         The approver account id.
26067        '''
26068        self.id = id if id is not None else ''
26069        '''
26070         Unique identifier of the WorkflowApprover.
26071        '''
26072        self.role_id = role_id if role_id is not None else ''
26073        '''
26074         The approver role id
26075        '''
26076        self.workflow_id = workflow_id if workflow_id is not None else ''
26077        '''
26078         The workflow id.
26079        '''
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)
26089    def to_dict(self):
26090        return {
26091            'account_id': self.account_id,
26092            'id': self.id,
26093            'role_id': self.role_id,
26094            'workflow_id': self.workflow_id,
26095        }
@classmethod
def from_dict(cls, d)
26097    @classmethod
26098    def from_dict(cls, d):
26099        return cls(
26100            account_id=d.get('account_id'),
26101            id=d.get('id'),
26102            role_id=d.get('role_id'),
26103            workflow_id=d.get('workflow_id'),
26104        )
class WorkflowApproverGetResponse:
26107class WorkflowApproverGetResponse:
26108    '''
26109         WorkflowApproverGetResponse returns a requested WorkflowApprover.
26110    '''
26111    __slots__ = [
26112        'meta',
26113        'rate_limit',
26114        'workflow_approver',
26115    ]
26116
26117    def __init__(
26118        self,
26119        meta=None,
26120        rate_limit=None,
26121        workflow_approver=None,
26122    ):
26123        self.meta = meta if meta is not None else None
26124        '''
26125         Reserved for future use.
26126        '''
26127        self.rate_limit = rate_limit if rate_limit is not None else None
26128        '''
26129         Rate limit information.
26130        '''
26131        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26132        '''
26133         The requested WorkflowApprover.
26134        '''
26135
26136    def __repr__(self):
26137        return '<sdm.WorkflowApproverGetResponse ' + \
26138            'meta: ' + repr(self.meta) + ' ' +\
26139            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26140            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26141            '>'
26142
26143    def to_dict(self):
26144        return {
26145            'meta': self.meta,
26146            'rate_limit': self.rate_limit,
26147            'workflow_approver': self.workflow_approver,
26148        }
26149
26150    @classmethod
26151    def from_dict(cls, d):
26152        return cls(
26153            meta=d.get('meta'),
26154            rate_limit=d.get('rate_limit'),
26155            workflow_approver=d.get('workflow_approver'),
26156        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
26117    def __init__(
26118        self,
26119        meta=None,
26120        rate_limit=None,
26121        workflow_approver=None,
26122    ):
26123        self.meta = meta if meta is not None else None
26124        '''
26125         Reserved for future use.
26126        '''
26127        self.rate_limit = rate_limit if rate_limit is not None else None
26128        '''
26129         Rate limit information.
26130        '''
26131        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26132        '''
26133         The requested WorkflowApprover.
26134        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
26143    def to_dict(self):
26144        return {
26145            'meta': self.meta,
26146            'rate_limit': self.rate_limit,
26147            'workflow_approver': self.workflow_approver,
26148        }
@classmethod
def from_dict(cls, d)
26150    @classmethod
26151    def from_dict(cls, d):
26152        return cls(
26153            meta=d.get('meta'),
26154            rate_limit=d.get('rate_limit'),
26155            workflow_approver=d.get('workflow_approver'),
26156        )
class WorkflowApproverHistory:
26159class WorkflowApproverHistory:
26160    '''
26161         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
26162    '''
26163    __slots__ = [
26164        'activity_id',
26165        'deleted_at',
26166        'timestamp',
26167        'workflow_approver',
26168    ]
26169
26170    def __init__(
26171        self,
26172        activity_id=None,
26173        deleted_at=None,
26174        timestamp=None,
26175        workflow_approver=None,
26176    ):
26177        self.activity_id = activity_id if activity_id is not None else ''
26178        '''
26179         The unique identifier of the Activity that produced this change to the WorkflowApprover.
26180         May be empty for some system-initiated updates.
26181        '''
26182        self.deleted_at = deleted_at if deleted_at is not None else None
26183        '''
26184         If this WorkflowApprover was deleted, the time it was deleted.
26185        '''
26186        self.timestamp = timestamp if timestamp is not None else None
26187        '''
26188         The time at which the WorkflowApprover state was recorded.
26189        '''
26190        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26191        '''
26192         The complete WorkflowApprover state at this time.
26193        '''
26194
26195    def __repr__(self):
26196        return '<sdm.WorkflowApproverHistory ' + \
26197            'activity_id: ' + repr(self.activity_id) + ' ' +\
26198            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26199            'timestamp: ' + repr(self.timestamp) + ' ' +\
26200            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26201            '>'
26202
26203    def to_dict(self):
26204        return {
26205            'activity_id': self.activity_id,
26206            'deleted_at': self.deleted_at,
26207            'timestamp': self.timestamp,
26208            'workflow_approver': self.workflow_approver,
26209        }
26210
26211    @classmethod
26212    def from_dict(cls, d):
26213        return cls(
26214            activity_id=d.get('activity_id'),
26215            deleted_at=d.get('deleted_at'),
26216            timestamp=d.get('timestamp'),
26217            workflow_approver=d.get('workflow_approver'),
26218        )

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

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
26170    def __init__(
26171        self,
26172        activity_id=None,
26173        deleted_at=None,
26174        timestamp=None,
26175        workflow_approver=None,
26176    ):
26177        self.activity_id = activity_id if activity_id is not None else ''
26178        '''
26179         The unique identifier of the Activity that produced this change to the WorkflowApprover.
26180         May be empty for some system-initiated updates.
26181        '''
26182        self.deleted_at = deleted_at if deleted_at is not None else None
26183        '''
26184         If this WorkflowApprover was deleted, the time it was deleted.
26185        '''
26186        self.timestamp = timestamp if timestamp is not None else None
26187        '''
26188         The time at which the WorkflowApprover state was recorded.
26189        '''
26190        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26191        '''
26192         The complete WorkflowApprover state at this time.
26193        '''
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)
26203    def to_dict(self):
26204        return {
26205            'activity_id': self.activity_id,
26206            'deleted_at': self.deleted_at,
26207            'timestamp': self.timestamp,
26208            'workflow_approver': self.workflow_approver,
26209        }
@classmethod
def from_dict(cls, d)
26211    @classmethod
26212    def from_dict(cls, d):
26213        return cls(
26214            activity_id=d.get('activity_id'),
26215            deleted_at=d.get('deleted_at'),
26216            timestamp=d.get('timestamp'),
26217            workflow_approver=d.get('workflow_approver'),
26218        )
class WorkflowApproversCreateRequest:
26221class WorkflowApproversCreateRequest:
26222    '''
26223         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
26224     workflow approver to be created.
26225    '''
26226    __slots__ = [
26227        'workflow_approver',
26228    ]
26229
26230    def __init__(
26231        self,
26232        workflow_approver=None,
26233    ):
26234        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26235        '''
26236         Parameters to define the new WorkflowApprover.
26237        '''
26238
26239    def __repr__(self):
26240        return '<sdm.WorkflowApproversCreateRequest ' + \
26241            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26242            '>'
26243
26244    def to_dict(self):
26245        return {
26246            'workflow_approver': self.workflow_approver,
26247        }
26248
26249    @classmethod
26250    def from_dict(cls, d):
26251        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)
26230    def __init__(
26231        self,
26232        workflow_approver=None,
26233    ):
26234        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26235        '''
26236         Parameters to define the new WorkflowApprover.
26237        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
26244    def to_dict(self):
26245        return {
26246            'workflow_approver': self.workflow_approver,
26247        }
@classmethod
def from_dict(cls, d)
26249    @classmethod
26250    def from_dict(cls, d):
26251        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
26254class WorkflowApproversCreateResponse:
26255    '''
26256         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
26257    '''
26258    __slots__ = [
26259        'rate_limit',
26260        'workflow_approver',
26261    ]
26262
26263    def __init__(
26264        self,
26265        rate_limit=None,
26266        workflow_approver=None,
26267    ):
26268        self.rate_limit = rate_limit if rate_limit is not None else None
26269        '''
26270         Rate limit information.
26271        '''
26272        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26273        '''
26274         The created workflow approver.
26275        '''
26276
26277    def __repr__(self):
26278        return '<sdm.WorkflowApproversCreateResponse ' + \
26279            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26280            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
26281            '>'
26282
26283    def to_dict(self):
26284        return {
26285            'rate_limit': self.rate_limit,
26286            'workflow_approver': self.workflow_approver,
26287        }
26288
26289    @classmethod
26290    def from_dict(cls, d):
26291        return cls(
26292            rate_limit=d.get('rate_limit'),
26293            workflow_approver=d.get('workflow_approver'),
26294        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
26263    def __init__(
26264        self,
26265        rate_limit=None,
26266        workflow_approver=None,
26267    ):
26268        self.rate_limit = rate_limit if rate_limit is not None else None
26269        '''
26270         Rate limit information.
26271        '''
26272        self.workflow_approver = workflow_approver if workflow_approver is not None else None
26273        '''
26274         The created workflow approver.
26275        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
26283    def to_dict(self):
26284        return {
26285            'rate_limit': self.rate_limit,
26286            'workflow_approver': self.workflow_approver,
26287        }
@classmethod
def from_dict(cls, d)
26289    @classmethod
26290    def from_dict(cls, d):
26291        return cls(
26292            rate_limit=d.get('rate_limit'),
26293            workflow_approver=d.get('workflow_approver'),
26294        )
class WorkflowApproversDeleteRequest:
26297class WorkflowApproversDeleteRequest:
26298    '''
26299         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
26300    '''
26301    __slots__ = [
26302        'id',
26303    ]
26304
26305    def __init__(
26306        self,
26307        id=None,
26308    ):
26309        self.id = id if id is not None else ''
26310        '''
26311         The unique identifier of the WorkflowApprover to delete.
26312        '''
26313
26314    def __repr__(self):
26315        return '<sdm.WorkflowApproversDeleteRequest ' + \
26316            'id: ' + repr(self.id) + ' ' +\
26317            '>'
26318
26319    def to_dict(self):
26320        return {
26321            'id': self.id,
26322        }
26323
26324    @classmethod
26325    def from_dict(cls, d):
26326        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
26305    def __init__(
26306        self,
26307        id=None,
26308    ):
26309        self.id = id if id is not None else ''
26310        '''
26311         The unique identifier of the WorkflowApprover to delete.
26312        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
26319    def to_dict(self):
26320        return {
26321            'id': self.id,
26322        }
@classmethod
def from_dict(cls, d)
26324    @classmethod
26325    def from_dict(cls, d):
26326        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
26329class WorkflowApproversDeleteResponse:
26330    '''
26331         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
26332    '''
26333    __slots__ = [
26334        'rate_limit',
26335    ]
26336
26337    def __init__(
26338        self,
26339        rate_limit=None,
26340    ):
26341        self.rate_limit = rate_limit if rate_limit is not None else None
26342        '''
26343         Rate limit information.
26344        '''
26345
26346    def __repr__(self):
26347        return '<sdm.WorkflowApproversDeleteResponse ' + \
26348            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26349            '>'
26350
26351    def to_dict(self):
26352        return {
26353            'rate_limit': self.rate_limit,
26354        }
26355
26356    @classmethod
26357    def from_dict(cls, d):
26358        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
26337    def __init__(
26338        self,
26339        rate_limit=None,
26340    ):
26341        self.rate_limit = rate_limit if rate_limit is not None else None
26342        '''
26343         Rate limit information.
26344        '''
rate_limit

Rate limit information.

def to_dict(self)
26351    def to_dict(self):
26352        return {
26353            'rate_limit': self.rate_limit,
26354        }
@classmethod
def from_dict(cls, d)
26356    @classmethod
26357    def from_dict(cls, d):
26358        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
26361class WorkflowApproversListRequest:
26362    '''
26363         WorkflowApproversListRequest specifies criteria for retrieving a list of
26364     WorkflowApprover records
26365    '''
26366    __slots__ = [
26367        'filter',
26368    ]
26369
26370    def __init__(
26371        self,
26372        filter=None,
26373    ):
26374        self.filter = filter if filter is not None else ''
26375        '''
26376         A human-readable filter query string.
26377        '''
26378
26379    def __repr__(self):
26380        return '<sdm.WorkflowApproversListRequest ' + \
26381            'filter: ' + repr(self.filter) + ' ' +\
26382            '>'
26383
26384    def to_dict(self):
26385        return {
26386            'filter': self.filter,
26387        }
26388
26389    @classmethod
26390    def from_dict(cls, d):
26391        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
26370    def __init__(
26371        self,
26372        filter=None,
26373    ):
26374        self.filter = filter if filter is not None else ''
26375        '''
26376         A human-readable filter query string.
26377        '''
filter

A human-readable filter query string.

def to_dict(self)
26384    def to_dict(self):
26385        return {
26386            'filter': self.filter,
26387        }
@classmethod
def from_dict(cls, d)
26389    @classmethod
26390    def from_dict(cls, d):
26391        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
26394class WorkflowApproversListResponse:
26395    '''
26396         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
26397     the criteria of a WorkflowApproversListRequest.
26398    '''
26399    __slots__ = [
26400        'rate_limit',
26401    ]
26402
26403    def __init__(
26404        self,
26405        rate_limit=None,
26406    ):
26407        self.rate_limit = rate_limit if rate_limit is not None else None
26408        '''
26409         Rate limit information.
26410        '''
26411
26412    def __repr__(self):
26413        return '<sdm.WorkflowApproversListResponse ' + \
26414            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26415            '>'
26416
26417    def to_dict(self):
26418        return {
26419            'rate_limit': self.rate_limit,
26420        }
26421
26422    @classmethod
26423    def from_dict(cls, d):
26424        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)
26403    def __init__(
26404        self,
26405        rate_limit=None,
26406    ):
26407        self.rate_limit = rate_limit if rate_limit is not None else None
26408        '''
26409         Rate limit information.
26410        '''
rate_limit

Rate limit information.

def to_dict(self)
26417    def to_dict(self):
26418        return {
26419            'rate_limit': self.rate_limit,
26420        }
@classmethod
def from_dict(cls, d)
26422    @classmethod
26423    def from_dict(cls, d):
26424        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowAssignment:
26427class WorkflowAssignment:
26428    '''
26429         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
26430     access to via the workflow.
26431    '''
26432    __slots__ = [
26433        'resource_id',
26434        'workflow_id',
26435    ]
26436
26437    def __init__(
26438        self,
26439        resource_id=None,
26440        workflow_id=None,
26441    ):
26442        self.resource_id = resource_id if resource_id is not None else ''
26443        '''
26444         The resource id.
26445        '''
26446        self.workflow_id = workflow_id if workflow_id is not None else ''
26447        '''
26448         The workflow id.
26449        '''
26450
26451    def __repr__(self):
26452        return '<sdm.WorkflowAssignment ' + \
26453            'resource_id: ' + repr(self.resource_id) + ' ' +\
26454            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26455            '>'
26456
26457    def to_dict(self):
26458        return {
26459            'resource_id': self.resource_id,
26460            'workflow_id': self.workflow_id,
26461        }
26462
26463    @classmethod
26464    def from_dict(cls, d):
26465        return cls(
26466            resource_id=d.get('resource_id'),
26467            workflow_id=d.get('workflow_id'),
26468        )

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)
26437    def __init__(
26438        self,
26439        resource_id=None,
26440        workflow_id=None,
26441    ):
26442        self.resource_id = resource_id if resource_id is not None else ''
26443        '''
26444         The resource id.
26445        '''
26446        self.workflow_id = workflow_id if workflow_id is not None else ''
26447        '''
26448         The workflow id.
26449        '''
resource_id

The resource id.

workflow_id

The workflow id.

def to_dict(self)
26457    def to_dict(self):
26458        return {
26459            'resource_id': self.resource_id,
26460            'workflow_id': self.workflow_id,
26461        }
@classmethod
def from_dict(cls, d)
26463    @classmethod
26464    def from_dict(cls, d):
26465        return cls(
26466            resource_id=d.get('resource_id'),
26467            workflow_id=d.get('workflow_id'),
26468        )
class WorkflowAssignmentHistory:
26471class WorkflowAssignmentHistory:
26472    '''
26473         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
26474    '''
26475    __slots__ = [
26476        'activity_id',
26477        'deleted_at',
26478        'timestamp',
26479        'workflow_assignment',
26480    ]
26481
26482    def __init__(
26483        self,
26484        activity_id=None,
26485        deleted_at=None,
26486        timestamp=None,
26487        workflow_assignment=None,
26488    ):
26489        self.activity_id = activity_id if activity_id is not None else ''
26490        '''
26491         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
26492         May be empty for some system-initiated updates.
26493        '''
26494        self.deleted_at = deleted_at if deleted_at is not None else None
26495        '''
26496         If this WorkflowAssignment was deleted, the time it was deleted.
26497        '''
26498        self.timestamp = timestamp if timestamp is not None else None
26499        '''
26500         The time at which the WorkflowAssignment state was recorded.
26501        '''
26502        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
26503        '''
26504         The complete WorkflowAssignment state at this time.
26505        '''
26506
26507    def __repr__(self):
26508        return '<sdm.WorkflowAssignmentHistory ' + \
26509            'activity_id: ' + repr(self.activity_id) + ' ' +\
26510            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26511            'timestamp: ' + repr(self.timestamp) + ' ' +\
26512            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
26513            '>'
26514
26515    def to_dict(self):
26516        return {
26517            'activity_id': self.activity_id,
26518            'deleted_at': self.deleted_at,
26519            'timestamp': self.timestamp,
26520            'workflow_assignment': self.workflow_assignment,
26521        }
26522
26523    @classmethod
26524    def from_dict(cls, d):
26525        return cls(
26526            activity_id=d.get('activity_id'),
26527            deleted_at=d.get('deleted_at'),
26528            timestamp=d.get('timestamp'),
26529            workflow_assignment=d.get('workflow_assignment'),
26530        )

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

WorkflowAssignmentHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_assignment=None)
26482    def __init__(
26483        self,
26484        activity_id=None,
26485        deleted_at=None,
26486        timestamp=None,
26487        workflow_assignment=None,
26488    ):
26489        self.activity_id = activity_id if activity_id is not None else ''
26490        '''
26491         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
26492         May be empty for some system-initiated updates.
26493        '''
26494        self.deleted_at = deleted_at if deleted_at is not None else None
26495        '''
26496         If this WorkflowAssignment was deleted, the time it was deleted.
26497        '''
26498        self.timestamp = timestamp if timestamp is not None else None
26499        '''
26500         The time at which the WorkflowAssignment state was recorded.
26501        '''
26502        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
26503        '''
26504         The complete WorkflowAssignment state at this time.
26505        '''
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)
26515    def to_dict(self):
26516        return {
26517            'activity_id': self.activity_id,
26518            'deleted_at': self.deleted_at,
26519            'timestamp': self.timestamp,
26520            'workflow_assignment': self.workflow_assignment,
26521        }
@classmethod
def from_dict(cls, d)
26523    @classmethod
26524    def from_dict(cls, d):
26525        return cls(
26526            activity_id=d.get('activity_id'),
26527            deleted_at=d.get('deleted_at'),
26528            timestamp=d.get('timestamp'),
26529            workflow_assignment=d.get('workflow_assignment'),
26530        )
class WorkflowAssignmentsListRequest:
26533class WorkflowAssignmentsListRequest:
26534    '''
26535         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
26536     WorkflowAssignment records
26537    '''
26538    __slots__ = [
26539        'filter',
26540    ]
26541
26542    def __init__(
26543        self,
26544        filter=None,
26545    ):
26546        self.filter = filter if filter is not None else ''
26547        '''
26548         A human-readable filter query string.
26549        '''
26550
26551    def __repr__(self):
26552        return '<sdm.WorkflowAssignmentsListRequest ' + \
26553            'filter: ' + repr(self.filter) + ' ' +\
26554            '>'
26555
26556    def to_dict(self):
26557        return {
26558            'filter': self.filter,
26559        }
26560
26561    @classmethod
26562    def from_dict(cls, d):
26563        return cls(filter=d.get('filter'), )

WorkflowAssignmentsListRequest specifies criteria for retrieving a list of WorkflowAssignment records

WorkflowAssignmentsListRequest(filter=None)
26542    def __init__(
26543        self,
26544        filter=None,
26545    ):
26546        self.filter = filter if filter is not None else ''
26547        '''
26548         A human-readable filter query string.
26549        '''
filter

A human-readable filter query string.

def to_dict(self)
26556    def to_dict(self):
26557        return {
26558            'filter': self.filter,
26559        }
@classmethod
def from_dict(cls, d)
26561    @classmethod
26562    def from_dict(cls, d):
26563        return cls(filter=d.get('filter'), )
class WorkflowAssignmentsListResponse:
26566class WorkflowAssignmentsListResponse:
26567    '''
26568         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
26569     the criteria of a WorkflowAssignmentsListRequest.
26570    '''
26571    __slots__ = [
26572        'rate_limit',
26573    ]
26574
26575    def __init__(
26576        self,
26577        rate_limit=None,
26578    ):
26579        self.rate_limit = rate_limit if rate_limit is not None else None
26580        '''
26581         Rate limit information.
26582        '''
26583
26584    def __repr__(self):
26585        return '<sdm.WorkflowAssignmentsListResponse ' + \
26586            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26587            '>'
26588
26589    def to_dict(self):
26590        return {
26591            'rate_limit': self.rate_limit,
26592        }
26593
26594    @classmethod
26595    def from_dict(cls, d):
26596        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)
26575    def __init__(
26576        self,
26577        rate_limit=None,
26578    ):
26579        self.rate_limit = rate_limit if rate_limit is not None else None
26580        '''
26581         Rate limit information.
26582        '''
rate_limit

Rate limit information.

def to_dict(self)
26589    def to_dict(self):
26590        return {
26591            'rate_limit': self.rate_limit,
26592        }
@classmethod
def from_dict(cls, d)
26594    @classmethod
26595    def from_dict(cls, d):
26596        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
26599class WorkflowCreateResponse:
26600    '''
26601         WorkflowCreateResponse reports how the Workflow was created in the system.
26602    '''
26603    __slots__ = [
26604        'rate_limit',
26605        'workflow',
26606    ]
26607
26608    def __init__(
26609        self,
26610        rate_limit=None,
26611        workflow=None,
26612    ):
26613        self.rate_limit = rate_limit if rate_limit is not None else None
26614        '''
26615         Rate limit information.
26616        '''
26617        self.workflow = workflow if workflow is not None else None
26618        '''
26619         The created workflow.
26620        '''
26621
26622    def __repr__(self):
26623        return '<sdm.WorkflowCreateResponse ' + \
26624            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26625            'workflow: ' + repr(self.workflow) + ' ' +\
26626            '>'
26627
26628    def to_dict(self):
26629        return {
26630            'rate_limit': self.rate_limit,
26631            'workflow': self.workflow,
26632        }
26633
26634    @classmethod
26635    def from_dict(cls, d):
26636        return cls(
26637            rate_limit=d.get('rate_limit'),
26638            workflow=d.get('workflow'),
26639        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
26608    def __init__(
26609        self,
26610        rate_limit=None,
26611        workflow=None,
26612    ):
26613        self.rate_limit = rate_limit if rate_limit is not None else None
26614        '''
26615         Rate limit information.
26616        '''
26617        self.workflow = workflow if workflow is not None else None
26618        '''
26619         The created workflow.
26620        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
26628    def to_dict(self):
26629        return {
26630            'rate_limit': self.rate_limit,
26631            'workflow': self.workflow,
26632        }
@classmethod
def from_dict(cls, d)
26634    @classmethod
26635    def from_dict(cls, d):
26636        return cls(
26637            rate_limit=d.get('rate_limit'),
26638            workflow=d.get('workflow'),
26639        )
class WorkflowDeleteResponse:
26642class WorkflowDeleteResponse:
26643    '''
26644         WorkflowDeleteResponse returns information about a Workflow that was deleted.
26645    '''
26646    __slots__ = [
26647        'id',
26648        'rate_limit',
26649    ]
26650
26651    def __init__(
26652        self,
26653        id=None,
26654        rate_limit=None,
26655    ):
26656        self.id = id if id is not None else ''
26657        '''
26658         The deleted workflow id.
26659        '''
26660        self.rate_limit = rate_limit if rate_limit is not None else None
26661        '''
26662         Rate limit information.
26663        '''
26664
26665    def __repr__(self):
26666        return '<sdm.WorkflowDeleteResponse ' + \
26667            'id: ' + repr(self.id) + ' ' +\
26668            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26669            '>'
26670
26671    def to_dict(self):
26672        return {
26673            'id': self.id,
26674            'rate_limit': self.rate_limit,
26675        }
26676
26677    @classmethod
26678    def from_dict(cls, d):
26679        return cls(
26680            id=d.get('id'),
26681            rate_limit=d.get('rate_limit'),
26682        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
26651    def __init__(
26652        self,
26653        id=None,
26654        rate_limit=None,
26655    ):
26656        self.id = id if id is not None else ''
26657        '''
26658         The deleted workflow id.
26659        '''
26660        self.rate_limit = rate_limit if rate_limit is not None else None
26661        '''
26662         Rate limit information.
26663        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
26671    def to_dict(self):
26672        return {
26673            'id': self.id,
26674            'rate_limit': self.rate_limit,
26675        }
@classmethod
def from_dict(cls, d)
26677    @classmethod
26678    def from_dict(cls, d):
26679        return cls(
26680            id=d.get('id'),
26681            rate_limit=d.get('rate_limit'),
26682        )
class WorkflowGetResponse:
26685class WorkflowGetResponse:
26686    '''
26687         WorkflowGetResponse returns a requested Workflow.
26688    '''
26689    __slots__ = [
26690        'meta',
26691        'rate_limit',
26692        'workflow',
26693    ]
26694
26695    def __init__(
26696        self,
26697        meta=None,
26698        rate_limit=None,
26699        workflow=None,
26700    ):
26701        self.meta = meta if meta is not None else None
26702        '''
26703         Reserved for future use.
26704        '''
26705        self.rate_limit = rate_limit if rate_limit is not None else None
26706        '''
26707         Rate limit information.
26708        '''
26709        self.workflow = workflow if workflow is not None else None
26710        '''
26711         The requested Workflow.
26712        '''
26713
26714    def __repr__(self):
26715        return '<sdm.WorkflowGetResponse ' + \
26716            'meta: ' + repr(self.meta) + ' ' +\
26717            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26718            'workflow: ' + repr(self.workflow) + ' ' +\
26719            '>'
26720
26721    def to_dict(self):
26722        return {
26723            'meta': self.meta,
26724            'rate_limit': self.rate_limit,
26725            'workflow': self.workflow,
26726        }
26727
26728    @classmethod
26729    def from_dict(cls, d):
26730        return cls(
26731            meta=d.get('meta'),
26732            rate_limit=d.get('rate_limit'),
26733            workflow=d.get('workflow'),
26734        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
26695    def __init__(
26696        self,
26697        meta=None,
26698        rate_limit=None,
26699        workflow=None,
26700    ):
26701        self.meta = meta if meta is not None else None
26702        '''
26703         Reserved for future use.
26704        '''
26705        self.rate_limit = rate_limit if rate_limit is not None else None
26706        '''
26707         Rate limit information.
26708        '''
26709        self.workflow = workflow if workflow is not None else None
26710        '''
26711         The requested Workflow.
26712        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
26721    def to_dict(self):
26722        return {
26723            'meta': self.meta,
26724            'rate_limit': self.rate_limit,
26725            'workflow': self.workflow,
26726        }
@classmethod
def from_dict(cls, d)
26728    @classmethod
26729    def from_dict(cls, d):
26730        return cls(
26731            meta=d.get('meta'),
26732            rate_limit=d.get('rate_limit'),
26733            workflow=d.get('workflow'),
26734        )
class WorkflowHistory:
26737class WorkflowHistory:
26738    '''
26739         WorkflowsHistory provides records of all changes to the state of a Workflow.
26740    '''
26741    __slots__ = [
26742        'activity_id',
26743        'deleted_at',
26744        'timestamp',
26745        'workflow',
26746    ]
26747
26748    def __init__(
26749        self,
26750        activity_id=None,
26751        deleted_at=None,
26752        timestamp=None,
26753        workflow=None,
26754    ):
26755        self.activity_id = activity_id if activity_id is not None else ''
26756        '''
26757         The unique identifier of the Activity that produced this change to the Workflow.
26758         May be empty for some system-initiated updates.
26759        '''
26760        self.deleted_at = deleted_at if deleted_at is not None else None
26761        '''
26762         If this Workflow was deleted, the time it was deleted.
26763        '''
26764        self.timestamp = timestamp if timestamp is not None else None
26765        '''
26766         The time at which the Workflow state was recorded.
26767        '''
26768        self.workflow = workflow if workflow is not None else None
26769        '''
26770         The complete Workflow state at this time.
26771        '''
26772
26773    def __repr__(self):
26774        return '<sdm.WorkflowHistory ' + \
26775            'activity_id: ' + repr(self.activity_id) + ' ' +\
26776            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26777            'timestamp: ' + repr(self.timestamp) + ' ' +\
26778            'workflow: ' + repr(self.workflow) + ' ' +\
26779            '>'
26780
26781    def to_dict(self):
26782        return {
26783            'activity_id': self.activity_id,
26784            'deleted_at': self.deleted_at,
26785            'timestamp': self.timestamp,
26786            'workflow': self.workflow,
26787        }
26788
26789    @classmethod
26790    def from_dict(cls, d):
26791        return cls(
26792            activity_id=d.get('activity_id'),
26793            deleted_at=d.get('deleted_at'),
26794            timestamp=d.get('timestamp'),
26795            workflow=d.get('workflow'),
26796        )

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

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
26748    def __init__(
26749        self,
26750        activity_id=None,
26751        deleted_at=None,
26752        timestamp=None,
26753        workflow=None,
26754    ):
26755        self.activity_id = activity_id if activity_id is not None else ''
26756        '''
26757         The unique identifier of the Activity that produced this change to the Workflow.
26758         May be empty for some system-initiated updates.
26759        '''
26760        self.deleted_at = deleted_at if deleted_at is not None else None
26761        '''
26762         If this Workflow was deleted, the time it was deleted.
26763        '''
26764        self.timestamp = timestamp if timestamp is not None else None
26765        '''
26766         The time at which the Workflow state was recorded.
26767        '''
26768        self.workflow = workflow if workflow is not None else None
26769        '''
26770         The complete Workflow state at this time.
26771        '''
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)
26781    def to_dict(self):
26782        return {
26783            'activity_id': self.activity_id,
26784            'deleted_at': self.deleted_at,
26785            'timestamp': self.timestamp,
26786            'workflow': self.workflow,
26787        }
@classmethod
def from_dict(cls, d)
26789    @classmethod
26790    def from_dict(cls, d):
26791        return cls(
26792            activity_id=d.get('activity_id'),
26793            deleted_at=d.get('deleted_at'),
26794            timestamp=d.get('timestamp'),
26795            workflow=d.get('workflow'),
26796        )
class WorkflowListResponse:
26799class WorkflowListResponse:
26800    '''
26801         WorkflowListResponse returns a list of Workflow records that meet
26802     the criteria of a WorkflowListRequest.
26803    '''
26804    __slots__ = [
26805        'rate_limit',
26806    ]
26807
26808    def __init__(
26809        self,
26810        rate_limit=None,
26811    ):
26812        self.rate_limit = rate_limit if rate_limit is not None else None
26813        '''
26814         Rate limit information.
26815        '''
26816
26817    def __repr__(self):
26818        return '<sdm.WorkflowListResponse ' + \
26819            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26820            '>'
26821
26822    def to_dict(self):
26823        return {
26824            'rate_limit': self.rate_limit,
26825        }
26826
26827    @classmethod
26828    def from_dict(cls, d):
26829        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)
26808    def __init__(
26809        self,
26810        rate_limit=None,
26811    ):
26812        self.rate_limit = rate_limit if rate_limit is not None else None
26813        '''
26814         Rate limit information.
26815        '''
rate_limit

Rate limit information.

def to_dict(self)
26822    def to_dict(self):
26823        return {
26824            'rate_limit': self.rate_limit,
26825        }
@classmethod
def from_dict(cls, d)
26827    @classmethod
26828    def from_dict(cls, d):
26829        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
26832class WorkflowRole:
26833    '''
26834         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
26835     to request access to a resource via the workflow.
26836    '''
26837    __slots__ = [
26838        'id',
26839        'role_id',
26840        'workflow_id',
26841    ]
26842
26843    def __init__(
26844        self,
26845        id=None,
26846        role_id=None,
26847        workflow_id=None,
26848    ):
26849        self.id = id if id is not None else ''
26850        '''
26851         Unique identifier of the WorkflowRole.
26852        '''
26853        self.role_id = role_id if role_id is not None else ''
26854        '''
26855         The role id.
26856        '''
26857        self.workflow_id = workflow_id if workflow_id is not None else ''
26858        '''
26859         The workflow id.
26860        '''
26861
26862    def __repr__(self):
26863        return '<sdm.WorkflowRole ' + \
26864            'id: ' + repr(self.id) + ' ' +\
26865            'role_id: ' + repr(self.role_id) + ' ' +\
26866            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
26867            '>'
26868
26869    def to_dict(self):
26870        return {
26871            'id': self.id,
26872            'role_id': self.role_id,
26873            'workflow_id': self.workflow_id,
26874        }
26875
26876    @classmethod
26877    def from_dict(cls, d):
26878        return cls(
26879            id=d.get('id'),
26880            role_id=d.get('role_id'),
26881            workflow_id=d.get('workflow_id'),
26882        )

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)
26843    def __init__(
26844        self,
26845        id=None,
26846        role_id=None,
26847        workflow_id=None,
26848    ):
26849        self.id = id if id is not None else ''
26850        '''
26851         Unique identifier of the WorkflowRole.
26852        '''
26853        self.role_id = role_id if role_id is not None else ''
26854        '''
26855         The role id.
26856        '''
26857        self.workflow_id = workflow_id if workflow_id is not None else ''
26858        '''
26859         The workflow id.
26860        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
26869    def to_dict(self):
26870        return {
26871            'id': self.id,
26872            'role_id': self.role_id,
26873            'workflow_id': self.workflow_id,
26874        }
@classmethod
def from_dict(cls, d)
26876    @classmethod
26877    def from_dict(cls, d):
26878        return cls(
26879            id=d.get('id'),
26880            role_id=d.get('role_id'),
26881            workflow_id=d.get('workflow_id'),
26882        )
class WorkflowRoleGetResponse:
26885class WorkflowRoleGetResponse:
26886    '''
26887         WorkflowRoleGetResponse returns a requested WorkflowRole.
26888    '''
26889    __slots__ = [
26890        'meta',
26891        'rate_limit',
26892        'workflow_role',
26893    ]
26894
26895    def __init__(
26896        self,
26897        meta=None,
26898        rate_limit=None,
26899        workflow_role=None,
26900    ):
26901        self.meta = meta if meta is not None else None
26902        '''
26903         Reserved for future use.
26904        '''
26905        self.rate_limit = rate_limit if rate_limit is not None else None
26906        '''
26907         Rate limit information.
26908        '''
26909        self.workflow_role = workflow_role if workflow_role is not None else None
26910        '''
26911         The requested WorkflowRole.
26912        '''
26913
26914    def __repr__(self):
26915        return '<sdm.WorkflowRoleGetResponse ' + \
26916            'meta: ' + repr(self.meta) + ' ' +\
26917            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
26918            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
26919            '>'
26920
26921    def to_dict(self):
26922        return {
26923            'meta': self.meta,
26924            'rate_limit': self.rate_limit,
26925            'workflow_role': self.workflow_role,
26926        }
26927
26928    @classmethod
26929    def from_dict(cls, d):
26930        return cls(
26931            meta=d.get('meta'),
26932            rate_limit=d.get('rate_limit'),
26933            workflow_role=d.get('workflow_role'),
26934        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
26895    def __init__(
26896        self,
26897        meta=None,
26898        rate_limit=None,
26899        workflow_role=None,
26900    ):
26901        self.meta = meta if meta is not None else None
26902        '''
26903         Reserved for future use.
26904        '''
26905        self.rate_limit = rate_limit if rate_limit is not None else None
26906        '''
26907         Rate limit information.
26908        '''
26909        self.workflow_role = workflow_role if workflow_role is not None else None
26910        '''
26911         The requested WorkflowRole.
26912        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
26921    def to_dict(self):
26922        return {
26923            'meta': self.meta,
26924            'rate_limit': self.rate_limit,
26925            'workflow_role': self.workflow_role,
26926        }
@classmethod
def from_dict(cls, d)
26928    @classmethod
26929    def from_dict(cls, d):
26930        return cls(
26931            meta=d.get('meta'),
26932            rate_limit=d.get('rate_limit'),
26933            workflow_role=d.get('workflow_role'),
26934        )
class WorkflowRoleHistory:
26937class WorkflowRoleHistory:
26938    '''
26939         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
26940    '''
26941    __slots__ = [
26942        'activity_id',
26943        'deleted_at',
26944        'timestamp',
26945        'workflow_role',
26946    ]
26947
26948    def __init__(
26949        self,
26950        activity_id=None,
26951        deleted_at=None,
26952        timestamp=None,
26953        workflow_role=None,
26954    ):
26955        self.activity_id = activity_id if activity_id is not None else ''
26956        '''
26957         The unique identifier of the Activity that produced this change to the WorkflowRole.
26958         May be empty for some system-initiated updates.
26959        '''
26960        self.deleted_at = deleted_at if deleted_at is not None else None
26961        '''
26962         If this WorkflowRole was deleted, the time it was deleted.
26963        '''
26964        self.timestamp = timestamp if timestamp is not None else None
26965        '''
26966         The time at which the WorkflowRole state was recorded.
26967        '''
26968        self.workflow_role = workflow_role if workflow_role is not None else None
26969        '''
26970         The complete WorkflowRole state at this time.
26971        '''
26972
26973    def __repr__(self):
26974        return '<sdm.WorkflowRoleHistory ' + \
26975            'activity_id: ' + repr(self.activity_id) + ' ' +\
26976            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
26977            'timestamp: ' + repr(self.timestamp) + ' ' +\
26978            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
26979            '>'
26980
26981    def to_dict(self):
26982        return {
26983            'activity_id': self.activity_id,
26984            'deleted_at': self.deleted_at,
26985            'timestamp': self.timestamp,
26986            'workflow_role': self.workflow_role,
26987        }
26988
26989    @classmethod
26990    def from_dict(cls, d):
26991        return cls(
26992            activity_id=d.get('activity_id'),
26993            deleted_at=d.get('deleted_at'),
26994            timestamp=d.get('timestamp'),
26995            workflow_role=d.get('workflow_role'),
26996        )

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

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
26948    def __init__(
26949        self,
26950        activity_id=None,
26951        deleted_at=None,
26952        timestamp=None,
26953        workflow_role=None,
26954    ):
26955        self.activity_id = activity_id if activity_id is not None else ''
26956        '''
26957         The unique identifier of the Activity that produced this change to the WorkflowRole.
26958         May be empty for some system-initiated updates.
26959        '''
26960        self.deleted_at = deleted_at if deleted_at is not None else None
26961        '''
26962         If this WorkflowRole was deleted, the time it was deleted.
26963        '''
26964        self.timestamp = timestamp if timestamp is not None else None
26965        '''
26966         The time at which the WorkflowRole state was recorded.
26967        '''
26968        self.workflow_role = workflow_role if workflow_role is not None else None
26969        '''
26970         The complete WorkflowRole state at this time.
26971        '''
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)
26981    def to_dict(self):
26982        return {
26983            'activity_id': self.activity_id,
26984            'deleted_at': self.deleted_at,
26985            'timestamp': self.timestamp,
26986            'workflow_role': self.workflow_role,
26987        }
@classmethod
def from_dict(cls, d)
26989    @classmethod
26990    def from_dict(cls, d):
26991        return cls(
26992            activity_id=d.get('activity_id'),
26993            deleted_at=d.get('deleted_at'),
26994            timestamp=d.get('timestamp'),
26995            workflow_role=d.get('workflow_role'),
26996        )
class WorkflowRolesCreateRequest:
26999class WorkflowRolesCreateRequest:
27000    '''
27001         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
27002     workflow role to be created.
27003    '''
27004    __slots__ = [
27005        'workflow_role',
27006    ]
27007
27008    def __init__(
27009        self,
27010        workflow_role=None,
27011    ):
27012        self.workflow_role = workflow_role if workflow_role is not None else None
27013        '''
27014         Parameters to define the new WorkflowRole.
27015        '''
27016
27017    def __repr__(self):
27018        return '<sdm.WorkflowRolesCreateRequest ' + \
27019            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
27020            '>'
27021
27022    def to_dict(self):
27023        return {
27024            'workflow_role': self.workflow_role,
27025        }
27026
27027    @classmethod
27028    def from_dict(cls, d):
27029        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)
27008    def __init__(
27009        self,
27010        workflow_role=None,
27011    ):
27012        self.workflow_role = workflow_role if workflow_role is not None else None
27013        '''
27014         Parameters to define the new WorkflowRole.
27015        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
27022    def to_dict(self):
27023        return {
27024            'workflow_role': self.workflow_role,
27025        }
@classmethod
def from_dict(cls, d)
27027    @classmethod
27028    def from_dict(cls, d):
27029        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
27032class WorkflowRolesCreateResponse:
27033    '''
27034         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
27035    '''
27036    __slots__ = [
27037        'rate_limit',
27038        'workflow_role',
27039    ]
27040
27041    def __init__(
27042        self,
27043        rate_limit=None,
27044        workflow_role=None,
27045    ):
27046        self.rate_limit = rate_limit if rate_limit is not None else None
27047        '''
27048         Rate limit information.
27049        '''
27050        self.workflow_role = workflow_role if workflow_role is not None else None
27051        '''
27052         The created workflow role.
27053        '''
27054
27055    def __repr__(self):
27056        return '<sdm.WorkflowRolesCreateResponse ' + \
27057            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27058            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
27059            '>'
27060
27061    def to_dict(self):
27062        return {
27063            'rate_limit': self.rate_limit,
27064            'workflow_role': self.workflow_role,
27065        }
27066
27067    @classmethod
27068    def from_dict(cls, d):
27069        return cls(
27070            rate_limit=d.get('rate_limit'),
27071            workflow_role=d.get('workflow_role'),
27072        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
27041    def __init__(
27042        self,
27043        rate_limit=None,
27044        workflow_role=None,
27045    ):
27046        self.rate_limit = rate_limit if rate_limit is not None else None
27047        '''
27048         Rate limit information.
27049        '''
27050        self.workflow_role = workflow_role if workflow_role is not None else None
27051        '''
27052         The created workflow role.
27053        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
27061    def to_dict(self):
27062        return {
27063            'rate_limit': self.rate_limit,
27064            'workflow_role': self.workflow_role,
27065        }
@classmethod
def from_dict(cls, d)
27067    @classmethod
27068    def from_dict(cls, d):
27069        return cls(
27070            rate_limit=d.get('rate_limit'),
27071            workflow_role=d.get('workflow_role'),
27072        )
class WorkflowRolesDeleteRequest:
27075class WorkflowRolesDeleteRequest:
27076    '''
27077         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
27078    '''
27079    __slots__ = [
27080        'id',
27081    ]
27082
27083    def __init__(
27084        self,
27085        id=None,
27086    ):
27087        self.id = id if id is not None else ''
27088        '''
27089         The unique identifier of the WorkflowRole to delete.
27090        '''
27091
27092    def __repr__(self):
27093        return '<sdm.WorkflowRolesDeleteRequest ' + \
27094            'id: ' + repr(self.id) + ' ' +\
27095            '>'
27096
27097    def to_dict(self):
27098        return {
27099            'id': self.id,
27100        }
27101
27102    @classmethod
27103    def from_dict(cls, d):
27104        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
27083    def __init__(
27084        self,
27085        id=None,
27086    ):
27087        self.id = id if id is not None else ''
27088        '''
27089         The unique identifier of the WorkflowRole to delete.
27090        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
27097    def to_dict(self):
27098        return {
27099            'id': self.id,
27100        }
@classmethod
def from_dict(cls, d)
27102    @classmethod
27103    def from_dict(cls, d):
27104        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
27107class WorkflowRolesDeleteResponse:
27108    '''
27109         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
27110    '''
27111    __slots__ = [
27112        'rate_limit',
27113    ]
27114
27115    def __init__(
27116        self,
27117        rate_limit=None,
27118    ):
27119        self.rate_limit = rate_limit if rate_limit is not None else None
27120        '''
27121         Rate limit information.
27122        '''
27123
27124    def __repr__(self):
27125        return '<sdm.WorkflowRolesDeleteResponse ' + \
27126            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27127            '>'
27128
27129    def to_dict(self):
27130        return {
27131            'rate_limit': self.rate_limit,
27132        }
27133
27134    @classmethod
27135    def from_dict(cls, d):
27136        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
27115    def __init__(
27116        self,
27117        rate_limit=None,
27118    ):
27119        self.rate_limit = rate_limit if rate_limit is not None else None
27120        '''
27121         Rate limit information.
27122        '''
rate_limit

Rate limit information.

def to_dict(self)
27129    def to_dict(self):
27130        return {
27131            'rate_limit': self.rate_limit,
27132        }
@classmethod
def from_dict(cls, d)
27134    @classmethod
27135    def from_dict(cls, d):
27136        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
27139class WorkflowRolesListRequest:
27140    '''
27141         WorkflowRolesListRequest specifies criteria for retrieving a list of
27142     WorkflowRole records
27143    '''
27144    __slots__ = [
27145        'filter',
27146    ]
27147
27148    def __init__(
27149        self,
27150        filter=None,
27151    ):
27152        self.filter = filter if filter is not None else ''
27153        '''
27154         A human-readable filter query string.
27155        '''
27156
27157    def __repr__(self):
27158        return '<sdm.WorkflowRolesListRequest ' + \
27159            'filter: ' + repr(self.filter) + ' ' +\
27160            '>'
27161
27162    def to_dict(self):
27163        return {
27164            'filter': self.filter,
27165        }
27166
27167    @classmethod
27168    def from_dict(cls, d):
27169        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
27148    def __init__(
27149        self,
27150        filter=None,
27151    ):
27152        self.filter = filter if filter is not None else ''
27153        '''
27154         A human-readable filter query string.
27155        '''
filter

A human-readable filter query string.

def to_dict(self)
27162    def to_dict(self):
27163        return {
27164            'filter': self.filter,
27165        }
@classmethod
def from_dict(cls, d)
27167    @classmethod
27168    def from_dict(cls, d):
27169        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
27172class WorkflowRolesListResponse:
27173    '''
27174         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
27175     the criteria of a WorkflowRolesListRequest.
27176    '''
27177    __slots__ = [
27178        'rate_limit',
27179    ]
27180
27181    def __init__(
27182        self,
27183        rate_limit=None,
27184    ):
27185        self.rate_limit = rate_limit if rate_limit is not None else None
27186        '''
27187         Rate limit information.
27188        '''
27189
27190    def __repr__(self):
27191        return '<sdm.WorkflowRolesListResponse ' + \
27192            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27193            '>'
27194
27195    def to_dict(self):
27196        return {
27197            'rate_limit': self.rate_limit,
27198        }
27199
27200    @classmethod
27201    def from_dict(cls, d):
27202        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)
27181    def __init__(
27182        self,
27183        rate_limit=None,
27184    ):
27185        self.rate_limit = rate_limit if rate_limit is not None else None
27186        '''
27187         Rate limit information.
27188        '''
rate_limit

Rate limit information.

def to_dict(self)
27195    def to_dict(self):
27196        return {
27197            'rate_limit': self.rate_limit,
27198        }
@classmethod
def from_dict(cls, d)
27200    @classmethod
27201    def from_dict(cls, d):
27202        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
27205class WorkflowUpdateResponse:
27206    '''
27207         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
27208     a WorkflowUpdateRequest.
27209    '''
27210    __slots__ = [
27211        'rate_limit',
27212        'workflow',
27213    ]
27214
27215    def __init__(
27216        self,
27217        rate_limit=None,
27218        workflow=None,
27219    ):
27220        self.rate_limit = rate_limit if rate_limit is not None else None
27221        '''
27222         Rate limit information.
27223        '''
27224        self.workflow = workflow if workflow is not None else None
27225        '''
27226         The updated workflow.
27227        '''
27228
27229    def __repr__(self):
27230        return '<sdm.WorkflowUpdateResponse ' + \
27231            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27232            'workflow: ' + repr(self.workflow) + ' ' +\
27233            '>'
27234
27235    def to_dict(self):
27236        return {
27237            'rate_limit': self.rate_limit,
27238            'workflow': self.workflow,
27239        }
27240
27241    @classmethod
27242    def from_dict(cls, d):
27243        return cls(
27244            rate_limit=d.get('rate_limit'),
27245            workflow=d.get('workflow'),
27246        )

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

WorkflowUpdateResponse(rate_limit=None, workflow=None)
27215    def __init__(
27216        self,
27217        rate_limit=None,
27218        workflow=None,
27219    ):
27220        self.rate_limit = rate_limit if rate_limit is not None else None
27221        '''
27222         Rate limit information.
27223        '''
27224        self.workflow = workflow if workflow is not None else None
27225        '''
27226         The updated workflow.
27227        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
27235    def to_dict(self):
27236        return {
27237            'rate_limit': self.rate_limit,
27238            'workflow': self.workflow,
27239        }
@classmethod
def from_dict(cls, d)
27241    @classmethod
27242    def from_dict(cls, d):
27243        return cls(
27244            rate_limit=d.get('rate_limit'),
27245            workflow=d.get('workflow'),
27246        )