strongdm.models

    1# Copyright 2020 StrongDM Inc
    2#
    3# Licensed under the Apache License, Version 2.0 (the "License");
    4# you may not use this file except in compliance with the License.
    5# You may obtain a copy of the License at
    6#
    7#     http://www.apache.org/licenses/LICENSE-2.0
    8#
    9# Unless required by applicable law or agreed to in writing, software
   10# distributed under the License is distributed on an "AS IS" BASIS,
   11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12# See the License for the specific language governing permissions and
   13# limitations under the License.
   14#
   15
   16# Code generated by protogen. DO NOT EDIT.
   17
   18import collections
   19
   20
   21class AKS:
   22    __slots__ = [
   23        'allow_resource_role_bypass',
   24        'bind_interface',
   25        'certificate_authority',
   26        'client_certificate',
   27        'client_key',
   28        'discovery_enabled',
   29        'discovery_username',
   30        'egress_filter',
   31        'healthcheck_namespace',
   32        'healthy',
   33        'hostname',
   34        'id',
   35        'identity_alias_healthcheck_username',
   36        'identity_set_id',
   37        'name',
   38        'port',
   39        'port_override',
   40        'proxy_cluster_id',
   41        'secret_store_id',
   42        'subdomain',
   43        'tags',
   44    ]
   45
   46    def __init__(
   47        self,
   48        allow_resource_role_bypass=None,
   49        bind_interface=None,
   50        certificate_authority=None,
   51        client_certificate=None,
   52        client_key=None,
   53        discovery_enabled=None,
   54        discovery_username=None,
   55        egress_filter=None,
   56        healthcheck_namespace=None,
   57        healthy=None,
   58        hostname=None,
   59        id=None,
   60        identity_alias_healthcheck_username=None,
   61        identity_set_id=None,
   62        name=None,
   63        port=None,
   64        port_override=None,
   65        proxy_cluster_id=None,
   66        secret_store_id=None,
   67        subdomain=None,
   68        tags=None,
   69    ):
   70        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
   71        '''
   72         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
   73         when a resource role is not provided.
   74        '''
   75        self.bind_interface = bind_interface if bind_interface is not None else ''
   76        '''
   77         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
   78        '''
   79        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
   80        '''
   81         The CA to authenticate TLS connections with.
   82        '''
   83        self.client_certificate = client_certificate if client_certificate is not None else ''
   84        '''
   85         The certificate to authenticate TLS connections with.
   86        '''
   87        self.client_key = client_key if client_key is not None else ''
   88        '''
   89         The key to authenticate TLS connections with.
   90        '''
   91        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
   92        '''
   93         If true, configures discovery of a cluster to be run from a node.
   94        '''
   95        self.discovery_username = discovery_username if discovery_username is not None else ''
   96        '''
   97         If a cluster is configured for user impersonation, this is the user to impersonate when
   98         running discovery.
   99        '''
  100        self.egress_filter = egress_filter if egress_filter is not None else ''
  101        '''
  102         A filter applied to the routing logic to pin datasource to nodes.
  103        '''
  104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  105        '''
  106         The path used to check the health of your connection.  Defaults to `default`.
  107        '''
  108        self.healthy = healthy if healthy is not None else False
  109        '''
  110         True if the datasource is reachable and the credentials are valid.
  111        '''
  112        self.hostname = hostname if hostname is not None else ''
  113        '''
  114         The host to dial to initiate a connection from the egress node to this resource.
  115        '''
  116        self.id = id if id is not None else ''
  117        '''
  118         Unique identifier of the Resource.
  119        '''
  120        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  121        '''
  122         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  123        '''
  124        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  125        '''
  126         The ID of the identity set to use for identity connections.
  127        '''
  128        self.name = name if name is not None else ''
  129        '''
  130         Unique human-readable name of the Resource.
  131        '''
  132        self.port = port if port is not None else 0
  133        '''
  134         The port to dial to initiate a connection from the egress node to this resource.
  135        '''
  136        self.port_override = port_override if port_override is not None else 0
  137        '''
  138         The local port used by clients to connect to this resource.
  139        '''
  140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  141        '''
  142         ID of the proxy cluster for this resource, if any.
  143        '''
  144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  145        '''
  146         ID of the secret store containing credentials for this resource, if any.
  147        '''
  148        self.subdomain = subdomain if subdomain is not None else ''
  149        '''
  150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  151        '''
  152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  153        '''
  154         Tags is a map of key, value pairs.
  155        '''
  156
  157    def __repr__(self):
  158        return '<sdm.AKS ' + \
  159            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  160            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  161            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  162            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  163            'client_key: ' + repr(self.client_key) + ' ' +\
  164            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  165            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  166            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  167            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  168            'healthy: ' + repr(self.healthy) + ' ' +\
  169            'hostname: ' + repr(self.hostname) + ' ' +\
  170            'id: ' + repr(self.id) + ' ' +\
  171            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  172            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  173            'name: ' + repr(self.name) + ' ' +\
  174            'port: ' + repr(self.port) + ' ' +\
  175            'port_override: ' + repr(self.port_override) + ' ' +\
  176            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  177            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  178            'subdomain: ' + repr(self.subdomain) + ' ' +\
  179            'tags: ' + repr(self.tags) + ' ' +\
  180            '>'
  181
  182    def to_dict(self):
  183        return {
  184            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  185            'bind_interface': self.bind_interface,
  186            'certificate_authority': self.certificate_authority,
  187            'client_certificate': self.client_certificate,
  188            'client_key': self.client_key,
  189            'discovery_enabled': self.discovery_enabled,
  190            'discovery_username': self.discovery_username,
  191            'egress_filter': self.egress_filter,
  192            'healthcheck_namespace': self.healthcheck_namespace,
  193            'healthy': self.healthy,
  194            'hostname': self.hostname,
  195            'id': self.id,
  196            'identity_alias_healthcheck_username':
  197            self.identity_alias_healthcheck_username,
  198            'identity_set_id': self.identity_set_id,
  199            'name': self.name,
  200            'port': self.port,
  201            'port_override': self.port_override,
  202            'proxy_cluster_id': self.proxy_cluster_id,
  203            'secret_store_id': self.secret_store_id,
  204            'subdomain': self.subdomain,
  205            'tags': self.tags,
  206        }
  207
  208    @classmethod
  209    def from_dict(cls, d):
  210        return cls(
  211            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  212            bind_interface=d.get('bind_interface'),
  213            certificate_authority=d.get('certificate_authority'),
  214            client_certificate=d.get('client_certificate'),
  215            client_key=d.get('client_key'),
  216            discovery_enabled=d.get('discovery_enabled'),
  217            discovery_username=d.get('discovery_username'),
  218            egress_filter=d.get('egress_filter'),
  219            healthcheck_namespace=d.get('healthcheck_namespace'),
  220            healthy=d.get('healthy'),
  221            hostname=d.get('hostname'),
  222            id=d.get('id'),
  223            identity_alias_healthcheck_username=d.get(
  224                'identity_alias_healthcheck_username'),
  225            identity_set_id=d.get('identity_set_id'),
  226            name=d.get('name'),
  227            port=d.get('port'),
  228            port_override=d.get('port_override'),
  229            proxy_cluster_id=d.get('proxy_cluster_id'),
  230            secret_store_id=d.get('secret_store_id'),
  231            subdomain=d.get('subdomain'),
  232            tags=d.get('tags'),
  233        )
  234
  235
  236class AKSBasicAuth:
  237    '''
  238    AKSBasicAuth is currently unstable, and its API may change, or it may be removed,
  239    without a major version bump.
  240    '''
  241    __slots__ = [
  242        'bind_interface',
  243        'egress_filter',
  244        'healthcheck_namespace',
  245        'healthy',
  246        'hostname',
  247        'id',
  248        'name',
  249        'password',
  250        'port',
  251        'port_override',
  252        'proxy_cluster_id',
  253        'secret_store_id',
  254        'subdomain',
  255        'tags',
  256        'username',
  257    ]
  258
  259    def __init__(
  260        self,
  261        bind_interface=None,
  262        egress_filter=None,
  263        healthcheck_namespace=None,
  264        healthy=None,
  265        hostname=None,
  266        id=None,
  267        name=None,
  268        password=None,
  269        port=None,
  270        port_override=None,
  271        proxy_cluster_id=None,
  272        secret_store_id=None,
  273        subdomain=None,
  274        tags=None,
  275        username=None,
  276    ):
  277        self.bind_interface = bind_interface if bind_interface is not None else ''
  278        '''
  279         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  280        '''
  281        self.egress_filter = egress_filter if egress_filter is not None else ''
  282        '''
  283         A filter applied to the routing logic to pin datasource to nodes.
  284        '''
  285        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  286        '''
  287         The path used to check the health of your connection.  Defaults to `default`.
  288        '''
  289        self.healthy = healthy if healthy is not None else False
  290        '''
  291         True if the datasource is reachable and the credentials are valid.
  292        '''
  293        self.hostname = hostname if hostname is not None else ''
  294        '''
  295         The host to dial to initiate a connection from the egress node to this resource.
  296        '''
  297        self.id = id if id is not None else ''
  298        '''
  299         Unique identifier of the Resource.
  300        '''
  301        self.name = name if name is not None else ''
  302        '''
  303         Unique human-readable name of the Resource.
  304        '''
  305        self.password = password if password is not None else ''
  306        '''
  307         The password to authenticate with.
  308        '''
  309        self.port = port if port is not None else 0
  310        '''
  311         The port to dial to initiate a connection from the egress node to this resource.
  312        '''
  313        self.port_override = port_override if port_override is not None else 0
  314        '''
  315         The local port used by clients to connect to this resource.
  316        '''
  317        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  318        '''
  319         ID of the proxy cluster for this resource, if any.
  320        '''
  321        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  322        '''
  323         ID of the secret store containing credentials for this resource, if any.
  324        '''
  325        self.subdomain = subdomain if subdomain is not None else ''
  326        '''
  327         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  328        '''
  329        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  330        '''
  331         Tags is a map of key, value pairs.
  332        '''
  333        self.username = username if username is not None else ''
  334        '''
  335         The username to authenticate with.
  336        '''
  337
  338    def __repr__(self):
  339        return '<sdm.AKSBasicAuth ' + \
  340            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  341            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  342            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  343            'healthy: ' + repr(self.healthy) + ' ' +\
  344            'hostname: ' + repr(self.hostname) + ' ' +\
  345            'id: ' + repr(self.id) + ' ' +\
  346            'name: ' + repr(self.name) + ' ' +\
  347            'password: ' + repr(self.password) + ' ' +\
  348            'port: ' + repr(self.port) + ' ' +\
  349            'port_override: ' + repr(self.port_override) + ' ' +\
  350            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  351            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  352            'subdomain: ' + repr(self.subdomain) + ' ' +\
  353            'tags: ' + repr(self.tags) + ' ' +\
  354            'username: ' + repr(self.username) + ' ' +\
  355            '>'
  356
  357    def to_dict(self):
  358        return {
  359            'bind_interface': self.bind_interface,
  360            'egress_filter': self.egress_filter,
  361            'healthcheck_namespace': self.healthcheck_namespace,
  362            'healthy': self.healthy,
  363            'hostname': self.hostname,
  364            'id': self.id,
  365            'name': self.name,
  366            'password': self.password,
  367            'port': self.port,
  368            'port_override': self.port_override,
  369            'proxy_cluster_id': self.proxy_cluster_id,
  370            'secret_store_id': self.secret_store_id,
  371            'subdomain': self.subdomain,
  372            'tags': self.tags,
  373            'username': self.username,
  374        }
  375
  376    @classmethod
  377    def from_dict(cls, d):
  378        return cls(
  379            bind_interface=d.get('bind_interface'),
  380            egress_filter=d.get('egress_filter'),
  381            healthcheck_namespace=d.get('healthcheck_namespace'),
  382            healthy=d.get('healthy'),
  383            hostname=d.get('hostname'),
  384            id=d.get('id'),
  385            name=d.get('name'),
  386            password=d.get('password'),
  387            port=d.get('port'),
  388            port_override=d.get('port_override'),
  389            proxy_cluster_id=d.get('proxy_cluster_id'),
  390            secret_store_id=d.get('secret_store_id'),
  391            subdomain=d.get('subdomain'),
  392            tags=d.get('tags'),
  393            username=d.get('username'),
  394        )
  395
  396
  397class AKSServiceAccount:
  398    __slots__ = [
  399        'allow_resource_role_bypass',
  400        'bind_interface',
  401        'discovery_enabled',
  402        'discovery_username',
  403        'egress_filter',
  404        'healthcheck_namespace',
  405        'healthy',
  406        'hostname',
  407        'id',
  408        'identity_alias_healthcheck_username',
  409        'identity_set_id',
  410        'name',
  411        'port',
  412        'port_override',
  413        'proxy_cluster_id',
  414        'secret_store_id',
  415        'subdomain',
  416        'tags',
  417        'token',
  418    ]
  419
  420    def __init__(
  421        self,
  422        allow_resource_role_bypass=None,
  423        bind_interface=None,
  424        discovery_enabled=None,
  425        discovery_username=None,
  426        egress_filter=None,
  427        healthcheck_namespace=None,
  428        healthy=None,
  429        hostname=None,
  430        id=None,
  431        identity_alias_healthcheck_username=None,
  432        identity_set_id=None,
  433        name=None,
  434        port=None,
  435        port_override=None,
  436        proxy_cluster_id=None,
  437        secret_store_id=None,
  438        subdomain=None,
  439        tags=None,
  440        token=None,
  441    ):
  442        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
  443        '''
  444         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
  445         when a resource role is not provided.
  446        '''
  447        self.bind_interface = bind_interface if bind_interface is not None else ''
  448        '''
  449         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  450        '''
  451        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
  452        '''
  453         If true, configures discovery of a cluster to be run from a node.
  454        '''
  455        self.discovery_username = discovery_username if discovery_username is not None else ''
  456        '''
  457         If a cluster is configured for user impersonation, this is the user to impersonate when
  458         running discovery.
  459        '''
  460        self.egress_filter = egress_filter if egress_filter is not None else ''
  461        '''
  462         A filter applied to the routing logic to pin datasource to nodes.
  463        '''
  464        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  465        '''
  466         The path used to check the health of your connection.  Defaults to `default`.
  467        '''
  468        self.healthy = healthy if healthy is not None else False
  469        '''
  470         True if the datasource is reachable and the credentials are valid.
  471        '''
  472        self.hostname = hostname if hostname is not None else ''
  473        '''
  474         The host to dial to initiate a connection from the egress node to this resource.
  475        '''
  476        self.id = id if id is not None else ''
  477        '''
  478         Unique identifier of the Resource.
  479        '''
  480        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
  481        '''
  482         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
  483        '''
  484        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
  485        '''
  486         The ID of the identity set to use for identity connections.
  487        '''
  488        self.name = name if name is not None else ''
  489        '''
  490         Unique human-readable name of the Resource.
  491        '''
  492        self.port = port if port is not None else 0
  493        '''
  494         The port to dial to initiate a connection from the egress node to this resource.
  495        '''
  496        self.port_override = port_override if port_override is not None else 0
  497        '''
  498         The local port used by clients to connect to this resource.
  499        '''
  500        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  501        '''
  502         ID of the proxy cluster for this resource, if any.
  503        '''
  504        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  505        '''
  506         ID of the secret store containing credentials for this resource, if any.
  507        '''
  508        self.subdomain = subdomain if subdomain is not None else ''
  509        '''
  510         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  511        '''
  512        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  513        '''
  514         Tags is a map of key, value pairs.
  515        '''
  516        self.token = token if token is not None else ''
  517        '''
  518         The API token to authenticate with.
  519        '''
  520
  521    def __repr__(self):
  522        return '<sdm.AKSServiceAccount ' + \
  523            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
  524            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  525            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
  526            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
  527            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  528            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  529            'healthy: ' + repr(self.healthy) + ' ' +\
  530            'hostname: ' + repr(self.hostname) + ' ' +\
  531            'id: ' + repr(self.id) + ' ' +\
  532            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
  533            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
  534            'name: ' + repr(self.name) + ' ' +\
  535            'port: ' + repr(self.port) + ' ' +\
  536            'port_override: ' + repr(self.port_override) + ' ' +\
  537            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  538            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  539            'subdomain: ' + repr(self.subdomain) + ' ' +\
  540            'tags: ' + repr(self.tags) + ' ' +\
  541            'token: ' + repr(self.token) + ' ' +\
  542            '>'
  543
  544    def to_dict(self):
  545        return {
  546            'allow_resource_role_bypass': self.allow_resource_role_bypass,
  547            'bind_interface': self.bind_interface,
  548            'discovery_enabled': self.discovery_enabled,
  549            'discovery_username': self.discovery_username,
  550            'egress_filter': self.egress_filter,
  551            'healthcheck_namespace': self.healthcheck_namespace,
  552            'healthy': self.healthy,
  553            'hostname': self.hostname,
  554            'id': self.id,
  555            'identity_alias_healthcheck_username':
  556            self.identity_alias_healthcheck_username,
  557            'identity_set_id': self.identity_set_id,
  558            'name': self.name,
  559            'port': self.port,
  560            'port_override': self.port_override,
  561            'proxy_cluster_id': self.proxy_cluster_id,
  562            'secret_store_id': self.secret_store_id,
  563            'subdomain': self.subdomain,
  564            'tags': self.tags,
  565            'token': self.token,
  566        }
  567
  568    @classmethod
  569    def from_dict(cls, d):
  570        return cls(
  571            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
  572            bind_interface=d.get('bind_interface'),
  573            discovery_enabled=d.get('discovery_enabled'),
  574            discovery_username=d.get('discovery_username'),
  575            egress_filter=d.get('egress_filter'),
  576            healthcheck_namespace=d.get('healthcheck_namespace'),
  577            healthy=d.get('healthy'),
  578            hostname=d.get('hostname'),
  579            id=d.get('id'),
  580            identity_alias_healthcheck_username=d.get(
  581                'identity_alias_healthcheck_username'),
  582            identity_set_id=d.get('identity_set_id'),
  583            name=d.get('name'),
  584            port=d.get('port'),
  585            port_override=d.get('port_override'),
  586            proxy_cluster_id=d.get('proxy_cluster_id'),
  587            secret_store_id=d.get('secret_store_id'),
  588            subdomain=d.get('subdomain'),
  589            tags=d.get('tags'),
  590            token=d.get('token'),
  591        )
  592
  593
  594class AKSServiceAccountUserImpersonation:
  595    __slots__ = [
  596        'bind_interface',
  597        'egress_filter',
  598        'healthcheck_namespace',
  599        'healthy',
  600        'hostname',
  601        'id',
  602        'name',
  603        'port',
  604        'port_override',
  605        'proxy_cluster_id',
  606        'secret_store_id',
  607        'subdomain',
  608        'tags',
  609        'token',
  610    ]
  611
  612    def __init__(
  613        self,
  614        bind_interface=None,
  615        egress_filter=None,
  616        healthcheck_namespace=None,
  617        healthy=None,
  618        hostname=None,
  619        id=None,
  620        name=None,
  621        port=None,
  622        port_override=None,
  623        proxy_cluster_id=None,
  624        secret_store_id=None,
  625        subdomain=None,
  626        tags=None,
  627        token=None,
  628    ):
  629        self.bind_interface = bind_interface if bind_interface is not None else ''
  630        '''
  631         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  632        '''
  633        self.egress_filter = egress_filter if egress_filter is not None else ''
  634        '''
  635         A filter applied to the routing logic to pin datasource to nodes.
  636        '''
  637        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  638        '''
  639         The path used to check the health of your connection.  Defaults to `default`.
  640        '''
  641        self.healthy = healthy if healthy is not None else False
  642        '''
  643         True if the datasource is reachable and the credentials are valid.
  644        '''
  645        self.hostname = hostname if hostname is not None else ''
  646        '''
  647         The host to dial to initiate a connection from the egress node to this resource.
  648        '''
  649        self.id = id if id is not None else ''
  650        '''
  651         Unique identifier of the Resource.
  652        '''
  653        self.name = name if name is not None else ''
  654        '''
  655         Unique human-readable name of the Resource.
  656        '''
  657        self.port = port if port is not None else 0
  658        '''
  659         The port to dial to initiate a connection from the egress node to this resource.
  660        '''
  661        self.port_override = port_override if port_override is not None else 0
  662        '''
  663         The local port used by clients to connect to this resource.
  664        '''
  665        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  666        '''
  667         ID of the proxy cluster for this resource, if any.
  668        '''
  669        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  670        '''
  671         ID of the secret store containing credentials for this resource, if any.
  672        '''
  673        self.subdomain = subdomain if subdomain is not None else ''
  674        '''
  675         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  676        '''
  677        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  678        '''
  679         Tags is a map of key, value pairs.
  680        '''
  681        self.token = token if token is not None else ''
  682        '''
  683         The API token to authenticate with.
  684        '''
  685
  686    def __repr__(self):
  687        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  688            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  689            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  690            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  691            'healthy: ' + repr(self.healthy) + ' ' +\
  692            'hostname: ' + repr(self.hostname) + ' ' +\
  693            'id: ' + repr(self.id) + ' ' +\
  694            'name: ' + repr(self.name) + ' ' +\
  695            'port: ' + repr(self.port) + ' ' +\
  696            'port_override: ' + repr(self.port_override) + ' ' +\
  697            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  698            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  699            'subdomain: ' + repr(self.subdomain) + ' ' +\
  700            'tags: ' + repr(self.tags) + ' ' +\
  701            'token: ' + repr(self.token) + ' ' +\
  702            '>'
  703
  704    def to_dict(self):
  705        return {
  706            'bind_interface': self.bind_interface,
  707            'egress_filter': self.egress_filter,
  708            'healthcheck_namespace': self.healthcheck_namespace,
  709            'healthy': self.healthy,
  710            'hostname': self.hostname,
  711            'id': self.id,
  712            'name': self.name,
  713            'port': self.port,
  714            'port_override': self.port_override,
  715            'proxy_cluster_id': self.proxy_cluster_id,
  716            'secret_store_id': self.secret_store_id,
  717            'subdomain': self.subdomain,
  718            'tags': self.tags,
  719            'token': self.token,
  720        }
  721
  722    @classmethod
  723    def from_dict(cls, d):
  724        return cls(
  725            bind_interface=d.get('bind_interface'),
  726            egress_filter=d.get('egress_filter'),
  727            healthcheck_namespace=d.get('healthcheck_namespace'),
  728            healthy=d.get('healthy'),
  729            hostname=d.get('hostname'),
  730            id=d.get('id'),
  731            name=d.get('name'),
  732            port=d.get('port'),
  733            port_override=d.get('port_override'),
  734            proxy_cluster_id=d.get('proxy_cluster_id'),
  735            secret_store_id=d.get('secret_store_id'),
  736            subdomain=d.get('subdomain'),
  737            tags=d.get('tags'),
  738            token=d.get('token'),
  739        )
  740
  741
  742class AKSUserImpersonation:
  743    __slots__ = [
  744        'bind_interface',
  745        'certificate_authority',
  746        'client_certificate',
  747        'client_key',
  748        'egress_filter',
  749        'healthcheck_namespace',
  750        'healthy',
  751        'hostname',
  752        'id',
  753        'name',
  754        'port',
  755        'port_override',
  756        'proxy_cluster_id',
  757        'secret_store_id',
  758        'subdomain',
  759        'tags',
  760    ]
  761
  762    def __init__(
  763        self,
  764        bind_interface=None,
  765        certificate_authority=None,
  766        client_certificate=None,
  767        client_key=None,
  768        egress_filter=None,
  769        healthcheck_namespace=None,
  770        healthy=None,
  771        hostname=None,
  772        id=None,
  773        name=None,
  774        port=None,
  775        port_override=None,
  776        proxy_cluster_id=None,
  777        secret_store_id=None,
  778        subdomain=None,
  779        tags=None,
  780    ):
  781        self.bind_interface = bind_interface if bind_interface is not None else ''
  782        '''
  783         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  784        '''
  785        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  786        '''
  787         The CA to authenticate TLS connections with.
  788        '''
  789        self.client_certificate = client_certificate if client_certificate is not None else ''
  790        '''
  791         The certificate to authenticate TLS connections with.
  792        '''
  793        self.client_key = client_key if client_key is not None else ''
  794        '''
  795         The key to authenticate TLS connections with.
  796        '''
  797        self.egress_filter = egress_filter if egress_filter is not None else ''
  798        '''
  799         A filter applied to the routing logic to pin datasource to nodes.
  800        '''
  801        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  802        '''
  803         The path used to check the health of your connection.  Defaults to `default`.
  804        '''
  805        self.healthy = healthy if healthy is not None else False
  806        '''
  807         True if the datasource is reachable and the credentials are valid.
  808        '''
  809        self.hostname = hostname if hostname is not None else ''
  810        '''
  811         The host to dial to initiate a connection from the egress node to this resource.
  812        '''
  813        self.id = id if id is not None else ''
  814        '''
  815         Unique identifier of the Resource.
  816        '''
  817        self.name = name if name is not None else ''
  818        '''
  819         Unique human-readable name of the Resource.
  820        '''
  821        self.port = port if port is not None else 0
  822        '''
  823         The port to dial to initiate a connection from the egress node to this resource.
  824        '''
  825        self.port_override = port_override if port_override is not None else 0
  826        '''
  827         The local port used by clients to connect to this resource.
  828        '''
  829        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  830        '''
  831         ID of the proxy cluster for this resource, if any.
  832        '''
  833        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  834        '''
  835         ID of the secret store containing credentials for this resource, if any.
  836        '''
  837        self.subdomain = subdomain if subdomain is not None else ''
  838        '''
  839         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
  840        '''
  841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  842        '''
  843         Tags is a map of key, value pairs.
  844        '''
  845
  846    def __repr__(self):
  847        return '<sdm.AKSUserImpersonation ' + \
  848            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  849            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  850            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  851            'client_key: ' + repr(self.client_key) + ' ' +\
  852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  853            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  854            'healthy: ' + repr(self.healthy) + ' ' +\
  855            'hostname: ' + repr(self.hostname) + ' ' +\
  856            'id: ' + repr(self.id) + ' ' +\
  857            'name: ' + repr(self.name) + ' ' +\
  858            'port: ' + repr(self.port) + ' ' +\
  859            'port_override: ' + repr(self.port_override) + ' ' +\
  860            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  861            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  862            'subdomain: ' + repr(self.subdomain) + ' ' +\
  863            'tags: ' + repr(self.tags) + ' ' +\
  864            '>'
  865
  866    def to_dict(self):
  867        return {
  868            'bind_interface': self.bind_interface,
  869            'certificate_authority': self.certificate_authority,
  870            'client_certificate': self.client_certificate,
  871            'client_key': self.client_key,
  872            'egress_filter': self.egress_filter,
  873            'healthcheck_namespace': self.healthcheck_namespace,
  874            'healthy': self.healthy,
  875            'hostname': self.hostname,
  876            'id': self.id,
  877            'name': self.name,
  878            'port': self.port,
  879            'port_override': self.port_override,
  880            'proxy_cluster_id': self.proxy_cluster_id,
  881            'secret_store_id': self.secret_store_id,
  882            'subdomain': self.subdomain,
  883            'tags': self.tags,
  884        }
  885
  886    @classmethod
  887    def from_dict(cls, d):
  888        return cls(
  889            bind_interface=d.get('bind_interface'),
  890            certificate_authority=d.get('certificate_authority'),
  891            client_certificate=d.get('client_certificate'),
  892            client_key=d.get('client_key'),
  893            egress_filter=d.get('egress_filter'),
  894            healthcheck_namespace=d.get('healthcheck_namespace'),
  895            healthy=d.get('healthy'),
  896            hostname=d.get('hostname'),
  897            id=d.get('id'),
  898            name=d.get('name'),
  899            port=d.get('port'),
  900            port_override=d.get('port_override'),
  901            proxy_cluster_id=d.get('proxy_cluster_id'),
  902            secret_store_id=d.get('secret_store_id'),
  903            subdomain=d.get('subdomain'),
  904            tags=d.get('tags'),
  905        )
  906
  907
  908class AWS:
  909    __slots__ = [
  910        'access_key',
  911        'bind_interface',
  912        'egress_filter',
  913        'healthcheck_region',
  914        'healthy',
  915        'id',
  916        'name',
  917        'port_override',
  918        'proxy_cluster_id',
  919        'role_arn',
  920        'role_external_id',
  921        'secret_access_key',
  922        'secret_store_id',
  923        'subdomain',
  924        'tags',
  925    ]
  926
  927    def __init__(
  928        self,
  929        access_key=None,
  930        bind_interface=None,
  931        egress_filter=None,
  932        healthcheck_region=None,
  933        healthy=None,
  934        id=None,
  935        name=None,
  936        port_override=None,
  937        proxy_cluster_id=None,
  938        role_arn=None,
  939        role_external_id=None,
  940        secret_access_key=None,
  941        secret_store_id=None,
  942        subdomain=None,
  943        tags=None,
  944    ):
  945        self.access_key = access_key if access_key is not None else ''
  946        '''
  947         The Access Key ID to use to authenticate.
  948        '''
  949        self.bind_interface = bind_interface if bind_interface is not None else ''
  950        '''
  951         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
  952        '''
  953        self.egress_filter = egress_filter if egress_filter is not None else ''
  954        '''
  955         A filter applied to the routing logic to pin datasource to nodes.
  956        '''
  957        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
  958        '''
  959         The AWS region healthcheck requests should attempt to connect to.
  960        '''
  961        self.healthy = healthy if healthy is not None else False
  962        '''
  963         True if the datasource is reachable and the credentials are valid.
  964        '''
  965        self.id = id if id is not None else ''
  966        '''
  967         Unique identifier of the Resource.
  968        '''
  969        self.name = name if name is not None else ''
  970        '''
  971         Unique human-readable name of the Resource.
  972        '''
  973        self.port_override = port_override if port_override is not None else 0
  974        '''
  975         The local port used by clients to connect to this resource.
  976        '''
  977        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  978        '''
  979         ID of the proxy cluster for this resource, if any.
  980        '''
  981        self.role_arn = role_arn if role_arn is not None else ''
  982        '''
  983         The role to assume after logging in.
  984        '''
  985        self.role_external_id = role_external_id if role_external_id is not None else ''
  986        '''
  987         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
  988        '''
  989        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
  990        '''
  991         The Secret Access Key to use to authenticate.
  992        '''
  993        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  994        '''
  995         ID of the secret store containing credentials for this resource, if any.
  996        '''
  997        self.subdomain = subdomain if subdomain is not None else ''
  998        '''
  999         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1000        '''
 1001        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1002        '''
 1003         Tags is a map of key, value pairs.
 1004        '''
 1005
 1006    def __repr__(self):
 1007        return '<sdm.AWS ' + \
 1008            'access_key: ' + repr(self.access_key) + ' ' +\
 1009            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1011            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1012            'healthy: ' + repr(self.healthy) + ' ' +\
 1013            'id: ' + repr(self.id) + ' ' +\
 1014            'name: ' + repr(self.name) + ' ' +\
 1015            'port_override: ' + repr(self.port_override) + ' ' +\
 1016            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1017            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1018            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1019            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1020            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1021            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1022            'tags: ' + repr(self.tags) + ' ' +\
 1023            '>'
 1024
 1025    def to_dict(self):
 1026        return {
 1027            'access_key': self.access_key,
 1028            'bind_interface': self.bind_interface,
 1029            'egress_filter': self.egress_filter,
 1030            'healthcheck_region': self.healthcheck_region,
 1031            'healthy': self.healthy,
 1032            'id': self.id,
 1033            'name': self.name,
 1034            'port_override': self.port_override,
 1035            'proxy_cluster_id': self.proxy_cluster_id,
 1036            'role_arn': self.role_arn,
 1037            'role_external_id': self.role_external_id,
 1038            'secret_access_key': self.secret_access_key,
 1039            'secret_store_id': self.secret_store_id,
 1040            'subdomain': self.subdomain,
 1041            'tags': self.tags,
 1042        }
 1043
 1044    @classmethod
 1045    def from_dict(cls, d):
 1046        return cls(
 1047            access_key=d.get('access_key'),
 1048            bind_interface=d.get('bind_interface'),
 1049            egress_filter=d.get('egress_filter'),
 1050            healthcheck_region=d.get('healthcheck_region'),
 1051            healthy=d.get('healthy'),
 1052            id=d.get('id'),
 1053            name=d.get('name'),
 1054            port_override=d.get('port_override'),
 1055            proxy_cluster_id=d.get('proxy_cluster_id'),
 1056            role_arn=d.get('role_arn'),
 1057            role_external_id=d.get('role_external_id'),
 1058            secret_access_key=d.get('secret_access_key'),
 1059            secret_store_id=d.get('secret_store_id'),
 1060            subdomain=d.get('subdomain'),
 1061            tags=d.get('tags'),
 1062        )
 1063
 1064
 1065class AWSCertX509Store:
 1066    __slots__ = [
 1067        'caarn',
 1068        'certificatetemplatearn',
 1069        'id',
 1070        'issuedcertttlminutes',
 1071        'name',
 1072        'region',
 1073        'signingalgo',
 1074        'tags',
 1075    ]
 1076
 1077    def __init__(
 1078        self,
 1079        caarn=None,
 1080        certificatetemplatearn=None,
 1081        id=None,
 1082        issuedcertttlminutes=None,
 1083        name=None,
 1084        region=None,
 1085        signingalgo=None,
 1086        tags=None,
 1087    ):
 1088        self.caarn = caarn if caarn is not None else ''
 1089        '''
 1090         The ARN of the CA in AWS Private CA
 1091        '''
 1092        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1093        '''
 1094         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1095        '''
 1096        self.id = id if id is not None else ''
 1097        '''
 1098         Unique identifier of the SecretStore.
 1099        '''
 1100        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1101        '''
 1102         The lifetime of certificates issued by this CA represented in minutes.
 1103        '''
 1104        self.name = name if name is not None else ''
 1105        '''
 1106         Unique human-readable name of the SecretStore.
 1107        '''
 1108        self.region = region if region is not None else ''
 1109        '''
 1110         The AWS region to target e.g. us-east-1
 1111        '''
 1112        self.signingalgo = signingalgo if signingalgo is not None else ''
 1113        '''
 1114         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1115        '''
 1116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1117        '''
 1118         Tags is a map of key, value pairs.
 1119        '''
 1120
 1121    def __repr__(self):
 1122        return '<sdm.AWSCertX509Store ' + \
 1123            'caarn: ' + repr(self.caarn) + ' ' +\
 1124            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1125            'id: ' + repr(self.id) + ' ' +\
 1126            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1127            'name: ' + repr(self.name) + ' ' +\
 1128            'region: ' + repr(self.region) + ' ' +\
 1129            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1130            'tags: ' + repr(self.tags) + ' ' +\
 1131            '>'
 1132
 1133    def to_dict(self):
 1134        return {
 1135            'caarn': self.caarn,
 1136            'certificatetemplatearn': self.certificatetemplatearn,
 1137            'id': self.id,
 1138            'issuedcertttlminutes': self.issuedcertttlminutes,
 1139            'name': self.name,
 1140            'region': self.region,
 1141            'signingalgo': self.signingalgo,
 1142            'tags': self.tags,
 1143        }
 1144
 1145    @classmethod
 1146    def from_dict(cls, d):
 1147        return cls(
 1148            caarn=d.get('caarn'),
 1149            certificatetemplatearn=d.get('certificatetemplatearn'),
 1150            id=d.get('id'),
 1151            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1152            name=d.get('name'),
 1153            region=d.get('region'),
 1154            signingalgo=d.get('signingalgo'),
 1155            tags=d.get('tags'),
 1156        )
 1157
 1158
 1159class AWSConsole:
 1160    __slots__ = [
 1161        'bind_interface',
 1162        'egress_filter',
 1163        'enable_env_variables',
 1164        'healthy',
 1165        'id',
 1166        'identity_alias_healthcheck_username',
 1167        'identity_set_id',
 1168        'name',
 1169        'port_override',
 1170        'proxy_cluster_id',
 1171        'region',
 1172        'role_arn',
 1173        'role_external_id',
 1174        'secret_store_id',
 1175        'session_expiry',
 1176        'subdomain',
 1177        'tags',
 1178    ]
 1179
 1180    def __init__(
 1181        self,
 1182        bind_interface=None,
 1183        egress_filter=None,
 1184        enable_env_variables=None,
 1185        healthy=None,
 1186        id=None,
 1187        identity_alias_healthcheck_username=None,
 1188        identity_set_id=None,
 1189        name=None,
 1190        port_override=None,
 1191        proxy_cluster_id=None,
 1192        region=None,
 1193        role_arn=None,
 1194        role_external_id=None,
 1195        secret_store_id=None,
 1196        session_expiry=None,
 1197        subdomain=None,
 1198        tags=None,
 1199    ):
 1200        self.bind_interface = bind_interface if bind_interface is not None else ''
 1201        '''
 1202         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1203        '''
 1204        self.egress_filter = egress_filter if egress_filter is not None else ''
 1205        '''
 1206         A filter applied to the routing logic to pin datasource to nodes.
 1207        '''
 1208        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1209        '''
 1210         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1211        '''
 1212        self.healthy = healthy if healthy is not None else False
 1213        '''
 1214         True if the datasource is reachable and the credentials are valid.
 1215        '''
 1216        self.id = id if id is not None else ''
 1217        '''
 1218         Unique identifier of the Resource.
 1219        '''
 1220        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1221        '''
 1222         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1223        '''
 1224        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1225        '''
 1226         The ID of the identity set to use for identity connections.
 1227        '''
 1228        self.name = name if name is not None else ''
 1229        '''
 1230         Unique human-readable name of the Resource.
 1231        '''
 1232        self.port_override = port_override if port_override is not None else 0
 1233        '''
 1234         The local port used by clients to connect to this resource.
 1235        '''
 1236        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1237        '''
 1238         ID of the proxy cluster for this resource, if any.
 1239        '''
 1240        self.region = region if region is not None else ''
 1241        '''
 1242         The AWS region to connect to.
 1243        '''
 1244        self.role_arn = role_arn if role_arn is not None else ''
 1245        '''
 1246         The role to assume after logging in.
 1247        '''
 1248        self.role_external_id = role_external_id if role_external_id is not None else ''
 1249        '''
 1250         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1251        '''
 1252        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1253        '''
 1254         ID of the secret store containing credentials for this resource, if any.
 1255        '''
 1256        self.session_expiry = session_expiry if session_expiry is not None else 0
 1257        '''
 1258         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1259        '''
 1260        self.subdomain = subdomain if subdomain is not None else ''
 1261        '''
 1262         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1263        '''
 1264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1265        '''
 1266         Tags is a map of key, value pairs.
 1267        '''
 1268
 1269    def __repr__(self):
 1270        return '<sdm.AWSConsole ' + \
 1271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1273            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1274            'healthy: ' + repr(self.healthy) + ' ' +\
 1275            'id: ' + repr(self.id) + ' ' +\
 1276            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1277            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1278            'name: ' + repr(self.name) + ' ' +\
 1279            'port_override: ' + repr(self.port_override) + ' ' +\
 1280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1281            'region: ' + repr(self.region) + ' ' +\
 1282            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1283            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1284            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1285            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1286            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1287            'tags: ' + repr(self.tags) + ' ' +\
 1288            '>'
 1289
 1290    def to_dict(self):
 1291        return {
 1292            'bind_interface': self.bind_interface,
 1293            'egress_filter': self.egress_filter,
 1294            'enable_env_variables': self.enable_env_variables,
 1295            'healthy': self.healthy,
 1296            'id': self.id,
 1297            'identity_alias_healthcheck_username':
 1298            self.identity_alias_healthcheck_username,
 1299            'identity_set_id': self.identity_set_id,
 1300            'name': self.name,
 1301            'port_override': self.port_override,
 1302            'proxy_cluster_id': self.proxy_cluster_id,
 1303            'region': self.region,
 1304            'role_arn': self.role_arn,
 1305            'role_external_id': self.role_external_id,
 1306            'secret_store_id': self.secret_store_id,
 1307            'session_expiry': self.session_expiry,
 1308            'subdomain': self.subdomain,
 1309            'tags': self.tags,
 1310        }
 1311
 1312    @classmethod
 1313    def from_dict(cls, d):
 1314        return cls(
 1315            bind_interface=d.get('bind_interface'),
 1316            egress_filter=d.get('egress_filter'),
 1317            enable_env_variables=d.get('enable_env_variables'),
 1318            healthy=d.get('healthy'),
 1319            id=d.get('id'),
 1320            identity_alias_healthcheck_username=d.get(
 1321                'identity_alias_healthcheck_username'),
 1322            identity_set_id=d.get('identity_set_id'),
 1323            name=d.get('name'),
 1324            port_override=d.get('port_override'),
 1325            proxy_cluster_id=d.get('proxy_cluster_id'),
 1326            region=d.get('region'),
 1327            role_arn=d.get('role_arn'),
 1328            role_external_id=d.get('role_external_id'),
 1329            secret_store_id=d.get('secret_store_id'),
 1330            session_expiry=d.get('session_expiry'),
 1331            subdomain=d.get('subdomain'),
 1332            tags=d.get('tags'),
 1333        )
 1334
 1335
 1336class AWSConsoleStaticKeyPair:
 1337    __slots__ = [
 1338        'access_key',
 1339        'bind_interface',
 1340        'egress_filter',
 1341        'healthy',
 1342        'id',
 1343        'identity_alias_healthcheck_username',
 1344        'identity_set_id',
 1345        'name',
 1346        'port_override',
 1347        'proxy_cluster_id',
 1348        'region',
 1349        'role_arn',
 1350        'role_external_id',
 1351        'secret_access_key',
 1352        'secret_store_id',
 1353        'session_expiry',
 1354        'subdomain',
 1355        'tags',
 1356    ]
 1357
 1358    def __init__(
 1359        self,
 1360        access_key=None,
 1361        bind_interface=None,
 1362        egress_filter=None,
 1363        healthy=None,
 1364        id=None,
 1365        identity_alias_healthcheck_username=None,
 1366        identity_set_id=None,
 1367        name=None,
 1368        port_override=None,
 1369        proxy_cluster_id=None,
 1370        region=None,
 1371        role_arn=None,
 1372        role_external_id=None,
 1373        secret_access_key=None,
 1374        secret_store_id=None,
 1375        session_expiry=None,
 1376        subdomain=None,
 1377        tags=None,
 1378    ):
 1379        self.access_key = access_key if access_key is not None else ''
 1380        '''
 1381         The Access Key ID to authenticate with.
 1382        '''
 1383        self.bind_interface = bind_interface if bind_interface is not None else ''
 1384        '''
 1385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1386        '''
 1387        self.egress_filter = egress_filter if egress_filter is not None else ''
 1388        '''
 1389         A filter applied to the routing logic to pin datasource to nodes.
 1390        '''
 1391        self.healthy = healthy if healthy is not None else False
 1392        '''
 1393         True if the datasource is reachable and the credentials are valid.
 1394        '''
 1395        self.id = id if id is not None else ''
 1396        '''
 1397         Unique identifier of the Resource.
 1398        '''
 1399        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1400        '''
 1401         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1402        '''
 1403        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1404        '''
 1405         The ID of the identity set to use for identity connections.
 1406        '''
 1407        self.name = name if name is not None else ''
 1408        '''
 1409         Unique human-readable name of the Resource.
 1410        '''
 1411        self.port_override = port_override if port_override is not None else 0
 1412        '''
 1413         The local port used by clients to connect to this resource.
 1414        '''
 1415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1416        '''
 1417         ID of the proxy cluster for this resource, if any.
 1418        '''
 1419        self.region = region if region is not None else ''
 1420        '''
 1421         The AWS region to connect to.
 1422        '''
 1423        self.role_arn = role_arn if role_arn is not None else ''
 1424        '''
 1425         The role to assume after logging in.
 1426        '''
 1427        self.role_external_id = role_external_id if role_external_id is not None else ''
 1428        '''
 1429         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1430        '''
 1431        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1432        '''
 1433         The Secret Access Key to authenticate with.
 1434        '''
 1435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1436        '''
 1437         ID of the secret store containing credentials for this resource, if any.
 1438        '''
 1439        self.session_expiry = session_expiry if session_expiry is not None else 0
 1440        '''
 1441         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1442        '''
 1443        self.subdomain = subdomain if subdomain is not None else ''
 1444        '''
 1445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1446        '''
 1447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1448        '''
 1449         Tags is a map of key, value pairs.
 1450        '''
 1451
 1452    def __repr__(self):
 1453        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1454            'access_key: ' + repr(self.access_key) + ' ' +\
 1455            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1456            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1457            'healthy: ' + repr(self.healthy) + ' ' +\
 1458            'id: ' + repr(self.id) + ' ' +\
 1459            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1460            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1461            'name: ' + repr(self.name) + ' ' +\
 1462            'port_override: ' + repr(self.port_override) + ' ' +\
 1463            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1464            'region: ' + repr(self.region) + ' ' +\
 1465            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1466            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1467            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1469            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1470            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1471            'tags: ' + repr(self.tags) + ' ' +\
 1472            '>'
 1473
 1474    def to_dict(self):
 1475        return {
 1476            'access_key': self.access_key,
 1477            'bind_interface': self.bind_interface,
 1478            'egress_filter': self.egress_filter,
 1479            'healthy': self.healthy,
 1480            'id': self.id,
 1481            'identity_alias_healthcheck_username':
 1482            self.identity_alias_healthcheck_username,
 1483            'identity_set_id': self.identity_set_id,
 1484            'name': self.name,
 1485            'port_override': self.port_override,
 1486            'proxy_cluster_id': self.proxy_cluster_id,
 1487            'region': self.region,
 1488            'role_arn': self.role_arn,
 1489            'role_external_id': self.role_external_id,
 1490            'secret_access_key': self.secret_access_key,
 1491            'secret_store_id': self.secret_store_id,
 1492            'session_expiry': self.session_expiry,
 1493            'subdomain': self.subdomain,
 1494            'tags': self.tags,
 1495        }
 1496
 1497    @classmethod
 1498    def from_dict(cls, d):
 1499        return cls(
 1500            access_key=d.get('access_key'),
 1501            bind_interface=d.get('bind_interface'),
 1502            egress_filter=d.get('egress_filter'),
 1503            healthy=d.get('healthy'),
 1504            id=d.get('id'),
 1505            identity_alias_healthcheck_username=d.get(
 1506                'identity_alias_healthcheck_username'),
 1507            identity_set_id=d.get('identity_set_id'),
 1508            name=d.get('name'),
 1509            port_override=d.get('port_override'),
 1510            proxy_cluster_id=d.get('proxy_cluster_id'),
 1511            region=d.get('region'),
 1512            role_arn=d.get('role_arn'),
 1513            role_external_id=d.get('role_external_id'),
 1514            secret_access_key=d.get('secret_access_key'),
 1515            secret_store_id=d.get('secret_store_id'),
 1516            session_expiry=d.get('session_expiry'),
 1517            subdomain=d.get('subdomain'),
 1518            tags=d.get('tags'),
 1519        )
 1520
 1521
 1522class AWSInstanceProfile:
 1523    __slots__ = [
 1524        'bind_interface',
 1525        'egress_filter',
 1526        'enable_env_variables',
 1527        'healthy',
 1528        'id',
 1529        'name',
 1530        'port_override',
 1531        'proxy_cluster_id',
 1532        'region',
 1533        'role_arn',
 1534        'role_external_id',
 1535        'secret_store_id',
 1536        'subdomain',
 1537        'tags',
 1538    ]
 1539
 1540    def __init__(
 1541        self,
 1542        bind_interface=None,
 1543        egress_filter=None,
 1544        enable_env_variables=None,
 1545        healthy=None,
 1546        id=None,
 1547        name=None,
 1548        port_override=None,
 1549        proxy_cluster_id=None,
 1550        region=None,
 1551        role_arn=None,
 1552        role_external_id=None,
 1553        secret_store_id=None,
 1554        subdomain=None,
 1555        tags=None,
 1556    ):
 1557        self.bind_interface = bind_interface if bind_interface is not None else ''
 1558        '''
 1559         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 1560        '''
 1561        self.egress_filter = egress_filter if egress_filter is not None else ''
 1562        '''
 1563         A filter applied to the routing logic to pin datasource to nodes.
 1564        '''
 1565        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1566        '''
 1567         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1568        '''
 1569        self.healthy = healthy if healthy is not None else False
 1570        '''
 1571         True if the datasource is reachable and the credentials are valid.
 1572        '''
 1573        self.id = id if id is not None else ''
 1574        '''
 1575         Unique identifier of the Resource.
 1576        '''
 1577        self.name = name if name is not None else ''
 1578        '''
 1579         Unique human-readable name of the Resource.
 1580        '''
 1581        self.port_override = port_override if port_override is not None else 0
 1582        '''
 1583         The local port used by clients to connect to this resource.
 1584        '''
 1585        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1586        '''
 1587         ID of the proxy cluster for this resource, if any.
 1588        '''
 1589        self.region = region if region is not None else ''
 1590        '''
 1591         The AWS region to connect to.
 1592        '''
 1593        self.role_arn = role_arn if role_arn is not None else ''
 1594        '''
 1595         The role to assume after logging in.
 1596        '''
 1597        self.role_external_id = role_external_id if role_external_id is not None else ''
 1598        '''
 1599         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1600        '''
 1601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1602        '''
 1603         ID of the secret store containing credentials for this resource, if any.
 1604        '''
 1605        self.subdomain = subdomain if subdomain is not None else ''
 1606        '''
 1607         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1608        '''
 1609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1610        '''
 1611         Tags is a map of key, value pairs.
 1612        '''
 1613
 1614    def __repr__(self):
 1615        return '<sdm.AWSInstanceProfile ' + \
 1616            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1617            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1618            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1619            'healthy: ' + repr(self.healthy) + ' ' +\
 1620            'id: ' + repr(self.id) + ' ' +\
 1621            'name: ' + repr(self.name) + ' ' +\
 1622            'port_override: ' + repr(self.port_override) + ' ' +\
 1623            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1624            'region: ' + repr(self.region) + ' ' +\
 1625            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1626            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1627            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1628            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1629            'tags: ' + repr(self.tags) + ' ' +\
 1630            '>'
 1631
 1632    def to_dict(self):
 1633        return {
 1634            'bind_interface': self.bind_interface,
 1635            'egress_filter': self.egress_filter,
 1636            'enable_env_variables': self.enable_env_variables,
 1637            'healthy': self.healthy,
 1638            'id': self.id,
 1639            'name': self.name,
 1640            'port_override': self.port_override,
 1641            'proxy_cluster_id': self.proxy_cluster_id,
 1642            'region': self.region,
 1643            'role_arn': self.role_arn,
 1644            'role_external_id': self.role_external_id,
 1645            'secret_store_id': self.secret_store_id,
 1646            'subdomain': self.subdomain,
 1647            'tags': self.tags,
 1648        }
 1649
 1650    @classmethod
 1651    def from_dict(cls, d):
 1652        return cls(
 1653            bind_interface=d.get('bind_interface'),
 1654            egress_filter=d.get('egress_filter'),
 1655            enable_env_variables=d.get('enable_env_variables'),
 1656            healthy=d.get('healthy'),
 1657            id=d.get('id'),
 1658            name=d.get('name'),
 1659            port_override=d.get('port_override'),
 1660            proxy_cluster_id=d.get('proxy_cluster_id'),
 1661            region=d.get('region'),
 1662            role_arn=d.get('role_arn'),
 1663            role_external_id=d.get('role_external_id'),
 1664            secret_store_id=d.get('secret_store_id'),
 1665            subdomain=d.get('subdomain'),
 1666            tags=d.get('tags'),
 1667        )
 1668
 1669
 1670class AWSStore:
 1671    __slots__ = [
 1672        'id',
 1673        'name',
 1674        'region',
 1675        'tags',
 1676    ]
 1677
 1678    def __init__(
 1679        self,
 1680        id=None,
 1681        name=None,
 1682        region=None,
 1683        tags=None,
 1684    ):
 1685        self.id = id if id is not None else ''
 1686        '''
 1687         Unique identifier of the SecretStore.
 1688        '''
 1689        self.name = name if name is not None else ''
 1690        '''
 1691         Unique human-readable name of the SecretStore.
 1692        '''
 1693        self.region = region if region is not None else ''
 1694        '''
 1695         The AWS region to target e.g. us-east-1
 1696        '''
 1697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1698        '''
 1699         Tags is a map of key, value pairs.
 1700        '''
 1701
 1702    def __repr__(self):
 1703        return '<sdm.AWSStore ' + \
 1704            'id: ' + repr(self.id) + ' ' +\
 1705            'name: ' + repr(self.name) + ' ' +\
 1706            'region: ' + repr(self.region) + ' ' +\
 1707            'tags: ' + repr(self.tags) + ' ' +\
 1708            '>'
 1709
 1710    def to_dict(self):
 1711        return {
 1712            'id': self.id,
 1713            'name': self.name,
 1714            'region': self.region,
 1715            'tags': self.tags,
 1716        }
 1717
 1718    @classmethod
 1719    def from_dict(cls, d):
 1720        return cls(
 1721            id=d.get('id'),
 1722            name=d.get('name'),
 1723            region=d.get('region'),
 1724            tags=d.get('tags'),
 1725        )
 1726
 1727
 1728class AccessRequest:
 1729    '''
 1730         AccessRequests are requests for access to a resource that may match a Workflow.
 1731    '''
 1732    __slots__ = [
 1733        'account_id',
 1734        'duration',
 1735        'grant_id',
 1736        'id',
 1737        'reason',
 1738        'requestedduration',
 1739        'resource_id',
 1740        'resultduration',
 1741        'start_from',
 1742        'status',
 1743        'status_at',
 1744        'valid_until',
 1745        'workflow_id',
 1746    ]
 1747
 1748    def __init__(
 1749        self,
 1750        account_id=None,
 1751        duration=None,
 1752        grant_id=None,
 1753        id=None,
 1754        reason=None,
 1755        requestedduration=None,
 1756        resource_id=None,
 1757        resultduration=None,
 1758        start_from=None,
 1759        status=None,
 1760        status_at=None,
 1761        valid_until=None,
 1762        workflow_id=None,
 1763    ):
 1764        self.account_id = account_id if account_id is not None else ''
 1765        '''
 1766         The account that initiated the request.
 1767        '''
 1768        self.duration = duration if duration is not None else 0
 1769        '''
 1770         Duration of the access request.
 1771         Deprecated: use requested/result duration instead
 1772        '''
 1773        self.grant_id = grant_id if grant_id is not None else ''
 1774        '''
 1775         The account grant created, if it exists.
 1776        '''
 1777        self.id = id if id is not None else ''
 1778        '''
 1779         The access request id.
 1780        '''
 1781        self.reason = reason if reason is not None else ''
 1782        '''
 1783         The reason the access was requested.
 1784        '''
 1785        self.requestedduration = requestedduration if requestedduration is not None else None
 1786        '''
 1787         The duration that access was requested for, if any.
 1788        '''
 1789        self.resource_id = resource_id if resource_id is not None else ''
 1790        '''
 1791         The resource id.
 1792        '''
 1793        self.resultduration = resultduration if resultduration is not None else None
 1794        '''
 1795         The duration that results from an approved request.
 1796        '''
 1797        self.start_from = start_from if start_from is not None else None
 1798        '''
 1799         The timestamp when the requested access will be granted.
 1800         If this field is not specified it will default to the current time.
 1801        '''
 1802        self.status = status if status is not None else ''
 1803        '''
 1804         The status of the access request.
 1805        '''
 1806        self.status_at = status_at if status_at is not None else None
 1807        '''
 1808         The timestamp when the status changed.
 1809        '''
 1810        self.valid_until = valid_until if valid_until is not None else None
 1811        '''
 1812         The timestamp when the requested access will expire.
 1813        '''
 1814        self.workflow_id = workflow_id if workflow_id is not None else ''
 1815        '''
 1816         The workflow the request bound to.
 1817        '''
 1818
 1819    def __repr__(self):
 1820        return '<sdm.AccessRequest ' + \
 1821            'account_id: ' + repr(self.account_id) + ' ' +\
 1822            'duration: ' + repr(self.duration) + ' ' +\
 1823            'grant_id: ' + repr(self.grant_id) + ' ' +\
 1824            'id: ' + repr(self.id) + ' ' +\
 1825            'reason: ' + repr(self.reason) + ' ' +\
 1826            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 1827            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1828            'resultduration: ' + repr(self.resultduration) + ' ' +\
 1829            'start_from: ' + repr(self.start_from) + ' ' +\
 1830            'status: ' + repr(self.status) + ' ' +\
 1831            'status_at: ' + repr(self.status_at) + ' ' +\
 1832            'valid_until: ' + repr(self.valid_until) + ' ' +\
 1833            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 1834            '>'
 1835
 1836    def to_dict(self):
 1837        return {
 1838            'account_id': self.account_id,
 1839            'duration': self.duration,
 1840            'grant_id': self.grant_id,
 1841            'id': self.id,
 1842            'reason': self.reason,
 1843            'requestedduration': self.requestedduration,
 1844            'resource_id': self.resource_id,
 1845            'resultduration': self.resultduration,
 1846            'start_from': self.start_from,
 1847            'status': self.status,
 1848            'status_at': self.status_at,
 1849            'valid_until': self.valid_until,
 1850            'workflow_id': self.workflow_id,
 1851        }
 1852
 1853    @classmethod
 1854    def from_dict(cls, d):
 1855        return cls(
 1856            account_id=d.get('account_id'),
 1857            duration=d.get('duration'),
 1858            grant_id=d.get('grant_id'),
 1859            id=d.get('id'),
 1860            reason=d.get('reason'),
 1861            requestedduration=d.get('requestedduration'),
 1862            resource_id=d.get('resource_id'),
 1863            resultduration=d.get('resultduration'),
 1864            start_from=d.get('start_from'),
 1865            status=d.get('status'),
 1866            status_at=d.get('status_at'),
 1867            valid_until=d.get('valid_until'),
 1868            workflow_id=d.get('workflow_id'),
 1869        )
 1870
 1871
 1872class AccessRequestConfig:
 1873    '''
 1874         AccessRequestConfig holds the information required to request access to a resource
 1875    '''
 1876    __slots__ = [
 1877        'duration',
 1878        'reason',
 1879        'resource_id',
 1880        'start_from',
 1881    ]
 1882
 1883    def __init__(
 1884        self,
 1885        duration=None,
 1886        reason=None,
 1887        resource_id=None,
 1888        start_from=None,
 1889    ):
 1890        self.duration = duration if duration is not None else ''
 1891        '''
 1892         The time access should end, defaults to the next occurance of 5 pm
 1893        '''
 1894        self.reason = reason if reason is not None else ''
 1895        '''
 1896         The reason for access
 1897        '''
 1898        self.resource_id = resource_id if resource_id is not None else ''
 1899        '''
 1900         The resource for which access is being requested
 1901        '''
 1902        self.start_from = start_from if start_from is not None else None
 1903        '''
 1904         The time access should start, defaults to now
 1905        '''
 1906
 1907    def __repr__(self):
 1908        return '<sdm.AccessRequestConfig ' + \
 1909            'duration: ' + repr(self.duration) + ' ' +\
 1910            'reason: ' + repr(self.reason) + ' ' +\
 1911            'resource_id: ' + repr(self.resource_id) + ' ' +\
 1912            'start_from: ' + repr(self.start_from) + ' ' +\
 1913            '>'
 1914
 1915    def to_dict(self):
 1916        return {
 1917            'duration': self.duration,
 1918            'reason': self.reason,
 1919            'resource_id': self.resource_id,
 1920            'start_from': self.start_from,
 1921        }
 1922
 1923    @classmethod
 1924    def from_dict(cls, d):
 1925        return cls(
 1926            duration=d.get('duration'),
 1927            reason=d.get('reason'),
 1928            resource_id=d.get('resource_id'),
 1929            start_from=d.get('start_from'),
 1930        )
 1931
 1932
 1933class AccessRequestEvent:
 1934    '''
 1935         AccessRequestEvents hold information about events related to an access
 1936     request such as creation, approval and denial.
 1937    '''
 1938    __slots__ = [
 1939        'actor_id',
 1940        'id',
 1941        'metadata',
 1942        'request_id',
 1943        'type',
 1944    ]
 1945
 1946    def __init__(
 1947        self,
 1948        actor_id=None,
 1949        id=None,
 1950        metadata=None,
 1951        request_id=None,
 1952        type=None,
 1953    ):
 1954        self.actor_id = actor_id if actor_id is not None else ''
 1955        '''
 1956         The account responsible for the event.
 1957        '''
 1958        self.id = id if id is not None else ''
 1959        '''
 1960         The access request event id.
 1961        '''
 1962        self.metadata = metadata if metadata is not None else ''
 1963        '''
 1964         The metadata about the event
 1965        '''
 1966        self.request_id = request_id if request_id is not None else ''
 1967        '''
 1968         The request that the event is bound to.
 1969        '''
 1970        self.type = type if type is not None else ''
 1971        '''
 1972         The type of event.
 1973        '''
 1974
 1975    def __repr__(self):
 1976        return '<sdm.AccessRequestEvent ' + \
 1977            'actor_id: ' + repr(self.actor_id) + ' ' +\
 1978            'id: ' + repr(self.id) + ' ' +\
 1979            'metadata: ' + repr(self.metadata) + ' ' +\
 1980            'request_id: ' + repr(self.request_id) + ' ' +\
 1981            'type: ' + repr(self.type) + ' ' +\
 1982            '>'
 1983
 1984    def to_dict(self):
 1985        return {
 1986            'actor_id': self.actor_id,
 1987            'id': self.id,
 1988            'metadata': self.metadata,
 1989            'request_id': self.request_id,
 1990            'type': self.type,
 1991        }
 1992
 1993    @classmethod
 1994    def from_dict(cls, d):
 1995        return cls(
 1996            actor_id=d.get('actor_id'),
 1997            id=d.get('id'),
 1998            metadata=d.get('metadata'),
 1999            request_id=d.get('request_id'),
 2000            type=d.get('type'),
 2001        )
 2002
 2003
 2004class AccessRequestEventHistory:
 2005    '''
 2006         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2007     where every change (create, update and delete) to a AccessRequest produces an
 2008     AccessRequestEventHistory record.
 2009    '''
 2010    __slots__ = [
 2011        'access_request_event',
 2012        'activity_id',
 2013        'deleted_at',
 2014        'timestamp',
 2015    ]
 2016
 2017    def __init__(
 2018        self,
 2019        access_request_event=None,
 2020        activity_id=None,
 2021        deleted_at=None,
 2022        timestamp=None,
 2023    ):
 2024        self.access_request_event = access_request_event if access_request_event is not None else None
 2025        '''
 2026         The complete AccessRequestEvent state at this time.
 2027        '''
 2028        self.activity_id = activity_id if activity_id is not None else ''
 2029        '''
 2030         The unique identifier of the Activity that produced this change to the AccessRequest.
 2031         May be empty for some system-initiated updates.
 2032        '''
 2033        self.deleted_at = deleted_at if deleted_at is not None else None
 2034        '''
 2035         If this Workflow was deleted, the time it was deleted.
 2036        '''
 2037        self.timestamp = timestamp if timestamp is not None else None
 2038        '''
 2039         The time at which the AccessRequest state was recorded.
 2040        '''
 2041
 2042    def __repr__(self):
 2043        return '<sdm.AccessRequestEventHistory ' + \
 2044            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2045            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2046            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2047            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2048            '>'
 2049
 2050    def to_dict(self):
 2051        return {
 2052            'access_request_event': self.access_request_event,
 2053            'activity_id': self.activity_id,
 2054            'deleted_at': self.deleted_at,
 2055            'timestamp': self.timestamp,
 2056        }
 2057
 2058    @classmethod
 2059    def from_dict(cls, d):
 2060        return cls(
 2061            access_request_event=d.get('access_request_event'),
 2062            activity_id=d.get('activity_id'),
 2063            deleted_at=d.get('deleted_at'),
 2064            timestamp=d.get('timestamp'),
 2065        )
 2066
 2067
 2068class AccessRequestHistory:
 2069    '''
 2070         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2071     where every change (create, update and delete) to a AccessRequest produces an
 2072     AccessRequestHistory record.
 2073    '''
 2074    __slots__ = [
 2075        'access_request',
 2076        'activity_id',
 2077        'deleted_at',
 2078        'timestamp',
 2079    ]
 2080
 2081    def __init__(
 2082        self,
 2083        access_request=None,
 2084        activity_id=None,
 2085        deleted_at=None,
 2086        timestamp=None,
 2087    ):
 2088        self.access_request = access_request if access_request is not None else None
 2089        '''
 2090         The complete AccessRequest state at this time.
 2091        '''
 2092        self.activity_id = activity_id if activity_id is not None else ''
 2093        '''
 2094         The unique identifier of the Activity that produced this change to the AccessRequest.
 2095         May be empty for some system-initiated updates.
 2096        '''
 2097        self.deleted_at = deleted_at if deleted_at is not None else None
 2098        '''
 2099         If this Workflow was deleted, the time it was deleted.
 2100        '''
 2101        self.timestamp = timestamp if timestamp is not None else None
 2102        '''
 2103         The time at which the AccessRequest state was recorded.
 2104        '''
 2105
 2106    def __repr__(self):
 2107        return '<sdm.AccessRequestHistory ' + \
 2108            'access_request: ' + repr(self.access_request) + ' ' +\
 2109            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2111            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2112            '>'
 2113
 2114    def to_dict(self):
 2115        return {
 2116            'access_request': self.access_request,
 2117            'activity_id': self.activity_id,
 2118            'deleted_at': self.deleted_at,
 2119            'timestamp': self.timestamp,
 2120        }
 2121
 2122    @classmethod
 2123    def from_dict(cls, d):
 2124        return cls(
 2125            access_request=d.get('access_request'),
 2126            activity_id=d.get('activity_id'),
 2127            deleted_at=d.get('deleted_at'),
 2128            timestamp=d.get('timestamp'),
 2129        )
 2130
 2131
 2132class AccessRequestListRequest:
 2133    '''
 2134         AccessRequestListRequest specifies criteria for retrieving a list of
 2135     AccessRequest records
 2136    '''
 2137    __slots__ = [
 2138        'filter',
 2139    ]
 2140
 2141    def __init__(
 2142        self,
 2143        filter=None,
 2144    ):
 2145        self.filter = filter if filter is not None else ''
 2146        '''
 2147         A human-readable filter query string.
 2148        '''
 2149
 2150    def __repr__(self):
 2151        return '<sdm.AccessRequestListRequest ' + \
 2152            'filter: ' + repr(self.filter) + ' ' +\
 2153            '>'
 2154
 2155    def to_dict(self):
 2156        return {
 2157            'filter': self.filter,
 2158        }
 2159
 2160    @classmethod
 2161    def from_dict(cls, d):
 2162        return cls(filter=d.get('filter'), )
 2163
 2164
 2165class AccessRequestListResponse:
 2166    '''
 2167         AccessRequestListResponse returns a list of access requests records that meet
 2168     the criteria of a AccessRequestListRequest.
 2169    '''
 2170    __slots__ = [
 2171        'rate_limit',
 2172    ]
 2173
 2174    def __init__(
 2175        self,
 2176        rate_limit=None,
 2177    ):
 2178        self.rate_limit = rate_limit if rate_limit is not None else None
 2179        '''
 2180         Rate limit information.
 2181        '''
 2182
 2183    def __repr__(self):
 2184        return '<sdm.AccessRequestListResponse ' + \
 2185            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2186            '>'
 2187
 2188    def to_dict(self):
 2189        return {
 2190            'rate_limit': self.rate_limit,
 2191        }
 2192
 2193    @classmethod
 2194    def from_dict(cls, d):
 2195        return cls(rate_limit=d.get('rate_limit'), )
 2196
 2197
 2198class AccountAttachment:
 2199    '''
 2200         AccountAttachments assign an account to a role.
 2201    '''
 2202    __slots__ = [
 2203        'account_id',
 2204        'id',
 2205        'role_id',
 2206    ]
 2207
 2208    def __init__(
 2209        self,
 2210        account_id=None,
 2211        id=None,
 2212        role_id=None,
 2213    ):
 2214        self.account_id = account_id if account_id is not None else ''
 2215        '''
 2216         The id of the account of this AccountAttachment.
 2217        '''
 2218        self.id = id if id is not None else ''
 2219        '''
 2220         Unique identifier of the AccountAttachment.
 2221        '''
 2222        self.role_id = role_id if role_id is not None else ''
 2223        '''
 2224         The id of the attached role of this AccountAttachment.
 2225        '''
 2226
 2227    def __repr__(self):
 2228        return '<sdm.AccountAttachment ' + \
 2229            'account_id: ' + repr(self.account_id) + ' ' +\
 2230            'id: ' + repr(self.id) + ' ' +\
 2231            'role_id: ' + repr(self.role_id) + ' ' +\
 2232            '>'
 2233
 2234    def to_dict(self):
 2235        return {
 2236            'account_id': self.account_id,
 2237            'id': self.id,
 2238            'role_id': self.role_id,
 2239        }
 2240
 2241    @classmethod
 2242    def from_dict(cls, d):
 2243        return cls(
 2244            account_id=d.get('account_id'),
 2245            id=d.get('id'),
 2246            role_id=d.get('role_id'),
 2247        )
 2248
 2249
 2250class AccountAttachmentCreateResponse:
 2251    '''
 2252         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2253    '''
 2254    __slots__ = [
 2255        'account_attachment',
 2256        'meta',
 2257        'rate_limit',
 2258    ]
 2259
 2260    def __init__(
 2261        self,
 2262        account_attachment=None,
 2263        meta=None,
 2264        rate_limit=None,
 2265    ):
 2266        self.account_attachment = account_attachment if account_attachment is not None else None
 2267        '''
 2268         The created AccountAttachment.
 2269        '''
 2270        self.meta = meta if meta is not None else None
 2271        '''
 2272         Reserved for future use.
 2273        '''
 2274        self.rate_limit = rate_limit if rate_limit is not None else None
 2275        '''
 2276         Rate limit information.
 2277        '''
 2278
 2279    def __repr__(self):
 2280        return '<sdm.AccountAttachmentCreateResponse ' + \
 2281            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2282            'meta: ' + repr(self.meta) + ' ' +\
 2283            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2284            '>'
 2285
 2286    def to_dict(self):
 2287        return {
 2288            'account_attachment': self.account_attachment,
 2289            'meta': self.meta,
 2290            'rate_limit': self.rate_limit,
 2291        }
 2292
 2293    @classmethod
 2294    def from_dict(cls, d):
 2295        return cls(
 2296            account_attachment=d.get('account_attachment'),
 2297            meta=d.get('meta'),
 2298            rate_limit=d.get('rate_limit'),
 2299        )
 2300
 2301
 2302class AccountAttachmentDeleteResponse:
 2303    '''
 2304         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2305    '''
 2306    __slots__ = [
 2307        'meta',
 2308        'rate_limit',
 2309    ]
 2310
 2311    def __init__(
 2312        self,
 2313        meta=None,
 2314        rate_limit=None,
 2315    ):
 2316        self.meta = meta if meta is not None else None
 2317        '''
 2318         Reserved for future use.
 2319        '''
 2320        self.rate_limit = rate_limit if rate_limit is not None else None
 2321        '''
 2322         Rate limit information.
 2323        '''
 2324
 2325    def __repr__(self):
 2326        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2327            'meta: ' + repr(self.meta) + ' ' +\
 2328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2329            '>'
 2330
 2331    def to_dict(self):
 2332        return {
 2333            'meta': self.meta,
 2334            'rate_limit': self.rate_limit,
 2335        }
 2336
 2337    @classmethod
 2338    def from_dict(cls, d):
 2339        return cls(
 2340            meta=d.get('meta'),
 2341            rate_limit=d.get('rate_limit'),
 2342        )
 2343
 2344
 2345class AccountAttachmentGetResponse:
 2346    '''
 2347         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2348    '''
 2349    __slots__ = [
 2350        'account_attachment',
 2351        'meta',
 2352        'rate_limit',
 2353    ]
 2354
 2355    def __init__(
 2356        self,
 2357        account_attachment=None,
 2358        meta=None,
 2359        rate_limit=None,
 2360    ):
 2361        self.account_attachment = account_attachment if account_attachment is not None else None
 2362        '''
 2363         The requested AccountAttachment.
 2364        '''
 2365        self.meta = meta if meta is not None else None
 2366        '''
 2367         Reserved for future use.
 2368        '''
 2369        self.rate_limit = rate_limit if rate_limit is not None else None
 2370        '''
 2371         Rate limit information.
 2372        '''
 2373
 2374    def __repr__(self):
 2375        return '<sdm.AccountAttachmentGetResponse ' + \
 2376            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2377            'meta: ' + repr(self.meta) + ' ' +\
 2378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2379            '>'
 2380
 2381    def to_dict(self):
 2382        return {
 2383            'account_attachment': self.account_attachment,
 2384            'meta': self.meta,
 2385            'rate_limit': self.rate_limit,
 2386        }
 2387
 2388    @classmethod
 2389    def from_dict(cls, d):
 2390        return cls(
 2391            account_attachment=d.get('account_attachment'),
 2392            meta=d.get('meta'),
 2393            rate_limit=d.get('rate_limit'),
 2394        )
 2395
 2396
 2397class AccountAttachmentHistory:
 2398    '''
 2399         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2400     where every change (create or delete) to an AccountAttachment produces an
 2401     AccountAttachmentHistory record.
 2402    '''
 2403    __slots__ = [
 2404        'account_attachment',
 2405        'activity_id',
 2406        'deleted_at',
 2407        'timestamp',
 2408    ]
 2409
 2410    def __init__(
 2411        self,
 2412        account_attachment=None,
 2413        activity_id=None,
 2414        deleted_at=None,
 2415        timestamp=None,
 2416    ):
 2417        self.account_attachment = account_attachment if account_attachment is not None else None
 2418        '''
 2419         The complete AccountAttachment state at this time.
 2420        '''
 2421        self.activity_id = activity_id if activity_id is not None else ''
 2422        '''
 2423         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2424         May be empty for some system-initiated updates.
 2425        '''
 2426        self.deleted_at = deleted_at if deleted_at is not None else None
 2427        '''
 2428         If this AccountAttachment was deleted, the time it was deleted.
 2429        '''
 2430        self.timestamp = timestamp if timestamp is not None else None
 2431        '''
 2432         The time at which the AccountAttachment state was recorded.
 2433        '''
 2434
 2435    def __repr__(self):
 2436        return '<sdm.AccountAttachmentHistory ' + \
 2437            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2438            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2439            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2440            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2441            '>'
 2442
 2443    def to_dict(self):
 2444        return {
 2445            'account_attachment': self.account_attachment,
 2446            'activity_id': self.activity_id,
 2447            'deleted_at': self.deleted_at,
 2448            'timestamp': self.timestamp,
 2449        }
 2450
 2451    @classmethod
 2452    def from_dict(cls, d):
 2453        return cls(
 2454            account_attachment=d.get('account_attachment'),
 2455            activity_id=d.get('activity_id'),
 2456            deleted_at=d.get('deleted_at'),
 2457            timestamp=d.get('timestamp'),
 2458        )
 2459
 2460
 2461class AccountCreateResponse:
 2462    '''
 2463         AccountCreateResponse reports how the Accounts were created in the system.
 2464    '''
 2465    __slots__ = [
 2466        'access_key',
 2467        'account',
 2468        'meta',
 2469        'rate_limit',
 2470        'secret_key',
 2471        'token',
 2472    ]
 2473
 2474    def __init__(
 2475        self,
 2476        access_key=None,
 2477        account=None,
 2478        meta=None,
 2479        rate_limit=None,
 2480        secret_key=None,
 2481        token=None,
 2482    ):
 2483        self.access_key = access_key if access_key is not None else ''
 2484        '''
 2485         ID part of the API key.
 2486        '''
 2487        self.account = account if account is not None else None
 2488        '''
 2489         The created Account.
 2490        '''
 2491        self.meta = meta if meta is not None else None
 2492        '''
 2493         Reserved for future use.
 2494        '''
 2495        self.rate_limit = rate_limit if rate_limit is not None else None
 2496        '''
 2497         Rate limit information.
 2498        '''
 2499        self.secret_key = secret_key if secret_key is not None else ''
 2500        '''
 2501         Secret part of the API key.
 2502        '''
 2503        self.token = token if token is not None else ''
 2504        '''
 2505         The auth token generated for the Account. The Account will use this token to
 2506         authenticate with the strongDM API.
 2507        '''
 2508
 2509    def __repr__(self):
 2510        return '<sdm.AccountCreateResponse ' + \
 2511            'access_key: ' + repr(self.access_key) + ' ' +\
 2512            'account: ' + repr(self.account) + ' ' +\
 2513            'meta: ' + repr(self.meta) + ' ' +\
 2514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2515            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2516            'token: ' + repr(self.token) + ' ' +\
 2517            '>'
 2518
 2519    def to_dict(self):
 2520        return {
 2521            'access_key': self.access_key,
 2522            'account': self.account,
 2523            'meta': self.meta,
 2524            'rate_limit': self.rate_limit,
 2525            'secret_key': self.secret_key,
 2526            'token': self.token,
 2527        }
 2528
 2529    @classmethod
 2530    def from_dict(cls, d):
 2531        return cls(
 2532            access_key=d.get('access_key'),
 2533            account=d.get('account'),
 2534            meta=d.get('meta'),
 2535            rate_limit=d.get('rate_limit'),
 2536            secret_key=d.get('secret_key'),
 2537            token=d.get('token'),
 2538        )
 2539
 2540
 2541class AccountDeleteResponse:
 2542    '''
 2543         AccountDeleteResponse returns information about a Account that was deleted.
 2544    '''
 2545    __slots__ = [
 2546        'meta',
 2547        'rate_limit',
 2548    ]
 2549
 2550    def __init__(
 2551        self,
 2552        meta=None,
 2553        rate_limit=None,
 2554    ):
 2555        self.meta = meta if meta is not None else None
 2556        '''
 2557         Reserved for future use.
 2558        '''
 2559        self.rate_limit = rate_limit if rate_limit is not None else None
 2560        '''
 2561         Rate limit information.
 2562        '''
 2563
 2564    def __repr__(self):
 2565        return '<sdm.AccountDeleteResponse ' + \
 2566            'meta: ' + repr(self.meta) + ' ' +\
 2567            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2568            '>'
 2569
 2570    def to_dict(self):
 2571        return {
 2572            'meta': self.meta,
 2573            'rate_limit': self.rate_limit,
 2574        }
 2575
 2576    @classmethod
 2577    def from_dict(cls, d):
 2578        return cls(
 2579            meta=d.get('meta'),
 2580            rate_limit=d.get('rate_limit'),
 2581        )
 2582
 2583
 2584class AccountGetResponse:
 2585    '''
 2586         AccountGetResponse returns a requested Account.
 2587    '''
 2588    __slots__ = [
 2589        'account',
 2590        'meta',
 2591        'rate_limit',
 2592    ]
 2593
 2594    def __init__(
 2595        self,
 2596        account=None,
 2597        meta=None,
 2598        rate_limit=None,
 2599    ):
 2600        self.account = account if account is not None else None
 2601        '''
 2602         The requested Account.
 2603        '''
 2604        self.meta = meta if meta is not None else None
 2605        '''
 2606         Reserved for future use.
 2607        '''
 2608        self.rate_limit = rate_limit if rate_limit is not None else None
 2609        '''
 2610         Rate limit information.
 2611        '''
 2612
 2613    def __repr__(self):
 2614        return '<sdm.AccountGetResponse ' + \
 2615            'account: ' + repr(self.account) + ' ' +\
 2616            'meta: ' + repr(self.meta) + ' ' +\
 2617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2618            '>'
 2619
 2620    def to_dict(self):
 2621        return {
 2622            'account': self.account,
 2623            'meta': self.meta,
 2624            'rate_limit': self.rate_limit,
 2625        }
 2626
 2627    @classmethod
 2628    def from_dict(cls, d):
 2629        return cls(
 2630            account=d.get('account'),
 2631            meta=d.get('meta'),
 2632            rate_limit=d.get('rate_limit'),
 2633        )
 2634
 2635
 2636class AccountGrant:
 2637    '''
 2638         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 2639    '''
 2640    __slots__ = [
 2641        'access_rule',
 2642        'account_id',
 2643        'id',
 2644        'resource_id',
 2645        'start_from',
 2646        'valid_until',
 2647    ]
 2648
 2649    def __init__(
 2650        self,
 2651        access_rule=None,
 2652        account_id=None,
 2653        id=None,
 2654        resource_id=None,
 2655        start_from=None,
 2656        valid_until=None,
 2657    ):
 2658        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 2659        )
 2660        '''
 2661         The access rule associated with this AccountGrant.
 2662        '''
 2663        self.account_id = account_id if account_id is not None else ''
 2664        '''
 2665         The account ID of this AccountGrant.
 2666        '''
 2667        self.id = id if id is not None else ''
 2668        '''
 2669         Unique identifier of the AccountGrant.
 2670        '''
 2671        self.resource_id = resource_id if resource_id is not None else ''
 2672        '''
 2673         The resource ID of this AccountGrant.
 2674        '''
 2675        self.start_from = start_from if start_from is not None else None
 2676        '''
 2677         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
 2678        '''
 2679        self.valid_until = valid_until if valid_until is not None else None
 2680        '''
 2681         The timestamp when the resource grant will expire.
 2682        '''
 2683
 2684    def __repr__(self):
 2685        return '<sdm.AccountGrant ' + \
 2686            'access_rule: ' + repr(self.access_rule) + ' ' +\
 2687            'account_id: ' + repr(self.account_id) + ' ' +\
 2688            'id: ' + repr(self.id) + ' ' +\
 2689            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2690            'start_from: ' + repr(self.start_from) + ' ' +\
 2691            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2692            '>'
 2693
 2694    def to_dict(self):
 2695        return {
 2696            'access_rule': self.access_rule,
 2697            'account_id': self.account_id,
 2698            'id': self.id,
 2699            'resource_id': self.resource_id,
 2700            'start_from': self.start_from,
 2701            'valid_until': self.valid_until,
 2702        }
 2703
 2704    @classmethod
 2705    def from_dict(cls, d):
 2706        return cls(
 2707            access_rule=d.get('access_rule'),
 2708            account_id=d.get('account_id'),
 2709            id=d.get('id'),
 2710            resource_id=d.get('resource_id'),
 2711            start_from=d.get('start_from'),
 2712            valid_until=d.get('valid_until'),
 2713        )
 2714
 2715
 2716class AccountGrantCreateResponse:
 2717    '''
 2718         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2719    '''
 2720    __slots__ = [
 2721        'account_grant',
 2722        'meta',
 2723        'rate_limit',
 2724    ]
 2725
 2726    def __init__(
 2727        self,
 2728        account_grant=None,
 2729        meta=None,
 2730        rate_limit=None,
 2731    ):
 2732        self.account_grant = account_grant if account_grant is not None else None
 2733        '''
 2734         The created AccountGrant.
 2735        '''
 2736        self.meta = meta if meta is not None else None
 2737        '''
 2738         Reserved for future use.
 2739        '''
 2740        self.rate_limit = rate_limit if rate_limit is not None else None
 2741        '''
 2742         Rate limit information.
 2743        '''
 2744
 2745    def __repr__(self):
 2746        return '<sdm.AccountGrantCreateResponse ' + \
 2747            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2748            'meta: ' + repr(self.meta) + ' ' +\
 2749            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2750            '>'
 2751
 2752    def to_dict(self):
 2753        return {
 2754            'account_grant': self.account_grant,
 2755            'meta': self.meta,
 2756            'rate_limit': self.rate_limit,
 2757        }
 2758
 2759    @classmethod
 2760    def from_dict(cls, d):
 2761        return cls(
 2762            account_grant=d.get('account_grant'),
 2763            meta=d.get('meta'),
 2764            rate_limit=d.get('rate_limit'),
 2765        )
 2766
 2767
 2768class AccountGrantDeleteResponse:
 2769    '''
 2770         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2771    '''
 2772    __slots__ = [
 2773        'meta',
 2774        'rate_limit',
 2775    ]
 2776
 2777    def __init__(
 2778        self,
 2779        meta=None,
 2780        rate_limit=None,
 2781    ):
 2782        self.meta = meta if meta is not None else None
 2783        '''
 2784         Reserved for future use.
 2785        '''
 2786        self.rate_limit = rate_limit if rate_limit is not None else None
 2787        '''
 2788         Rate limit information.
 2789        '''
 2790
 2791    def __repr__(self):
 2792        return '<sdm.AccountGrantDeleteResponse ' + \
 2793            'meta: ' + repr(self.meta) + ' ' +\
 2794            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2795            '>'
 2796
 2797    def to_dict(self):
 2798        return {
 2799            'meta': self.meta,
 2800            'rate_limit': self.rate_limit,
 2801        }
 2802
 2803    @classmethod
 2804    def from_dict(cls, d):
 2805        return cls(
 2806            meta=d.get('meta'),
 2807            rate_limit=d.get('rate_limit'),
 2808        )
 2809
 2810
 2811class AccountGrantGetResponse:
 2812    '''
 2813         AccountGrantGetResponse returns a requested AccountGrant.
 2814    '''
 2815    __slots__ = [
 2816        'account_grant',
 2817        'meta',
 2818        'rate_limit',
 2819    ]
 2820
 2821    def __init__(
 2822        self,
 2823        account_grant=None,
 2824        meta=None,
 2825        rate_limit=None,
 2826    ):
 2827        self.account_grant = account_grant if account_grant is not None else None
 2828        '''
 2829         The requested AccountGrant.
 2830        '''
 2831        self.meta = meta if meta is not None else None
 2832        '''
 2833         Reserved for future use.
 2834        '''
 2835        self.rate_limit = rate_limit if rate_limit is not None else None
 2836        '''
 2837         Rate limit information.
 2838        '''
 2839
 2840    def __repr__(self):
 2841        return '<sdm.AccountGrantGetResponse ' + \
 2842            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2843            'meta: ' + repr(self.meta) + ' ' +\
 2844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2845            '>'
 2846
 2847    def to_dict(self):
 2848        return {
 2849            'account_grant': self.account_grant,
 2850            'meta': self.meta,
 2851            'rate_limit': self.rate_limit,
 2852        }
 2853
 2854    @classmethod
 2855    def from_dict(cls, d):
 2856        return cls(
 2857            account_grant=d.get('account_grant'),
 2858            meta=d.get('meta'),
 2859            rate_limit=d.get('rate_limit'),
 2860        )
 2861
 2862
 2863class AccountGrantHistory:
 2864    '''
 2865         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 2866     where every change (create or delete) to an AccountGrant produces an
 2867     AccountGrantHistory record.
 2868    '''
 2869    __slots__ = [
 2870        'account_grant',
 2871        'activity_id',
 2872        'deleted_at',
 2873        'timestamp',
 2874    ]
 2875
 2876    def __init__(
 2877        self,
 2878        account_grant=None,
 2879        activity_id=None,
 2880        deleted_at=None,
 2881        timestamp=None,
 2882    ):
 2883        self.account_grant = account_grant if account_grant is not None else None
 2884        '''
 2885         The complete AccountGrant state at this time.
 2886        '''
 2887        self.activity_id = activity_id if activity_id is not None else ''
 2888        '''
 2889         The unique identifier of the Activity that produced this change to the AccountGrant.
 2890         May be empty for some system-initiated updates.
 2891        '''
 2892        self.deleted_at = deleted_at if deleted_at is not None else None
 2893        '''
 2894         If this AccountGrant was deleted, the time it was deleted.
 2895        '''
 2896        self.timestamp = timestamp if timestamp is not None else None
 2897        '''
 2898         The time at which the AccountGrant state was recorded.
 2899        '''
 2900
 2901    def __repr__(self):
 2902        return '<sdm.AccountGrantHistory ' + \
 2903            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2904            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2905            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2906            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2907            '>'
 2908
 2909    def to_dict(self):
 2910        return {
 2911            'account_grant': self.account_grant,
 2912            'activity_id': self.activity_id,
 2913            'deleted_at': self.deleted_at,
 2914            'timestamp': self.timestamp,
 2915        }
 2916
 2917    @classmethod
 2918    def from_dict(cls, d):
 2919        return cls(
 2920            account_grant=d.get('account_grant'),
 2921            activity_id=d.get('activity_id'),
 2922            deleted_at=d.get('deleted_at'),
 2923            timestamp=d.get('timestamp'),
 2924        )
 2925
 2926
 2927class AccountHistory:
 2928    '''
 2929         AccountHistory records the state of an Account at a given point in time,
 2930     where every change (create, update and delete) to an Account produces an
 2931     AccountHistory record.
 2932    '''
 2933    __slots__ = [
 2934        'account',
 2935        'activity_id',
 2936        'deleted_at',
 2937        'timestamp',
 2938    ]
 2939
 2940    def __init__(
 2941        self,
 2942        account=None,
 2943        activity_id=None,
 2944        deleted_at=None,
 2945        timestamp=None,
 2946    ):
 2947        self.account = account if account is not None else None
 2948        '''
 2949         The complete Account state at this time.
 2950        '''
 2951        self.activity_id = activity_id if activity_id is not None else ''
 2952        '''
 2953         The unique identifier of the Activity that produced this change to the Account.
 2954         May be empty for some system-initiated updates.
 2955        '''
 2956        self.deleted_at = deleted_at if deleted_at is not None else None
 2957        '''
 2958         If this Account was deleted, the time it was deleted.
 2959        '''
 2960        self.timestamp = timestamp if timestamp is not None else None
 2961        '''
 2962         The time at which the Account state was recorded.
 2963        '''
 2964
 2965    def __repr__(self):
 2966        return '<sdm.AccountHistory ' + \
 2967            'account: ' + repr(self.account) + ' ' +\
 2968            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2969            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2970            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2971            '>'
 2972
 2973    def to_dict(self):
 2974        return {
 2975            'account': self.account,
 2976            'activity_id': self.activity_id,
 2977            'deleted_at': self.deleted_at,
 2978            'timestamp': self.timestamp,
 2979        }
 2980
 2981    @classmethod
 2982    def from_dict(cls, d):
 2983        return cls(
 2984            account=d.get('account'),
 2985            activity_id=d.get('activity_id'),
 2986            deleted_at=d.get('deleted_at'),
 2987            timestamp=d.get('timestamp'),
 2988        )
 2989
 2990
 2991class AccountPermission:
 2992    '''
 2993         AccountPermission represents an individual API action available to an account.
 2994    '''
 2995    __slots__ = [
 2996        'account_id',
 2997        'granted_at',
 2998        'permission',
 2999        'scope',
 3000        'scoped_id',
 3001    ]
 3002
 3003    def __init__(
 3004        self,
 3005        account_id=None,
 3006        granted_at=None,
 3007        permission=None,
 3008        scope=None,
 3009        scoped_id=None,
 3010    ):
 3011        self.account_id = account_id if account_id is not None else ''
 3012        '''
 3013         The unique identifier of the Account this permission belongs to.
 3014        '''
 3015        self.granted_at = granted_at if granted_at is not None else None
 3016        '''
 3017         The most recent time at which the permission was granted. If a permission was
 3018         granted, revoked, and granted again, this will reflect the later time.
 3019        '''
 3020        self.permission = permission if permission is not None else ''
 3021        '''
 3022         The value of this permission, split into vertical and action, one of the Permission constants.
 3023        '''
 3024        self.scope = scope if scope is not None else ''
 3025        '''
 3026         The scope of this permission. A global scope means this action can be taken
 3027         on any entity; otherwise the action can only be taken on or in the scope of
 3028         the scoped id.
 3029        '''
 3030        self.scoped_id = scoped_id if scoped_id is not None else ''
 3031        '''
 3032         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3033         role that a team leader has the abillity to remove and add accounts to, or the
 3034         ID of a resource that a user has the permission to connect to. If Scope is global,
 3035         scoped id is not populated.
 3036        '''
 3037
 3038    def __repr__(self):
 3039        return '<sdm.AccountPermission ' + \
 3040            'account_id: ' + repr(self.account_id) + ' ' +\
 3041            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3042            'permission: ' + repr(self.permission) + ' ' +\
 3043            'scope: ' + repr(self.scope) + ' ' +\
 3044            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3045            '>'
 3046
 3047    def to_dict(self):
 3048        return {
 3049            'account_id': self.account_id,
 3050            'granted_at': self.granted_at,
 3051            'permission': self.permission,
 3052            'scope': self.scope,
 3053            'scoped_id': self.scoped_id,
 3054        }
 3055
 3056    @classmethod
 3057    def from_dict(cls, d):
 3058        return cls(
 3059            account_id=d.get('account_id'),
 3060            granted_at=d.get('granted_at'),
 3061            permission=d.get('permission'),
 3062            scope=d.get('scope'),
 3063            scoped_id=d.get('scoped_id'),
 3064        )
 3065
 3066
 3067class AccountResource:
 3068    '''
 3069         AccountResource represents an individual access grant of a Account to a Resource.
 3070    '''
 3071    __slots__ = [
 3072        'account_grant_id',
 3073        'account_id',
 3074        'created_at',
 3075        'expires_at',
 3076        'granted_at',
 3077        'resource_id',
 3078        'role_id',
 3079    ]
 3080
 3081    def __init__(
 3082        self,
 3083        account_grant_id=None,
 3084        account_id=None,
 3085        created_at=None,
 3086        expires_at=None,
 3087        granted_at=None,
 3088        resource_id=None,
 3089        role_id=None,
 3090    ):
 3091        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3092        '''
 3093         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3094         If empty, access was not granted through an AccountGrant.
 3095        '''
 3096        self.account_id = account_id if account_id is not None else ''
 3097        '''
 3098         The unique identifier of the Account to which access is granted.
 3099        '''
 3100        self.created_at = created_at if created_at is not None else None
 3101        '''
 3102         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3103         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3104        '''
 3105        self.expires_at = expires_at if expires_at is not None else None
 3106        '''
 3107         The time at which access will expire. If empty, this access has no expiration.
 3108        '''
 3109        self.granted_at = granted_at if granted_at is not None else None
 3110        '''
 3111         The most recent time at which access was granted. If access was granted,
 3112         revoked, and granted again, this will reflect the later time.
 3113        '''
 3114        self.resource_id = resource_id if resource_id is not None else ''
 3115        '''
 3116         The unique identifier of the Resource to which access is granted.
 3117        '''
 3118        self.role_id = role_id if role_id is not None else ''
 3119        '''
 3120         The unique identifier of the Role through which the Account was granted access to the Resource.
 3121         If empty, access was not granted through an AccountAttachment to a Role.
 3122        '''
 3123
 3124    def __repr__(self):
 3125        return '<sdm.AccountResource ' + \
 3126            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3127            'account_id: ' + repr(self.account_id) + ' ' +\
 3128            'created_at: ' + repr(self.created_at) + ' ' +\
 3129            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3130            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3131            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3132            'role_id: ' + repr(self.role_id) + ' ' +\
 3133            '>'
 3134
 3135    def to_dict(self):
 3136        return {
 3137            'account_grant_id': self.account_grant_id,
 3138            'account_id': self.account_id,
 3139            'created_at': self.created_at,
 3140            'expires_at': self.expires_at,
 3141            'granted_at': self.granted_at,
 3142            'resource_id': self.resource_id,
 3143            'role_id': self.role_id,
 3144        }
 3145
 3146    @classmethod
 3147    def from_dict(cls, d):
 3148        return cls(
 3149            account_grant_id=d.get('account_grant_id'),
 3150            account_id=d.get('account_id'),
 3151            created_at=d.get('created_at'),
 3152            expires_at=d.get('expires_at'),
 3153            granted_at=d.get('granted_at'),
 3154            resource_id=d.get('resource_id'),
 3155            role_id=d.get('role_id'),
 3156        )
 3157
 3158
 3159class AccountResourceHistory:
 3160    '''
 3161         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3162     where every change (create or delete) to a AccountResource produces an
 3163     AccountResourceHistory record.
 3164    '''
 3165    __slots__ = [
 3166        'account_resource',
 3167        'activity_id',
 3168        'deleted_at',
 3169        'timestamp',
 3170    ]
 3171
 3172    def __init__(
 3173        self,
 3174        account_resource=None,
 3175        activity_id=None,
 3176        deleted_at=None,
 3177        timestamp=None,
 3178    ):
 3179        self.account_resource = account_resource if account_resource is not None else None
 3180        '''
 3181         The complete AccountResource state at this time.
 3182        '''
 3183        self.activity_id = activity_id if activity_id is not None else ''
 3184        '''
 3185         The unique identifier of the Activity that produced this change to the AccountResource.
 3186         May be empty for some system-initiated updates.
 3187        '''
 3188        self.deleted_at = deleted_at if deleted_at is not None else None
 3189        '''
 3190         If this AccountResource was deleted, the time it was deleted.
 3191        '''
 3192        self.timestamp = timestamp if timestamp is not None else None
 3193        '''
 3194         The time at which the AccountResource state was recorded.
 3195        '''
 3196
 3197    def __repr__(self):
 3198        return '<sdm.AccountResourceHistory ' + \
 3199            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3200            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3201            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3202            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3203            '>'
 3204
 3205    def to_dict(self):
 3206        return {
 3207            'account_resource': self.account_resource,
 3208            'activity_id': self.activity_id,
 3209            'deleted_at': self.deleted_at,
 3210            'timestamp': self.timestamp,
 3211        }
 3212
 3213    @classmethod
 3214    def from_dict(cls, d):
 3215        return cls(
 3216            account_resource=d.get('account_resource'),
 3217            activity_id=d.get('activity_id'),
 3218            deleted_at=d.get('deleted_at'),
 3219            timestamp=d.get('timestamp'),
 3220        )
 3221
 3222
 3223class AccountUpdateResponse:
 3224    '''
 3225         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3226     a AccountUpdateRequest.
 3227    '''
 3228    __slots__ = [
 3229        'account',
 3230        'meta',
 3231        'rate_limit',
 3232    ]
 3233
 3234    def __init__(
 3235        self,
 3236        account=None,
 3237        meta=None,
 3238        rate_limit=None,
 3239    ):
 3240        self.account = account if account is not None else None
 3241        '''
 3242         The updated Account.
 3243        '''
 3244        self.meta = meta if meta is not None else None
 3245        '''
 3246         Reserved for future use.
 3247        '''
 3248        self.rate_limit = rate_limit if rate_limit is not None else None
 3249        '''
 3250         Rate limit information.
 3251        '''
 3252
 3253    def __repr__(self):
 3254        return '<sdm.AccountUpdateResponse ' + \
 3255            'account: ' + repr(self.account) + ' ' +\
 3256            'meta: ' + repr(self.meta) + ' ' +\
 3257            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3258            '>'
 3259
 3260    def to_dict(self):
 3261        return {
 3262            'account': self.account,
 3263            'meta': self.meta,
 3264            'rate_limit': self.rate_limit,
 3265        }
 3266
 3267    @classmethod
 3268    def from_dict(cls, d):
 3269        return cls(
 3270            account=d.get('account'),
 3271            meta=d.get('meta'),
 3272            rate_limit=d.get('rate_limit'),
 3273        )
 3274
 3275
 3276class ActiveDirectoryEngine:
 3277    '''
 3278    ActiveDirectoryEngine is currently unstable, and its API may change, or it may be removed,
 3279    without a major version bump.
 3280    '''
 3281    __slots__ = [
 3282        'after_read_ttl',
 3283        'binddn',
 3284        'bindpass',
 3285        'certificate',
 3286        'connection_timeout',
 3287        'do_not_validate_timestamps',
 3288        'id',
 3289        'insecure_tls',
 3290        'key_rotation_interval_days',
 3291        'max_backoff_duration',
 3292        'name',
 3293        'policy',
 3294        'public_key',
 3295        'request_timeout',
 3296        'secret_store_id',
 3297        'secret_store_root_path',
 3298        'start_tls',
 3299        'tags',
 3300        'ttl',
 3301        'upndomain',
 3302        'url',
 3303        'userdn',
 3304    ]
 3305
 3306    def __init__(
 3307        self,
 3308        after_read_ttl=None,
 3309        binddn=None,
 3310        bindpass=None,
 3311        certificate=None,
 3312        connection_timeout=None,
 3313        do_not_validate_timestamps=None,
 3314        id=None,
 3315        insecure_tls=None,
 3316        key_rotation_interval_days=None,
 3317        max_backoff_duration=None,
 3318        name=None,
 3319        policy=None,
 3320        public_key=None,
 3321        request_timeout=None,
 3322        secret_store_id=None,
 3323        secret_store_root_path=None,
 3324        start_tls=None,
 3325        tags=None,
 3326        ttl=None,
 3327        upndomain=None,
 3328        url=None,
 3329        userdn=None,
 3330    ):
 3331        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 3332        '''
 3333         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 3334        '''
 3335        self.binddn = binddn if binddn is not None else ''
 3336        '''
 3337         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 3338        '''
 3339        self.bindpass = bindpass if bindpass is not None else ''
 3340        '''
 3341         Password to use along with binddn when performing user search.
 3342        '''
 3343        self.certificate = certificate if certificate is not None else ''
 3344        '''
 3345         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 3346        '''
 3347        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 3348        '''
 3349         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 3350        '''
 3351        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 3352        '''
 3353         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 3354        '''
 3355        self.id = id if id is not None else ''
 3356        '''
 3357         Unique identifier of the Secret Engine.
 3358        '''
 3359        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 3360        '''
 3361         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 3362        '''
 3363        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 3364        '''
 3365         An interval of public/private key rotation for secret engine in days
 3366        '''
 3367        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 3368        '''
 3369         The maximum retry duration in case of automatic failure.
 3370         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 3371        '''
 3372        self.name = name if name is not None else ''
 3373        '''
 3374         Unique human-readable name of the Secret Engine.
 3375        '''
 3376        self.policy = policy if policy is not None else None
 3377        '''
 3378         Policy for password creation
 3379        '''
 3380        self.public_key = public_key if public_key is not None else b''
 3381        '''
 3382         Public key linked with a secret engine
 3383        '''
 3384        self.request_timeout = request_timeout if request_timeout is not None else 0
 3385        '''
 3386         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 3387        '''
 3388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3389        '''
 3390         Backing secret store identifier
 3391        '''
 3392        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 3393        '''
 3394         Backing Secret Store root path where managed secrets are going to be stored
 3395        '''
 3396        self.start_tls = start_tls if start_tls is not None else False
 3397        '''
 3398         If true, issues a StartTLS command after establishing an unencrypted connection.
 3399        '''
 3400        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3401        '''
 3402         Tags is a map of key, value pairs.
 3403        '''
 3404        self.ttl = ttl if ttl is not None else None
 3405        '''
 3406         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 3407        '''
 3408        self.upndomain = upndomain if upndomain is not None else ''
 3409        '''
 3410         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 3411        '''
 3412        self.url = url if url is not None else ''
 3413        '''
 3414         The LDAP server to connect to.
 3415        '''
 3416        self.userdn = userdn if userdn is not None else ''
 3417        '''
 3418         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 3419        '''
 3420
 3421    def __repr__(self):
 3422        return '<sdm.ActiveDirectoryEngine ' + \
 3423            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 3424            'binddn: ' + repr(self.binddn) + ' ' +\
 3425            'bindpass: ' + repr(self.bindpass) + ' ' +\
 3426            'certificate: ' + repr(self.certificate) + ' ' +\
 3427            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 3428            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 3429            'id: ' + repr(self.id) + ' ' +\
 3430            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 3431            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 3432            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 3433            'name: ' + repr(self.name) + ' ' +\
 3434            'policy: ' + repr(self.policy) + ' ' +\
 3435            'public_key: ' + repr(self.public_key) + ' ' +\
 3436            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 3437            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3438            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 3439            'start_tls: ' + repr(self.start_tls) + ' ' +\
 3440            'tags: ' + repr(self.tags) + ' ' +\
 3441            'ttl: ' + repr(self.ttl) + ' ' +\
 3442            'upndomain: ' + repr(self.upndomain) + ' ' +\
 3443            'url: ' + repr(self.url) + ' ' +\
 3444            'userdn: ' + repr(self.userdn) + ' ' +\
 3445            '>'
 3446
 3447    def to_dict(self):
 3448        return {
 3449            'after_read_ttl': self.after_read_ttl,
 3450            'binddn': self.binddn,
 3451            'bindpass': self.bindpass,
 3452            'certificate': self.certificate,
 3453            'connection_timeout': self.connection_timeout,
 3454            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 3455            'id': self.id,
 3456            'insecure_tls': self.insecure_tls,
 3457            'key_rotation_interval_days': self.key_rotation_interval_days,
 3458            'max_backoff_duration': self.max_backoff_duration,
 3459            'name': self.name,
 3460            'policy': self.policy,
 3461            'public_key': self.public_key,
 3462            'request_timeout': self.request_timeout,
 3463            'secret_store_id': self.secret_store_id,
 3464            'secret_store_root_path': self.secret_store_root_path,
 3465            'start_tls': self.start_tls,
 3466            'tags': self.tags,
 3467            'ttl': self.ttl,
 3468            'upndomain': self.upndomain,
 3469            'url': self.url,
 3470            'userdn': self.userdn,
 3471        }
 3472
 3473    @classmethod
 3474    def from_dict(cls, d):
 3475        return cls(
 3476            after_read_ttl=d.get('after_read_ttl'),
 3477            binddn=d.get('binddn'),
 3478            bindpass=d.get('bindpass'),
 3479            certificate=d.get('certificate'),
 3480            connection_timeout=d.get('connection_timeout'),
 3481            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 3482            id=d.get('id'),
 3483            insecure_tls=d.get('insecure_tls'),
 3484            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 3485            max_backoff_duration=d.get('max_backoff_duration'),
 3486            name=d.get('name'),
 3487            policy=d.get('policy'),
 3488            public_key=d.get('public_key'),
 3489            request_timeout=d.get('request_timeout'),
 3490            secret_store_id=d.get('secret_store_id'),
 3491            secret_store_root_path=d.get('secret_store_root_path'),
 3492            start_tls=d.get('start_tls'),
 3493            tags=d.get('tags'),
 3494            ttl=d.get('ttl'),
 3495            upndomain=d.get('upndomain'),
 3496            url=d.get('url'),
 3497            userdn=d.get('userdn'),
 3498        )
 3499
 3500
 3501class ActiveDirectoryStore:
 3502    __slots__ = [
 3503        'id',
 3504        'name',
 3505        'server_address',
 3506        'tags',
 3507    ]
 3508
 3509    def __init__(
 3510        self,
 3511        id=None,
 3512        name=None,
 3513        server_address=None,
 3514        tags=None,
 3515    ):
 3516        self.id = id if id is not None else ''
 3517        '''
 3518         Unique identifier of the SecretStore.
 3519        '''
 3520        self.name = name if name is not None else ''
 3521        '''
 3522         Unique human-readable name of the SecretStore.
 3523        '''
 3524        self.server_address = server_address if server_address is not None else ''
 3525        '''
 3526         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 3527         Often this is the same host as Active Directory Certificate Services
 3528        '''
 3529        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3530        '''
 3531         Tags is a map of key, value pairs.
 3532        '''
 3533
 3534    def __repr__(self):
 3535        return '<sdm.ActiveDirectoryStore ' + \
 3536            'id: ' + repr(self.id) + ' ' +\
 3537            'name: ' + repr(self.name) + ' ' +\
 3538            'server_address: ' + repr(self.server_address) + ' ' +\
 3539            'tags: ' + repr(self.tags) + ' ' +\
 3540            '>'
 3541
 3542    def to_dict(self):
 3543        return {
 3544            'id': self.id,
 3545            'name': self.name,
 3546            'server_address': self.server_address,
 3547            'tags': self.tags,
 3548        }
 3549
 3550    @classmethod
 3551    def from_dict(cls, d):
 3552        return cls(
 3553            id=d.get('id'),
 3554            name=d.get('name'),
 3555            server_address=d.get('server_address'),
 3556            tags=d.get('tags'),
 3557        )
 3558
 3559
 3560class Activity:
 3561    '''
 3562         An Activity is a record of an action taken against a strongDM deployment, e.g.
 3563     a user creation, resource deletion, sso configuration change, etc.
 3564    '''
 3565    __slots__ = [
 3566        'actor',
 3567        'completed_at',
 3568        'description',
 3569        'entities',
 3570        'id',
 3571        'ip_address',
 3572        'user_agent',
 3573        'verb',
 3574    ]
 3575
 3576    def __init__(
 3577        self,
 3578        actor=None,
 3579        completed_at=None,
 3580        description=None,
 3581        entities=None,
 3582        id=None,
 3583        ip_address=None,
 3584        user_agent=None,
 3585        verb=None,
 3586    ):
 3587        self.actor = actor if actor is not None else None
 3588        '''
 3589         The account who executed this activity. If the actor later has a name or email change,
 3590         that change is not reflected here. Actor is a snapshot of the executing account at
 3591         the time an activity took place.
 3592        '''
 3593        self.completed_at = completed_at if completed_at is not None else None
 3594        '''
 3595         The time this activity took effect.
 3596        '''
 3597        self.description = description if description is not None else ''
 3598        '''
 3599         A humanized description of the activity.
 3600        '''
 3601        self.entities = entities if entities is not None else []
 3602        '''
 3603         The entities involved in this activity. These entities can be any first class
 3604         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 3605         every activity affects explicit entities.
 3606        '''
 3607        self.id = id if id is not None else ''
 3608        '''
 3609         Unique identifier of the Activity.
 3610        '''
 3611        self.ip_address = ip_address if ip_address is not None else ''
 3612        '''
 3613         The IP from which this action was taken.
 3614        '''
 3615        self.user_agent = user_agent if user_agent is not None else ''
 3616        '''
 3617         The User Agent present when this request was executed. Generally a client type and version
 3618         like strongdm-cli/55.66.77
 3619        '''
 3620        self.verb = verb if verb is not None else ''
 3621        '''
 3622         The kind of activity which has taken place, one of the ActivityVerb constants.
 3623        '''
 3624
 3625    def __repr__(self):
 3626        return '<sdm.Activity ' + \
 3627            'actor: ' + repr(self.actor) + ' ' +\
 3628            'completed_at: ' + repr(self.completed_at) + ' ' +\
 3629            'description: ' + repr(self.description) + ' ' +\
 3630            'entities: ' + repr(self.entities) + ' ' +\
 3631            'id: ' + repr(self.id) + ' ' +\
 3632            'ip_address: ' + repr(self.ip_address) + ' ' +\
 3633            'user_agent: ' + repr(self.user_agent) + ' ' +\
 3634            'verb: ' + repr(self.verb) + ' ' +\
 3635            '>'
 3636
 3637    def to_dict(self):
 3638        return {
 3639            'actor': self.actor,
 3640            'completed_at': self.completed_at,
 3641            'description': self.description,
 3642            'entities': self.entities,
 3643            'id': self.id,
 3644            'ip_address': self.ip_address,
 3645            'user_agent': self.user_agent,
 3646            'verb': self.verb,
 3647        }
 3648
 3649    @classmethod
 3650    def from_dict(cls, d):
 3651        return cls(
 3652            actor=d.get('actor'),
 3653            completed_at=d.get('completed_at'),
 3654            description=d.get('description'),
 3655            entities=d.get('entities'),
 3656            id=d.get('id'),
 3657            ip_address=d.get('ip_address'),
 3658            user_agent=d.get('user_agent'),
 3659            verb=d.get('verb'),
 3660        )
 3661
 3662
 3663class ActivityActor:
 3664    __slots__ = [
 3665        'activity_external_id',
 3666        'email',
 3667        'first_name',
 3668        'id',
 3669        'last_name',
 3670    ]
 3671
 3672    def __init__(
 3673        self,
 3674        activity_external_id=None,
 3675        email=None,
 3676        first_name=None,
 3677        id=None,
 3678        last_name=None,
 3679    ):
 3680        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 3681        '''
 3682         The external ID of the actor at the time this activity occurred.
 3683        '''
 3684        self.email = email if email is not None else ''
 3685        '''
 3686         The email of the actor at the time this activity occurred.
 3687        '''
 3688        self.first_name = first_name if first_name is not None else ''
 3689        '''
 3690         The first name of the actor at the time this activity occurred.
 3691        '''
 3692        self.id = id if id is not None else ''
 3693        '''
 3694         Unique identifier of the actor. Immutable.
 3695        '''
 3696        self.last_name = last_name if last_name is not None else ''
 3697        '''
 3698         The last name of the actor at the time this activity occurred.
 3699        '''
 3700
 3701    def __repr__(self):
 3702        return '<sdm.ActivityActor ' + \
 3703            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 3704            'email: ' + repr(self.email) + ' ' +\
 3705            'first_name: ' + repr(self.first_name) + ' ' +\
 3706            'id: ' + repr(self.id) + ' ' +\
 3707            'last_name: ' + repr(self.last_name) + ' ' +\
 3708            '>'
 3709
 3710    def to_dict(self):
 3711        return {
 3712            'activity_external_id': self.activity_external_id,
 3713            'email': self.email,
 3714            'first_name': self.first_name,
 3715            'id': self.id,
 3716            'last_name': self.last_name,
 3717        }
 3718
 3719    @classmethod
 3720    def from_dict(cls, d):
 3721        return cls(
 3722            activity_external_id=d.get('activity_external_id'),
 3723            email=d.get('email'),
 3724            first_name=d.get('first_name'),
 3725            id=d.get('id'),
 3726            last_name=d.get('last_name'),
 3727        )
 3728
 3729
 3730class ActivityEntity:
 3731    __slots__ = [
 3732        'email',
 3733        'external_id',
 3734        'id',
 3735        'name',
 3736        'type',
 3737    ]
 3738
 3739    def __init__(
 3740        self,
 3741        email=None,
 3742        external_id=None,
 3743        id=None,
 3744        name=None,
 3745        type=None,
 3746    ):
 3747        self.email = email if email is not None else ''
 3748        '''
 3749         The email of the affected entity, if it has one (for example, if it is an account).
 3750        '''
 3751        self.external_id = external_id if external_id is not None else ''
 3752        '''
 3753         The external ID of the affected entity, if it has one (for example, if it is an account).
 3754        '''
 3755        self.id = id if id is not None else ''
 3756        '''
 3757         The unique identifier of the entity this activity affected.
 3758        '''
 3759        self.name = name if name is not None else ''
 3760        '''
 3761         A display name representing the affected entity.
 3762        '''
 3763        self.type = type if type is not None else ''
 3764        '''
 3765         The type of entity affected, one of the ActivityEntityType constants.
 3766        '''
 3767
 3768    def __repr__(self):
 3769        return '<sdm.ActivityEntity ' + \
 3770            'email: ' + repr(self.email) + ' ' +\
 3771            'external_id: ' + repr(self.external_id) + ' ' +\
 3772            'id: ' + repr(self.id) + ' ' +\
 3773            'name: ' + repr(self.name) + ' ' +\
 3774            'type: ' + repr(self.type) + ' ' +\
 3775            '>'
 3776
 3777    def to_dict(self):
 3778        return {
 3779            'email': self.email,
 3780            'external_id': self.external_id,
 3781            'id': self.id,
 3782            'name': self.name,
 3783            'type': self.type,
 3784        }
 3785
 3786    @classmethod
 3787    def from_dict(cls, d):
 3788        return cls(
 3789            email=d.get('email'),
 3790            external_id=d.get('external_id'),
 3791            id=d.get('id'),
 3792            name=d.get('name'),
 3793            type=d.get('type'),
 3794        )
 3795
 3796
 3797class ActivityGetResponse:
 3798    '''
 3799         ActivityGetResponse returns a requested Activity.
 3800    '''
 3801    __slots__ = [
 3802        'activity',
 3803        'meta',
 3804        'rate_limit',
 3805    ]
 3806
 3807    def __init__(
 3808        self,
 3809        activity=None,
 3810        meta=None,
 3811        rate_limit=None,
 3812    ):
 3813        self.activity = activity if activity is not None else None
 3814        '''
 3815         The requested Activity.
 3816        '''
 3817        self.meta = meta if meta is not None else None
 3818        '''
 3819         Reserved for future use.
 3820        '''
 3821        self.rate_limit = rate_limit if rate_limit is not None else None
 3822        '''
 3823         Rate limit information.
 3824        '''
 3825
 3826    def __repr__(self):
 3827        return '<sdm.ActivityGetResponse ' + \
 3828            'activity: ' + repr(self.activity) + ' ' +\
 3829            'meta: ' + repr(self.meta) + ' ' +\
 3830            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3831            '>'
 3832
 3833    def to_dict(self):
 3834        return {
 3835            'activity': self.activity,
 3836            'meta': self.meta,
 3837            'rate_limit': self.rate_limit,
 3838        }
 3839
 3840    @classmethod
 3841    def from_dict(cls, d):
 3842        return cls(
 3843            activity=d.get('activity'),
 3844            meta=d.get('meta'),
 3845            rate_limit=d.get('rate_limit'),
 3846        )
 3847
 3848
 3849class Aerospike:
 3850    '''
 3851    Aerospike is currently unstable, and its API may change, or it may be removed,
 3852    without a major version bump.
 3853    '''
 3854    __slots__ = [
 3855        'bind_interface',
 3856        'egress_filter',
 3857        'healthy',
 3858        'hostname',
 3859        'id',
 3860        'name',
 3861        'password',
 3862        'port',
 3863        'port_override',
 3864        'proxy_cluster_id',
 3865        'secret_store_id',
 3866        'subdomain',
 3867        'tags',
 3868        'use_services_alternate',
 3869        'username',
 3870    ]
 3871
 3872    def __init__(
 3873        self,
 3874        bind_interface=None,
 3875        egress_filter=None,
 3876        healthy=None,
 3877        hostname=None,
 3878        id=None,
 3879        name=None,
 3880        password=None,
 3881        port=None,
 3882        port_override=None,
 3883        proxy_cluster_id=None,
 3884        secret_store_id=None,
 3885        subdomain=None,
 3886        tags=None,
 3887        use_services_alternate=None,
 3888        username=None,
 3889    ):
 3890        self.bind_interface = bind_interface if bind_interface is not None else ''
 3891        '''
 3892         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 3893        '''
 3894        self.egress_filter = egress_filter if egress_filter is not None else ''
 3895        '''
 3896         A filter applied to the routing logic to pin datasource to nodes.
 3897        '''
 3898        self.healthy = healthy if healthy is not None else False
 3899        '''
 3900         True if the datasource is reachable and the credentials are valid.
 3901        '''
 3902        self.hostname = hostname if hostname is not None else ''
 3903        '''
 3904         The host to dial to initiate a connection from the egress node to this resource.
 3905        '''
 3906        self.id = id if id is not None else ''
 3907        '''
 3908         Unique identifier of the Resource.
 3909        '''
 3910        self.name = name if name is not None else ''
 3911        '''
 3912         Unique human-readable name of the Resource.
 3913        '''
 3914        self.password = password if password is not None else ''
 3915        '''
 3916         The password to authenticate with.
 3917        '''
 3918        self.port = port if port is not None else 0
 3919        '''
 3920         The port to dial to initiate a connection from the egress node to this resource.
 3921        '''
 3922        self.port_override = port_override if port_override is not None else 0
 3923        '''
 3924         The local port used by clients to connect to this resource.
 3925        '''
 3926        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 3927        '''
 3928         ID of the proxy cluster for this resource, if any.
 3929        '''
 3930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3931        '''
 3932         ID of the secret store containing credentials for this resource, if any.
 3933        '''
 3934        self.subdomain = subdomain if subdomain is not None else ''
 3935        '''
 3936         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 3937        '''
 3938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3939        '''
 3940         Tags is a map of key, value pairs.
 3941        '''
 3942        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
 3943        '''
 3944         If true, uses UseServicesAlternates directive for Aerospike connection
 3945        '''
 3946        self.username = username if username is not None else ''
 3947        '''
 3948         The username to authenticate with.
 3949        '''
 3950
 3951    def __repr__(self):
 3952        return '<sdm.Aerospike ' + \
 3953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 3954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 3955            'healthy: ' + repr(self.healthy) + ' ' +\
 3956            'hostname: ' + repr(self.hostname) + ' ' +\
 3957            'id: ' + repr(self.id) + ' ' +\
 3958            'name: ' + repr(self.name) + ' ' +\
 3959            'password: ' + repr(self.password) + ' ' +\
 3960            'port: ' + repr(self.port) + ' ' +\
 3961            'port_override: ' + repr(self.port_override) + ' ' +\
 3962            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 3963            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 3964            'subdomain: ' + repr(self.subdomain) + ' ' +\
 3965            'tags: ' + repr(self.tags) + ' ' +\
 3966            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
 3967            'username: ' + repr(self.username) + ' ' +\
 3968            '>'
 3969
 3970    def to_dict(self):
 3971        return {
 3972            'bind_interface': self.bind_interface,
 3973            'egress_filter': self.egress_filter,
 3974            'healthy': self.healthy,
 3975            'hostname': self.hostname,
 3976            'id': self.id,
 3977            'name': self.name,
 3978            'password': self.password,
 3979            'port': self.port,
 3980            'port_override': self.port_override,
 3981            'proxy_cluster_id': self.proxy_cluster_id,
 3982            'secret_store_id': self.secret_store_id,
 3983            'subdomain': self.subdomain,
 3984            'tags': self.tags,
 3985            'use_services_alternate': self.use_services_alternate,
 3986            'username': self.username,
 3987        }
 3988
 3989    @classmethod
 3990    def from_dict(cls, d):
 3991        return cls(
 3992            bind_interface=d.get('bind_interface'),
 3993            egress_filter=d.get('egress_filter'),
 3994            healthy=d.get('healthy'),
 3995            hostname=d.get('hostname'),
 3996            id=d.get('id'),
 3997            name=d.get('name'),
 3998            password=d.get('password'),
 3999            port=d.get('port'),
 4000            port_override=d.get('port_override'),
 4001            proxy_cluster_id=d.get('proxy_cluster_id'),
 4002            secret_store_id=d.get('secret_store_id'),
 4003            subdomain=d.get('subdomain'),
 4004            tags=d.get('tags'),
 4005            use_services_alternate=d.get('use_services_alternate'),
 4006            username=d.get('username'),
 4007        )
 4008
 4009
 4010class AmazonEKS:
 4011    __slots__ = [
 4012        'access_key',
 4013        'allow_resource_role_bypass',
 4014        'bind_interface',
 4015        'certificate_authority',
 4016        'cluster_name',
 4017        'discovery_enabled',
 4018        'discovery_username',
 4019        'egress_filter',
 4020        'endpoint',
 4021        'healthcheck_namespace',
 4022        'healthy',
 4023        'id',
 4024        'identity_alias_healthcheck_username',
 4025        'identity_set_id',
 4026        'name',
 4027        'port_override',
 4028        'proxy_cluster_id',
 4029        'region',
 4030        'role_arn',
 4031        'role_external_id',
 4032        'secret_access_key',
 4033        'secret_store_id',
 4034        'subdomain',
 4035        'tags',
 4036    ]
 4037
 4038    def __init__(
 4039        self,
 4040        access_key=None,
 4041        allow_resource_role_bypass=None,
 4042        bind_interface=None,
 4043        certificate_authority=None,
 4044        cluster_name=None,
 4045        discovery_enabled=None,
 4046        discovery_username=None,
 4047        egress_filter=None,
 4048        endpoint=None,
 4049        healthcheck_namespace=None,
 4050        healthy=None,
 4051        id=None,
 4052        identity_alias_healthcheck_username=None,
 4053        identity_set_id=None,
 4054        name=None,
 4055        port_override=None,
 4056        proxy_cluster_id=None,
 4057        region=None,
 4058        role_arn=None,
 4059        role_external_id=None,
 4060        secret_access_key=None,
 4061        secret_store_id=None,
 4062        subdomain=None,
 4063        tags=None,
 4064    ):
 4065        self.access_key = access_key if access_key is not None else ''
 4066        '''
 4067         The Access Key ID to use to authenticate.
 4068        '''
 4069        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4070        '''
 4071         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4072         when a resource role is not provided.
 4073        '''
 4074        self.bind_interface = bind_interface if bind_interface is not None else ''
 4075        '''
 4076         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4077        '''
 4078        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4079        '''
 4080         The CA to authenticate TLS connections with.
 4081        '''
 4082        self.cluster_name = cluster_name if cluster_name is not None else ''
 4083        '''
 4084         The name of the cluster to connect to.
 4085        '''
 4086        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4087        '''
 4088         If true, configures discovery of a cluster to be run from a node.
 4089        '''
 4090        self.discovery_username = discovery_username if discovery_username is not None else ''
 4091        '''
 4092         If a cluster is configured for user impersonation, this is the user to impersonate when
 4093         running discovery.
 4094        '''
 4095        self.egress_filter = egress_filter if egress_filter is not None else ''
 4096        '''
 4097         A filter applied to the routing logic to pin datasource to nodes.
 4098        '''
 4099        self.endpoint = endpoint if endpoint is not None else ''
 4100        '''
 4101         The endpoint to dial.
 4102        '''
 4103        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4104        '''
 4105         The path used to check the health of your connection.  Defaults to `default`.
 4106        '''
 4107        self.healthy = healthy if healthy is not None else False
 4108        '''
 4109         True if the datasource is reachable and the credentials are valid.
 4110        '''
 4111        self.id = id if id is not None else ''
 4112        '''
 4113         Unique identifier of the Resource.
 4114        '''
 4115        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4116        '''
 4117         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4118        '''
 4119        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4120        '''
 4121         The ID of the identity set to use for identity connections.
 4122        '''
 4123        self.name = name if name is not None else ''
 4124        '''
 4125         Unique human-readable name of the Resource.
 4126        '''
 4127        self.port_override = port_override if port_override is not None else 0
 4128        '''
 4129         The local port used by clients to connect to this resource.
 4130        '''
 4131        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4132        '''
 4133         ID of the proxy cluster for this resource, if any.
 4134        '''
 4135        self.region = region if region is not None else ''
 4136        '''
 4137         The AWS region to connect to e.g. us-east-1.
 4138        '''
 4139        self.role_arn = role_arn if role_arn is not None else ''
 4140        '''
 4141         The role to assume after logging in.
 4142        '''
 4143        self.role_external_id = role_external_id if role_external_id is not None else ''
 4144        '''
 4145         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4146        '''
 4147        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4148        '''
 4149         The Secret Access Key to use to authenticate.
 4150        '''
 4151        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4152        '''
 4153         ID of the secret store containing credentials for this resource, if any.
 4154        '''
 4155        self.subdomain = subdomain if subdomain is not None else ''
 4156        '''
 4157         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4158        '''
 4159        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4160        '''
 4161         Tags is a map of key, value pairs.
 4162        '''
 4163
 4164    def __repr__(self):
 4165        return '<sdm.AmazonEKS ' + \
 4166            'access_key: ' + repr(self.access_key) + ' ' +\
 4167            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4168            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4169            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4170            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4171            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4172            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4173            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4174            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4175            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4176            'healthy: ' + repr(self.healthy) + ' ' +\
 4177            'id: ' + repr(self.id) + ' ' +\
 4178            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4179            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4180            'name: ' + repr(self.name) + ' ' +\
 4181            'port_override: ' + repr(self.port_override) + ' ' +\
 4182            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4183            'region: ' + repr(self.region) + ' ' +\
 4184            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4185            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4186            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4187            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4188            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4189            'tags: ' + repr(self.tags) + ' ' +\
 4190            '>'
 4191
 4192    def to_dict(self):
 4193        return {
 4194            'access_key': self.access_key,
 4195            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4196            'bind_interface': self.bind_interface,
 4197            'certificate_authority': self.certificate_authority,
 4198            'cluster_name': self.cluster_name,
 4199            'discovery_enabled': self.discovery_enabled,
 4200            'discovery_username': self.discovery_username,
 4201            'egress_filter': self.egress_filter,
 4202            'endpoint': self.endpoint,
 4203            'healthcheck_namespace': self.healthcheck_namespace,
 4204            'healthy': self.healthy,
 4205            'id': self.id,
 4206            'identity_alias_healthcheck_username':
 4207            self.identity_alias_healthcheck_username,
 4208            'identity_set_id': self.identity_set_id,
 4209            'name': self.name,
 4210            'port_override': self.port_override,
 4211            'proxy_cluster_id': self.proxy_cluster_id,
 4212            'region': self.region,
 4213            'role_arn': self.role_arn,
 4214            'role_external_id': self.role_external_id,
 4215            'secret_access_key': self.secret_access_key,
 4216            'secret_store_id': self.secret_store_id,
 4217            'subdomain': self.subdomain,
 4218            'tags': self.tags,
 4219        }
 4220
 4221    @classmethod
 4222    def from_dict(cls, d):
 4223        return cls(
 4224            access_key=d.get('access_key'),
 4225            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4226            bind_interface=d.get('bind_interface'),
 4227            certificate_authority=d.get('certificate_authority'),
 4228            cluster_name=d.get('cluster_name'),
 4229            discovery_enabled=d.get('discovery_enabled'),
 4230            discovery_username=d.get('discovery_username'),
 4231            egress_filter=d.get('egress_filter'),
 4232            endpoint=d.get('endpoint'),
 4233            healthcheck_namespace=d.get('healthcheck_namespace'),
 4234            healthy=d.get('healthy'),
 4235            id=d.get('id'),
 4236            identity_alias_healthcheck_username=d.get(
 4237                'identity_alias_healthcheck_username'),
 4238            identity_set_id=d.get('identity_set_id'),
 4239            name=d.get('name'),
 4240            port_override=d.get('port_override'),
 4241            proxy_cluster_id=d.get('proxy_cluster_id'),
 4242            region=d.get('region'),
 4243            role_arn=d.get('role_arn'),
 4244            role_external_id=d.get('role_external_id'),
 4245            secret_access_key=d.get('secret_access_key'),
 4246            secret_store_id=d.get('secret_store_id'),
 4247            subdomain=d.get('subdomain'),
 4248            tags=d.get('tags'),
 4249        )
 4250
 4251
 4252class AmazonEKSInstanceProfile:
 4253    __slots__ = [
 4254        'allow_resource_role_bypass',
 4255        'bind_interface',
 4256        'certificate_authority',
 4257        'cluster_name',
 4258        'discovery_enabled',
 4259        'discovery_username',
 4260        'egress_filter',
 4261        'endpoint',
 4262        'healthcheck_namespace',
 4263        'healthy',
 4264        'id',
 4265        'identity_alias_healthcheck_username',
 4266        'identity_set_id',
 4267        'name',
 4268        'port_override',
 4269        'proxy_cluster_id',
 4270        'region',
 4271        'role_arn',
 4272        'role_external_id',
 4273        'secret_store_id',
 4274        'subdomain',
 4275        'tags',
 4276    ]
 4277
 4278    def __init__(
 4279        self,
 4280        allow_resource_role_bypass=None,
 4281        bind_interface=None,
 4282        certificate_authority=None,
 4283        cluster_name=None,
 4284        discovery_enabled=None,
 4285        discovery_username=None,
 4286        egress_filter=None,
 4287        endpoint=None,
 4288        healthcheck_namespace=None,
 4289        healthy=None,
 4290        id=None,
 4291        identity_alias_healthcheck_username=None,
 4292        identity_set_id=None,
 4293        name=None,
 4294        port_override=None,
 4295        proxy_cluster_id=None,
 4296        region=None,
 4297        role_arn=None,
 4298        role_external_id=None,
 4299        secret_store_id=None,
 4300        subdomain=None,
 4301        tags=None,
 4302    ):
 4303        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4304        '''
 4305         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4306         when a resource role is not provided.
 4307        '''
 4308        self.bind_interface = bind_interface if bind_interface is not None else ''
 4309        '''
 4310         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4311        '''
 4312        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4313        '''
 4314         The CA to authenticate TLS connections with.
 4315        '''
 4316        self.cluster_name = cluster_name if cluster_name is not None else ''
 4317        '''
 4318         The name of the cluster to connect to.
 4319        '''
 4320        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4321        '''
 4322         If true, configures discovery of a cluster to be run from a node.
 4323        '''
 4324        self.discovery_username = discovery_username if discovery_username is not None else ''
 4325        '''
 4326         If a cluster is configured for user impersonation, this is the user to impersonate when
 4327         running discovery.
 4328        '''
 4329        self.egress_filter = egress_filter if egress_filter is not None else ''
 4330        '''
 4331         A filter applied to the routing logic to pin datasource to nodes.
 4332        '''
 4333        self.endpoint = endpoint if endpoint is not None else ''
 4334        '''
 4335         The endpoint to dial.
 4336        '''
 4337        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4338        '''
 4339         The path used to check the health of your connection.  Defaults to `default`.
 4340        '''
 4341        self.healthy = healthy if healthy is not None else False
 4342        '''
 4343         True if the datasource is reachable and the credentials are valid.
 4344        '''
 4345        self.id = id if id is not None else ''
 4346        '''
 4347         Unique identifier of the Resource.
 4348        '''
 4349        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4350        '''
 4351         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4352        '''
 4353        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4354        '''
 4355         The ID of the identity set to use for identity connections.
 4356        '''
 4357        self.name = name if name is not None else ''
 4358        '''
 4359         Unique human-readable name of the Resource.
 4360        '''
 4361        self.port_override = port_override if port_override is not None else 0
 4362        '''
 4363         The local port used by clients to connect to this resource.
 4364        '''
 4365        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4366        '''
 4367         ID of the proxy cluster for this resource, if any.
 4368        '''
 4369        self.region = region if region is not None else ''
 4370        '''
 4371         The AWS region to connect to e.g. us-east-1.
 4372        '''
 4373        self.role_arn = role_arn if role_arn is not None else ''
 4374        '''
 4375         The role to assume after logging in.
 4376        '''
 4377        self.role_external_id = role_external_id if role_external_id is not None else ''
 4378        '''
 4379         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4380        '''
 4381        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4382        '''
 4383         ID of the secret store containing credentials for this resource, if any.
 4384        '''
 4385        self.subdomain = subdomain if subdomain is not None else ''
 4386        '''
 4387         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4388        '''
 4389        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4390        '''
 4391         Tags is a map of key, value pairs.
 4392        '''
 4393
 4394    def __repr__(self):
 4395        return '<sdm.AmazonEKSInstanceProfile ' + \
 4396            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4397            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4398            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4399            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4400            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4401            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4402            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4403            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4404            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4405            'healthy: ' + repr(self.healthy) + ' ' +\
 4406            'id: ' + repr(self.id) + ' ' +\
 4407            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4408            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4409            'name: ' + repr(self.name) + ' ' +\
 4410            'port_override: ' + repr(self.port_override) + ' ' +\
 4411            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4412            'region: ' + repr(self.region) + ' ' +\
 4413            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4414            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4415            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4416            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4417            'tags: ' + repr(self.tags) + ' ' +\
 4418            '>'
 4419
 4420    def to_dict(self):
 4421        return {
 4422            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4423            'bind_interface': self.bind_interface,
 4424            'certificate_authority': self.certificate_authority,
 4425            'cluster_name': self.cluster_name,
 4426            'discovery_enabled': self.discovery_enabled,
 4427            'discovery_username': self.discovery_username,
 4428            'egress_filter': self.egress_filter,
 4429            'endpoint': self.endpoint,
 4430            'healthcheck_namespace': self.healthcheck_namespace,
 4431            'healthy': self.healthy,
 4432            'id': self.id,
 4433            'identity_alias_healthcheck_username':
 4434            self.identity_alias_healthcheck_username,
 4435            'identity_set_id': self.identity_set_id,
 4436            'name': self.name,
 4437            'port_override': self.port_override,
 4438            'proxy_cluster_id': self.proxy_cluster_id,
 4439            'region': self.region,
 4440            'role_arn': self.role_arn,
 4441            'role_external_id': self.role_external_id,
 4442            'secret_store_id': self.secret_store_id,
 4443            'subdomain': self.subdomain,
 4444            'tags': self.tags,
 4445        }
 4446
 4447    @classmethod
 4448    def from_dict(cls, d):
 4449        return cls(
 4450            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4451            bind_interface=d.get('bind_interface'),
 4452            certificate_authority=d.get('certificate_authority'),
 4453            cluster_name=d.get('cluster_name'),
 4454            discovery_enabled=d.get('discovery_enabled'),
 4455            discovery_username=d.get('discovery_username'),
 4456            egress_filter=d.get('egress_filter'),
 4457            endpoint=d.get('endpoint'),
 4458            healthcheck_namespace=d.get('healthcheck_namespace'),
 4459            healthy=d.get('healthy'),
 4460            id=d.get('id'),
 4461            identity_alias_healthcheck_username=d.get(
 4462                'identity_alias_healthcheck_username'),
 4463            identity_set_id=d.get('identity_set_id'),
 4464            name=d.get('name'),
 4465            port_override=d.get('port_override'),
 4466            proxy_cluster_id=d.get('proxy_cluster_id'),
 4467            region=d.get('region'),
 4468            role_arn=d.get('role_arn'),
 4469            role_external_id=d.get('role_external_id'),
 4470            secret_store_id=d.get('secret_store_id'),
 4471            subdomain=d.get('subdomain'),
 4472            tags=d.get('tags'),
 4473        )
 4474
 4475
 4476class AmazonEKSInstanceProfileUserImpersonation:
 4477    __slots__ = [
 4478        'bind_interface',
 4479        'certificate_authority',
 4480        'cluster_name',
 4481        'egress_filter',
 4482        'endpoint',
 4483        'healthcheck_namespace',
 4484        'healthy',
 4485        'id',
 4486        'name',
 4487        'port_override',
 4488        'proxy_cluster_id',
 4489        'region',
 4490        'role_arn',
 4491        'role_external_id',
 4492        'secret_store_id',
 4493        'subdomain',
 4494        'tags',
 4495    ]
 4496
 4497    def __init__(
 4498        self,
 4499        bind_interface=None,
 4500        certificate_authority=None,
 4501        cluster_name=None,
 4502        egress_filter=None,
 4503        endpoint=None,
 4504        healthcheck_namespace=None,
 4505        healthy=None,
 4506        id=None,
 4507        name=None,
 4508        port_override=None,
 4509        proxy_cluster_id=None,
 4510        region=None,
 4511        role_arn=None,
 4512        role_external_id=None,
 4513        secret_store_id=None,
 4514        subdomain=None,
 4515        tags=None,
 4516    ):
 4517        self.bind_interface = bind_interface if bind_interface is not None else ''
 4518        '''
 4519         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4520        '''
 4521        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4522        '''
 4523         The CA to authenticate TLS connections with.
 4524        '''
 4525        self.cluster_name = cluster_name if cluster_name is not None else ''
 4526        '''
 4527         The name of the cluster to connect to.
 4528        '''
 4529        self.egress_filter = egress_filter if egress_filter is not None else ''
 4530        '''
 4531         A filter applied to the routing logic to pin datasource to nodes.
 4532        '''
 4533        self.endpoint = endpoint if endpoint is not None else ''
 4534        '''
 4535         The endpoint to dial.
 4536        '''
 4537        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4538        '''
 4539         The path used to check the health of your connection.  Defaults to `default`.
 4540        '''
 4541        self.healthy = healthy if healthy is not None else False
 4542        '''
 4543         True if the datasource is reachable and the credentials are valid.
 4544        '''
 4545        self.id = id if id is not None else ''
 4546        '''
 4547         Unique identifier of the Resource.
 4548        '''
 4549        self.name = name if name is not None else ''
 4550        '''
 4551         Unique human-readable name of the Resource.
 4552        '''
 4553        self.port_override = port_override if port_override is not None else 0
 4554        '''
 4555         The local port used by clients to connect to this resource.
 4556        '''
 4557        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4558        '''
 4559         ID of the proxy cluster for this resource, if any.
 4560        '''
 4561        self.region = region if region is not None else ''
 4562        '''
 4563         The AWS region to connect to e.g. us-east-1.
 4564        '''
 4565        self.role_arn = role_arn if role_arn is not None else ''
 4566        '''
 4567         The role to assume after logging in.
 4568        '''
 4569        self.role_external_id = role_external_id if role_external_id is not None else ''
 4570        '''
 4571         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4572        '''
 4573        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4574        '''
 4575         ID of the secret store containing credentials for this resource, if any.
 4576        '''
 4577        self.subdomain = subdomain if subdomain is not None else ''
 4578        '''
 4579         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4580        '''
 4581        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4582        '''
 4583         Tags is a map of key, value pairs.
 4584        '''
 4585
 4586    def __repr__(self):
 4587        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 4588            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4589            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4590            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4591            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4592            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4593            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4594            'healthy: ' + repr(self.healthy) + ' ' +\
 4595            'id: ' + repr(self.id) + ' ' +\
 4596            'name: ' + repr(self.name) + ' ' +\
 4597            'port_override: ' + repr(self.port_override) + ' ' +\
 4598            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4599            'region: ' + repr(self.region) + ' ' +\
 4600            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4601            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4602            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4603            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4604            'tags: ' + repr(self.tags) + ' ' +\
 4605            '>'
 4606
 4607    def to_dict(self):
 4608        return {
 4609            'bind_interface': self.bind_interface,
 4610            'certificate_authority': self.certificate_authority,
 4611            'cluster_name': self.cluster_name,
 4612            'egress_filter': self.egress_filter,
 4613            'endpoint': self.endpoint,
 4614            'healthcheck_namespace': self.healthcheck_namespace,
 4615            'healthy': self.healthy,
 4616            'id': self.id,
 4617            'name': self.name,
 4618            'port_override': self.port_override,
 4619            'proxy_cluster_id': self.proxy_cluster_id,
 4620            'region': self.region,
 4621            'role_arn': self.role_arn,
 4622            'role_external_id': self.role_external_id,
 4623            'secret_store_id': self.secret_store_id,
 4624            'subdomain': self.subdomain,
 4625            'tags': self.tags,
 4626        }
 4627
 4628    @classmethod
 4629    def from_dict(cls, d):
 4630        return cls(
 4631            bind_interface=d.get('bind_interface'),
 4632            certificate_authority=d.get('certificate_authority'),
 4633            cluster_name=d.get('cluster_name'),
 4634            egress_filter=d.get('egress_filter'),
 4635            endpoint=d.get('endpoint'),
 4636            healthcheck_namespace=d.get('healthcheck_namespace'),
 4637            healthy=d.get('healthy'),
 4638            id=d.get('id'),
 4639            name=d.get('name'),
 4640            port_override=d.get('port_override'),
 4641            proxy_cluster_id=d.get('proxy_cluster_id'),
 4642            region=d.get('region'),
 4643            role_arn=d.get('role_arn'),
 4644            role_external_id=d.get('role_external_id'),
 4645            secret_store_id=d.get('secret_store_id'),
 4646            subdomain=d.get('subdomain'),
 4647            tags=d.get('tags'),
 4648        )
 4649
 4650
 4651class AmazonEKSUserImpersonation:
 4652    __slots__ = [
 4653        'access_key',
 4654        'bind_interface',
 4655        'certificate_authority',
 4656        'cluster_name',
 4657        'egress_filter',
 4658        'endpoint',
 4659        'healthcheck_namespace',
 4660        'healthy',
 4661        'id',
 4662        'name',
 4663        'port_override',
 4664        'proxy_cluster_id',
 4665        'region',
 4666        'role_arn',
 4667        'role_external_id',
 4668        'secret_access_key',
 4669        'secret_store_id',
 4670        'subdomain',
 4671        'tags',
 4672    ]
 4673
 4674    def __init__(
 4675        self,
 4676        access_key=None,
 4677        bind_interface=None,
 4678        certificate_authority=None,
 4679        cluster_name=None,
 4680        egress_filter=None,
 4681        endpoint=None,
 4682        healthcheck_namespace=None,
 4683        healthy=None,
 4684        id=None,
 4685        name=None,
 4686        port_override=None,
 4687        proxy_cluster_id=None,
 4688        region=None,
 4689        role_arn=None,
 4690        role_external_id=None,
 4691        secret_access_key=None,
 4692        secret_store_id=None,
 4693        subdomain=None,
 4694        tags=None,
 4695    ):
 4696        self.access_key = access_key if access_key is not None else ''
 4697        '''
 4698         The Access Key ID to use to authenticate.
 4699        '''
 4700        self.bind_interface = bind_interface if bind_interface is not None else ''
 4701        '''
 4702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4703        '''
 4704        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4705        '''
 4706         The CA to authenticate TLS connections with.
 4707        '''
 4708        self.cluster_name = cluster_name if cluster_name is not None else ''
 4709        '''
 4710         The name of the cluster to connect to.
 4711        '''
 4712        self.egress_filter = egress_filter if egress_filter is not None else ''
 4713        '''
 4714         A filter applied to the routing logic to pin datasource to nodes.
 4715        '''
 4716        self.endpoint = endpoint if endpoint is not None else ''
 4717        '''
 4718         The endpoint to dial.
 4719        '''
 4720        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4721        '''
 4722         The path used to check the health of your connection.  Defaults to `default`.
 4723        '''
 4724        self.healthy = healthy if healthy is not None else False
 4725        '''
 4726         True if the datasource is reachable and the credentials are valid.
 4727        '''
 4728        self.id = id if id is not None else ''
 4729        '''
 4730         Unique identifier of the Resource.
 4731        '''
 4732        self.name = name if name is not None else ''
 4733        '''
 4734         Unique human-readable name of the Resource.
 4735        '''
 4736        self.port_override = port_override if port_override is not None else 0
 4737        '''
 4738         The local port used by clients to connect to this resource.
 4739        '''
 4740        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4741        '''
 4742         ID of the proxy cluster for this resource, if any.
 4743        '''
 4744        self.region = region if region is not None else ''
 4745        '''
 4746         The AWS region to connect to e.g. us-east-1.
 4747        '''
 4748        self.role_arn = role_arn if role_arn is not None else ''
 4749        '''
 4750         The role to assume after logging in.
 4751        '''
 4752        self.role_external_id = role_external_id if role_external_id is not None else ''
 4753        '''
 4754         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4755        '''
 4756        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4757        '''
 4758         The Secret Access Key to use to authenticate.
 4759        '''
 4760        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4761        '''
 4762         ID of the secret store containing credentials for this resource, if any.
 4763        '''
 4764        self.subdomain = subdomain if subdomain is not None else ''
 4765        '''
 4766         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4767        '''
 4768        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4769        '''
 4770         Tags is a map of key, value pairs.
 4771        '''
 4772
 4773    def __repr__(self):
 4774        return '<sdm.AmazonEKSUserImpersonation ' + \
 4775            'access_key: ' + repr(self.access_key) + ' ' +\
 4776            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4777            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4778            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4779            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4780            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4781            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4782            'healthy: ' + repr(self.healthy) + ' ' +\
 4783            'id: ' + repr(self.id) + ' ' +\
 4784            'name: ' + repr(self.name) + ' ' +\
 4785            'port_override: ' + repr(self.port_override) + ' ' +\
 4786            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4787            'region: ' + repr(self.region) + ' ' +\
 4788            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4789            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4790            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4791            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4792            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4793            'tags: ' + repr(self.tags) + ' ' +\
 4794            '>'
 4795
 4796    def to_dict(self):
 4797        return {
 4798            'access_key': self.access_key,
 4799            'bind_interface': self.bind_interface,
 4800            'certificate_authority': self.certificate_authority,
 4801            'cluster_name': self.cluster_name,
 4802            'egress_filter': self.egress_filter,
 4803            'endpoint': self.endpoint,
 4804            'healthcheck_namespace': self.healthcheck_namespace,
 4805            'healthy': self.healthy,
 4806            'id': self.id,
 4807            'name': self.name,
 4808            'port_override': self.port_override,
 4809            'proxy_cluster_id': self.proxy_cluster_id,
 4810            'region': self.region,
 4811            'role_arn': self.role_arn,
 4812            'role_external_id': self.role_external_id,
 4813            'secret_access_key': self.secret_access_key,
 4814            'secret_store_id': self.secret_store_id,
 4815            'subdomain': self.subdomain,
 4816            'tags': self.tags,
 4817        }
 4818
 4819    @classmethod
 4820    def from_dict(cls, d):
 4821        return cls(
 4822            access_key=d.get('access_key'),
 4823            bind_interface=d.get('bind_interface'),
 4824            certificate_authority=d.get('certificate_authority'),
 4825            cluster_name=d.get('cluster_name'),
 4826            egress_filter=d.get('egress_filter'),
 4827            endpoint=d.get('endpoint'),
 4828            healthcheck_namespace=d.get('healthcheck_namespace'),
 4829            healthy=d.get('healthy'),
 4830            id=d.get('id'),
 4831            name=d.get('name'),
 4832            port_override=d.get('port_override'),
 4833            proxy_cluster_id=d.get('proxy_cluster_id'),
 4834            region=d.get('region'),
 4835            role_arn=d.get('role_arn'),
 4836            role_external_id=d.get('role_external_id'),
 4837            secret_access_key=d.get('secret_access_key'),
 4838            secret_store_id=d.get('secret_store_id'),
 4839            subdomain=d.get('subdomain'),
 4840            tags=d.get('tags'),
 4841        )
 4842
 4843
 4844class AmazonES:
 4845    __slots__ = [
 4846        'access_key',
 4847        'bind_interface',
 4848        'egress_filter',
 4849        'endpoint',
 4850        'healthy',
 4851        'id',
 4852        'name',
 4853        'port_override',
 4854        'proxy_cluster_id',
 4855        'region',
 4856        'role_arn',
 4857        'role_external_id',
 4858        'secret_access_key',
 4859        'secret_store_id',
 4860        'subdomain',
 4861        'tags',
 4862    ]
 4863
 4864    def __init__(
 4865        self,
 4866        access_key=None,
 4867        bind_interface=None,
 4868        egress_filter=None,
 4869        endpoint=None,
 4870        healthy=None,
 4871        id=None,
 4872        name=None,
 4873        port_override=None,
 4874        proxy_cluster_id=None,
 4875        region=None,
 4876        role_arn=None,
 4877        role_external_id=None,
 4878        secret_access_key=None,
 4879        secret_store_id=None,
 4880        subdomain=None,
 4881        tags=None,
 4882    ):
 4883        self.access_key = access_key if access_key is not None else ''
 4884        '''
 4885         The Access Key ID to use to authenticate.
 4886        '''
 4887        self.bind_interface = bind_interface if bind_interface is not None else ''
 4888        '''
 4889         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 4890        '''
 4891        self.egress_filter = egress_filter if egress_filter is not None else ''
 4892        '''
 4893         A filter applied to the routing logic to pin datasource to nodes.
 4894        '''
 4895        self.endpoint = endpoint if endpoint is not None else ''
 4896        '''
 4897         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 4898        '''
 4899        self.healthy = healthy if healthy is not None else False
 4900        '''
 4901         True if the datasource is reachable and the credentials are valid.
 4902        '''
 4903        self.id = id if id is not None else ''
 4904        '''
 4905         Unique identifier of the Resource.
 4906        '''
 4907        self.name = name if name is not None else ''
 4908        '''
 4909         Unique human-readable name of the Resource.
 4910        '''
 4911        self.port_override = port_override if port_override is not None else 0
 4912        '''
 4913         The local port used by clients to connect to this resource.
 4914        '''
 4915        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4916        '''
 4917         ID of the proxy cluster for this resource, if any.
 4918        '''
 4919        self.region = region if region is not None else ''
 4920        '''
 4921         The AWS region to connect to e.g. us-east-1.
 4922        '''
 4923        self.role_arn = role_arn if role_arn is not None else ''
 4924        '''
 4925         The role to assume after logging in.
 4926        '''
 4927        self.role_external_id = role_external_id if role_external_id is not None else ''
 4928        '''
 4929         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4930        '''
 4931        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4932        '''
 4933         The Secret Access Key to use to authenticate.
 4934        '''
 4935        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4936        '''
 4937         ID of the secret store containing credentials for this resource, if any.
 4938        '''
 4939        self.subdomain = subdomain if subdomain is not None else ''
 4940        '''
 4941         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 4942        '''
 4943        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4944        '''
 4945         Tags is a map of key, value pairs.
 4946        '''
 4947
 4948    def __repr__(self):
 4949        return '<sdm.AmazonES ' + \
 4950            'access_key: ' + repr(self.access_key) + ' ' +\
 4951            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4952            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4953            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4954            'healthy: ' + repr(self.healthy) + ' ' +\
 4955            'id: ' + repr(self.id) + ' ' +\
 4956            'name: ' + repr(self.name) + ' ' +\
 4957            'port_override: ' + repr(self.port_override) + ' ' +\
 4958            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4959            'region: ' + repr(self.region) + ' ' +\
 4960            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4961            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4962            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4963            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4964            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4965            'tags: ' + repr(self.tags) + ' ' +\
 4966            '>'
 4967
 4968    def to_dict(self):
 4969        return {
 4970            'access_key': self.access_key,
 4971            'bind_interface': self.bind_interface,
 4972            'egress_filter': self.egress_filter,
 4973            'endpoint': self.endpoint,
 4974            'healthy': self.healthy,
 4975            'id': self.id,
 4976            'name': self.name,
 4977            'port_override': self.port_override,
 4978            'proxy_cluster_id': self.proxy_cluster_id,
 4979            'region': self.region,
 4980            'role_arn': self.role_arn,
 4981            'role_external_id': self.role_external_id,
 4982            'secret_access_key': self.secret_access_key,
 4983            'secret_store_id': self.secret_store_id,
 4984            'subdomain': self.subdomain,
 4985            'tags': self.tags,
 4986        }
 4987
 4988    @classmethod
 4989    def from_dict(cls, d):
 4990        return cls(
 4991            access_key=d.get('access_key'),
 4992            bind_interface=d.get('bind_interface'),
 4993            egress_filter=d.get('egress_filter'),
 4994            endpoint=d.get('endpoint'),
 4995            healthy=d.get('healthy'),
 4996            id=d.get('id'),
 4997            name=d.get('name'),
 4998            port_override=d.get('port_override'),
 4999            proxy_cluster_id=d.get('proxy_cluster_id'),
 5000            region=d.get('region'),
 5001            role_arn=d.get('role_arn'),
 5002            role_external_id=d.get('role_external_id'),
 5003            secret_access_key=d.get('secret_access_key'),
 5004            secret_store_id=d.get('secret_store_id'),
 5005            subdomain=d.get('subdomain'),
 5006            tags=d.get('tags'),
 5007        )
 5008
 5009
 5010class AmazonESIAM:
 5011    __slots__ = [
 5012        'bind_interface',
 5013        'egress_filter',
 5014        'endpoint',
 5015        'healthy',
 5016        'id',
 5017        'name',
 5018        'port_override',
 5019        'proxy_cluster_id',
 5020        'region',
 5021        'role_arn',
 5022        'role_external_id',
 5023        'secret_store_id',
 5024        'subdomain',
 5025        'tags',
 5026        'tlsrequired',
 5027    ]
 5028
 5029    def __init__(
 5030        self,
 5031        bind_interface=None,
 5032        egress_filter=None,
 5033        endpoint=None,
 5034        healthy=None,
 5035        id=None,
 5036        name=None,
 5037        port_override=None,
 5038        proxy_cluster_id=None,
 5039        region=None,
 5040        role_arn=None,
 5041        role_external_id=None,
 5042        secret_store_id=None,
 5043        subdomain=None,
 5044        tags=None,
 5045        tlsrequired=None,
 5046    ):
 5047        self.bind_interface = bind_interface if bind_interface is not None else ''
 5048        '''
 5049         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5050        '''
 5051        self.egress_filter = egress_filter if egress_filter is not None else ''
 5052        '''
 5053         A filter applied to the routing logic to pin datasource to nodes.
 5054        '''
 5055        self.endpoint = endpoint if endpoint is not None else ''
 5056        '''
 5057         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5058        '''
 5059        self.healthy = healthy if healthy is not None else False
 5060        '''
 5061         True if the datasource is reachable and the credentials are valid.
 5062        '''
 5063        self.id = id if id is not None else ''
 5064        '''
 5065         Unique identifier of the Resource.
 5066        '''
 5067        self.name = name if name is not None else ''
 5068        '''
 5069         Unique human-readable name of the Resource.
 5070        '''
 5071        self.port_override = port_override if port_override is not None else 0
 5072        '''
 5073         The local port used by clients to connect to this resource.
 5074        '''
 5075        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5076        '''
 5077         ID of the proxy cluster for this resource, if any.
 5078        '''
 5079        self.region = region if region is not None else ''
 5080        '''
 5081         The AWS region to connect to.
 5082        '''
 5083        self.role_arn = role_arn if role_arn is not None else ''
 5084        '''
 5085         The role to assume after logging in.
 5086        '''
 5087        self.role_external_id = role_external_id if role_external_id is not None else ''
 5088        '''
 5089         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5090        '''
 5091        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5092        '''
 5093         ID of the secret store containing credentials for this resource, if any.
 5094        '''
 5095        self.subdomain = subdomain if subdomain is not None else ''
 5096        '''
 5097         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5098        '''
 5099        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5100        '''
 5101         Tags is a map of key, value pairs.
 5102        '''
 5103        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5104        '''
 5105         Use TLS to connect to the OpenSearch server
 5106        '''
 5107
 5108    def __repr__(self):
 5109        return '<sdm.AmazonESIAM ' + \
 5110            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5111            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5112            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5113            'healthy: ' + repr(self.healthy) + ' ' +\
 5114            'id: ' + repr(self.id) + ' ' +\
 5115            'name: ' + repr(self.name) + ' ' +\
 5116            'port_override: ' + repr(self.port_override) + ' ' +\
 5117            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5118            'region: ' + repr(self.region) + ' ' +\
 5119            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5120            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5121            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5122            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5123            'tags: ' + repr(self.tags) + ' ' +\
 5124            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5125            '>'
 5126
 5127    def to_dict(self):
 5128        return {
 5129            'bind_interface': self.bind_interface,
 5130            'egress_filter': self.egress_filter,
 5131            'endpoint': self.endpoint,
 5132            'healthy': self.healthy,
 5133            'id': self.id,
 5134            'name': self.name,
 5135            'port_override': self.port_override,
 5136            'proxy_cluster_id': self.proxy_cluster_id,
 5137            'region': self.region,
 5138            'role_arn': self.role_arn,
 5139            'role_external_id': self.role_external_id,
 5140            'secret_store_id': self.secret_store_id,
 5141            'subdomain': self.subdomain,
 5142            'tags': self.tags,
 5143            'tlsrequired': self.tlsrequired,
 5144        }
 5145
 5146    @classmethod
 5147    def from_dict(cls, d):
 5148        return cls(
 5149            bind_interface=d.get('bind_interface'),
 5150            egress_filter=d.get('egress_filter'),
 5151            endpoint=d.get('endpoint'),
 5152            healthy=d.get('healthy'),
 5153            id=d.get('id'),
 5154            name=d.get('name'),
 5155            port_override=d.get('port_override'),
 5156            proxy_cluster_id=d.get('proxy_cluster_id'),
 5157            region=d.get('region'),
 5158            role_arn=d.get('role_arn'),
 5159            role_external_id=d.get('role_external_id'),
 5160            secret_store_id=d.get('secret_store_id'),
 5161            subdomain=d.get('subdomain'),
 5162            tags=d.get('tags'),
 5163            tlsrequired=d.get('tlsrequired'),
 5164        )
 5165
 5166
 5167class AmazonMQAMQP091:
 5168    __slots__ = [
 5169        'bind_interface',
 5170        'egress_filter',
 5171        'healthy',
 5172        'hostname',
 5173        'id',
 5174        'name',
 5175        'password',
 5176        'port',
 5177        'port_override',
 5178        'proxy_cluster_id',
 5179        'secret_store_id',
 5180        'subdomain',
 5181        'tags',
 5182        'tls_required',
 5183        'username',
 5184    ]
 5185
 5186    def __init__(
 5187        self,
 5188        bind_interface=None,
 5189        egress_filter=None,
 5190        healthy=None,
 5191        hostname=None,
 5192        id=None,
 5193        name=None,
 5194        password=None,
 5195        port=None,
 5196        port_override=None,
 5197        proxy_cluster_id=None,
 5198        secret_store_id=None,
 5199        subdomain=None,
 5200        tags=None,
 5201        tls_required=None,
 5202        username=None,
 5203    ):
 5204        self.bind_interface = bind_interface if bind_interface is not None else ''
 5205        '''
 5206         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 5207        '''
 5208        self.egress_filter = egress_filter if egress_filter is not None else ''
 5209        '''
 5210         A filter applied to the routing logic to pin datasource to nodes.
 5211        '''
 5212        self.healthy = healthy if healthy is not None else False
 5213        '''
 5214         True if the datasource is reachable and the credentials are valid.
 5215        '''
 5216        self.hostname = hostname if hostname is not None else ''
 5217        '''
 5218         The host to dial to initiate a connection from the egress node to this resource.
 5219        '''
 5220        self.id = id if id is not None else ''
 5221        '''
 5222         Unique identifier of the Resource.
 5223        '''
 5224        self.name = name if name is not None else ''
 5225        '''
 5226         Unique human-readable name of the Resource.
 5227        '''
 5228        self.password = password if password is not None else ''
 5229        '''
 5230         The password to authenticate with.
 5231        '''
 5232        self.port = port if port is not None else 0
 5233        '''
 5234         The port to dial to initiate a connection from the egress node to this resource.
 5235        '''
 5236        self.port_override = port_override if port_override is not None else 0
 5237        '''
 5238         The local port used by clients to connect to this resource.
 5239        '''
 5240        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5241        '''
 5242         ID of the proxy cluster for this resource, if any.
 5243        '''
 5244        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5245        '''
 5246         ID of the secret store containing credentials for this resource, if any.
 5247        '''
 5248        self.subdomain = subdomain if subdomain is not None else ''
 5249        '''
 5250         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 5251        '''
 5252        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5253        '''
 5254         Tags is a map of key, value pairs.
 5255        '''
 5256        self.tls_required = tls_required if tls_required is not None else False
 5257        '''
 5258         If set, TLS must be used to connect to this resource.
 5259        '''
 5260        self.username = username if username is not None else ''
 5261        '''
 5262         The username to authenticate with.
 5263        '''
 5264
 5265    def __repr__(self):
 5266        return '<sdm.AmazonMQAMQP091 ' + \
 5267            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5268            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5269            'healthy: ' + repr(self.healthy) + ' ' +\
 5270            'hostname: ' + repr(self.hostname) + ' ' +\
 5271            'id: ' + repr(self.id) + ' ' +\
 5272            'name: ' + repr(self.name) + ' ' +\
 5273            'password: ' + repr(self.password) + ' ' +\
 5274            'port: ' + repr(self.port) + ' ' +\
 5275            'port_override: ' + repr(self.port_override) + ' ' +\
 5276            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5277            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5278            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5279            'tags: ' + repr(self.tags) + ' ' +\
 5280            'tls_required: ' + repr(self.tls_required) + ' ' +\
 5281            'username: ' + repr(self.username) + ' ' +\
 5282            '>'
 5283
 5284    def to_dict(self):
 5285        return {
 5286            'bind_interface': self.bind_interface,
 5287            'egress_filter': self.egress_filter,
 5288            'healthy': self.healthy,
 5289            'hostname': self.hostname,
 5290            'id': self.id,
 5291            'name': self.name,
 5292            'password': self.password,
 5293            'port': self.port,
 5294            'port_override': self.port_override,
 5295            'proxy_cluster_id': self.proxy_cluster_id,
 5296            'secret_store_id': self.secret_store_id,
 5297            'subdomain': self.subdomain,
 5298            'tags': self.tags,
 5299            'tls_required': self.tls_required,
 5300            'username': self.username,
 5301        }
 5302
 5303    @classmethod
 5304    def from_dict(cls, d):
 5305        return cls(
 5306            bind_interface=d.get('bind_interface'),
 5307            egress_filter=d.get('egress_filter'),
 5308            healthy=d.get('healthy'),
 5309            hostname=d.get('hostname'),
 5310            id=d.get('id'),
 5311            name=d.get('name'),
 5312            password=d.get('password'),
 5313            port=d.get('port'),
 5314            port_override=d.get('port_override'),
 5315            proxy_cluster_id=d.get('proxy_cluster_id'),
 5316            secret_store_id=d.get('secret_store_id'),
 5317            subdomain=d.get('subdomain'),
 5318            tags=d.get('tags'),
 5319            tls_required=d.get('tls_required'),
 5320            username=d.get('username'),
 5321        )
 5322
 5323
 5324class ApprovalFlowApprover:
 5325    '''
 5326         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 5327    '''
 5328    __slots__ = [
 5329        'account_id',
 5330        'reference',
 5331        'role_id',
 5332    ]
 5333
 5334    def __init__(
 5335        self,
 5336        account_id=None,
 5337        reference=None,
 5338        role_id=None,
 5339    ):
 5340        self.account_id = account_id if account_id is not None else ''
 5341        '''
 5342         The approver account id.
 5343        '''
 5344        self.reference = reference if reference is not None else ''
 5345        '''
 5346         A reference to an approver. Must be one of ApproverReference constants.
 5347         If set, the account_id and role_id must be empty.
 5348        '''
 5349        self.role_id = role_id if role_id is not None else ''
 5350        '''
 5351         The approver role id
 5352        '''
 5353
 5354    def __repr__(self):
 5355        return '<sdm.ApprovalFlowApprover ' + \
 5356            'account_id: ' + repr(self.account_id) + ' ' +\
 5357            'reference: ' + repr(self.reference) + ' ' +\
 5358            'role_id: ' + repr(self.role_id) + ' ' +\
 5359            '>'
 5360
 5361    def to_dict(self):
 5362        return {
 5363            'account_id': self.account_id,
 5364            'reference': self.reference,
 5365            'role_id': self.role_id,
 5366        }
 5367
 5368    @classmethod
 5369    def from_dict(cls, d):
 5370        return cls(
 5371            account_id=d.get('account_id'),
 5372            reference=d.get('reference'),
 5373            role_id=d.get('role_id'),
 5374        )
 5375
 5376
 5377class ApprovalFlowStep:
 5378    '''
 5379         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 5380    '''
 5381    __slots__ = [
 5382        'approvers',
 5383        'quantifier',
 5384        'skip_after',
 5385    ]
 5386
 5387    def __init__(
 5388        self,
 5389        approvers=None,
 5390        quantifier=None,
 5391        skip_after=None,
 5392    ):
 5393        self.approvers = approvers if approvers is not None else []
 5394        '''
 5395         The approvers for this approval step
 5396        '''
 5397        self.quantifier = quantifier if quantifier is not None else ''
 5398        '''
 5399         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 5400        '''
 5401        self.skip_after = skip_after if skip_after is not None else None
 5402        '''
 5403         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
 5404        '''
 5405
 5406    def __repr__(self):
 5407        return '<sdm.ApprovalFlowStep ' + \
 5408            'approvers: ' + repr(self.approvers) + ' ' +\
 5409            'quantifier: ' + repr(self.quantifier) + ' ' +\
 5410            'skip_after: ' + repr(self.skip_after) + ' ' +\
 5411            '>'
 5412
 5413    def to_dict(self):
 5414        return {
 5415            'approvers': self.approvers,
 5416            'quantifier': self.quantifier,
 5417            'skip_after': self.skip_after,
 5418        }
 5419
 5420    @classmethod
 5421    def from_dict(cls, d):
 5422        return cls(
 5423            approvers=d.get('approvers'),
 5424            quantifier=d.get('quantifier'),
 5425            skip_after=d.get('skip_after'),
 5426        )
 5427
 5428
 5429class ApprovalWorkflow:
 5430    '''
 5431         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 5432     approvers and be approved or denied.
 5433    '''
 5434    __slots__ = [
 5435        'approval_mode',
 5436        'approval_workflow_steps',
 5437        'description',
 5438        'id',
 5439        'name',
 5440    ]
 5441
 5442    def __init__(
 5443        self,
 5444        approval_mode=None,
 5445        approval_workflow_steps=None,
 5446        description=None,
 5447        id=None,
 5448        name=None,
 5449    ):
 5450        self.approval_mode = approval_mode if approval_mode is not None else ''
 5451        '''
 5452         Approval mode of the ApprovalWorkflow
 5453        '''
 5454        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 5455        '''
 5456         The approval steps of this approval workflow
 5457        '''
 5458        self.description = description if description is not None else ''
 5459        '''
 5460         Optional description of the ApprovalWorkflow.
 5461        '''
 5462        self.id = id if id is not None else ''
 5463        '''
 5464         Unique identifier of the ApprovalWorkflow.
 5465        '''
 5466        self.name = name if name is not None else ''
 5467        '''
 5468         Unique human-readable name of the ApprovalWorkflow.
 5469        '''
 5470
 5471    def __repr__(self):
 5472        return '<sdm.ApprovalWorkflow ' + \
 5473            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 5474            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 5475            'description: ' + repr(self.description) + ' ' +\
 5476            'id: ' + repr(self.id) + ' ' +\
 5477            'name: ' + repr(self.name) + ' ' +\
 5478            '>'
 5479
 5480    def to_dict(self):
 5481        return {
 5482            'approval_mode': self.approval_mode,
 5483            'approval_workflow_steps': self.approval_workflow_steps,
 5484            'description': self.description,
 5485            'id': self.id,
 5486            'name': self.name,
 5487        }
 5488
 5489    @classmethod
 5490    def from_dict(cls, d):
 5491        return cls(
 5492            approval_mode=d.get('approval_mode'),
 5493            approval_workflow_steps=d.get('approval_workflow_steps'),
 5494            description=d.get('description'),
 5495            id=d.get('id'),
 5496            name=d.get('name'),
 5497        )
 5498
 5499
 5500class ApprovalWorkflowApprover:
 5501    '''
 5502         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 5503    '''
 5504    __slots__ = [
 5505        'account_id',
 5506        'approval_flow_id',
 5507        'approval_step_id',
 5508        'id',
 5509        'reference',
 5510        'role_id',
 5511    ]
 5512
 5513    def __init__(
 5514        self,
 5515        account_id=None,
 5516        approval_flow_id=None,
 5517        approval_step_id=None,
 5518        id=None,
 5519        reference=None,
 5520        role_id=None,
 5521    ):
 5522        self.account_id = account_id if account_id is not None else ''
 5523        '''
 5524         The approver account id.
 5525        '''
 5526        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 5527        '''
 5528         The approval flow id specified the approval workflow that this approver belongs to
 5529        '''
 5530        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 5531        '''
 5532         The approval step id specified the approval flow step that this approver belongs to
 5533        '''
 5534        self.id = id if id is not None else ''
 5535        '''
 5536         Unique identifier of the ApprovalWorkflowApprover.
 5537        '''
 5538        self.reference = reference if reference is not None else ''
 5539        '''
 5540         A reference to an approver. Will be one of ApproverReference constants.
 5541         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 5542         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 5543        '''
 5544        self.role_id = role_id if role_id is not None else ''
 5545        '''
 5546         The approver role id
 5547        '''
 5548
 5549    def __repr__(self):
 5550        return '<sdm.ApprovalWorkflowApprover ' + \
 5551            'account_id: ' + repr(self.account_id) + ' ' +\
 5552            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 5553            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 5554            'id: ' + repr(self.id) + ' ' +\
 5555            'reference: ' + repr(self.reference) + ' ' +\
 5556            'role_id: ' + repr(self.role_id) + ' ' +\
 5557            '>'
 5558
 5559    def to_dict(self):
 5560        return {
 5561            'account_id': self.account_id,
 5562            'approval_flow_id': self.approval_flow_id,
 5563            'approval_step_id': self.approval_step_id,
 5564            'id': self.id,
 5565            'reference': self.reference,
 5566            'role_id': self.role_id,
 5567        }
 5568
 5569    @classmethod
 5570    def from_dict(cls, d):
 5571        return cls(
 5572            account_id=d.get('account_id'),
 5573            approval_flow_id=d.get('approval_flow_id'),
 5574            approval_step_id=d.get('approval_step_id'),
 5575            id=d.get('id'),
 5576            reference=d.get('reference'),
 5577            role_id=d.get('role_id'),
 5578        )
 5579
 5580
 5581class ApprovalWorkflowApproverCreateResponse:
 5582    '''
 5583         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 5584    '''
 5585    __slots__ = [
 5586        'approval_workflow_approver',
 5587        'rate_limit',
 5588    ]
 5589
 5590    def __init__(
 5591        self,
 5592        approval_workflow_approver=None,
 5593        rate_limit=None,
 5594    ):
 5595        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5596        '''
 5597         The created approval workflow approver.
 5598        '''
 5599        self.rate_limit = rate_limit if rate_limit is not None else None
 5600        '''
 5601         Rate limit information.
 5602        '''
 5603
 5604    def __repr__(self):
 5605        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 5606            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5607            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5608            '>'
 5609
 5610    def to_dict(self):
 5611        return {
 5612            'approval_workflow_approver': self.approval_workflow_approver,
 5613            'rate_limit': self.rate_limit,
 5614        }
 5615
 5616    @classmethod
 5617    def from_dict(cls, d):
 5618        return cls(
 5619            approval_workflow_approver=d.get('approval_workflow_approver'),
 5620            rate_limit=d.get('rate_limit'),
 5621        )
 5622
 5623
 5624class ApprovalWorkflowApproverDeleteResponse:
 5625    '''
 5626         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 5627    '''
 5628    __slots__ = [
 5629        'id',
 5630        'rate_limit',
 5631    ]
 5632
 5633    def __init__(
 5634        self,
 5635        id=None,
 5636        rate_limit=None,
 5637    ):
 5638        self.id = id if id is not None else ''
 5639        '''
 5640         The deleted approval workflow approver id.
 5641        '''
 5642        self.rate_limit = rate_limit if rate_limit is not None else None
 5643        '''
 5644         Rate limit information.
 5645        '''
 5646
 5647    def __repr__(self):
 5648        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 5649            'id: ' + repr(self.id) + ' ' +\
 5650            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5651            '>'
 5652
 5653    def to_dict(self):
 5654        return {
 5655            'id': self.id,
 5656            'rate_limit': self.rate_limit,
 5657        }
 5658
 5659    @classmethod
 5660    def from_dict(cls, d):
 5661        return cls(
 5662            id=d.get('id'),
 5663            rate_limit=d.get('rate_limit'),
 5664        )
 5665
 5666
 5667class ApprovalWorkflowApproverGetResponse:
 5668    '''
 5669         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 5670    '''
 5671    __slots__ = [
 5672        'approval_workflow_approver',
 5673        'meta',
 5674        'rate_limit',
 5675    ]
 5676
 5677    def __init__(
 5678        self,
 5679        approval_workflow_approver=None,
 5680        meta=None,
 5681        rate_limit=None,
 5682    ):
 5683        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5684        '''
 5685         The requested ApprovalWorkflowApprover.
 5686        '''
 5687        self.meta = meta if meta is not None else None
 5688        '''
 5689         Reserved for future use.
 5690        '''
 5691        self.rate_limit = rate_limit if rate_limit is not None else None
 5692        '''
 5693         Rate limit information.
 5694        '''
 5695
 5696    def __repr__(self):
 5697        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 5698            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5699            'meta: ' + repr(self.meta) + ' ' +\
 5700            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5701            '>'
 5702
 5703    def to_dict(self):
 5704        return {
 5705            'approval_workflow_approver': self.approval_workflow_approver,
 5706            'meta': self.meta,
 5707            'rate_limit': self.rate_limit,
 5708        }
 5709
 5710    @classmethod
 5711    def from_dict(cls, d):
 5712        return cls(
 5713            approval_workflow_approver=d.get('approval_workflow_approver'),
 5714            meta=d.get('meta'),
 5715            rate_limit=d.get('rate_limit'),
 5716        )
 5717
 5718
 5719class ApprovalWorkflowApproverHistory:
 5720    '''
 5721         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 5722     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 5723     ApprovalWorkflowApproverHistory record.
 5724    '''
 5725    __slots__ = [
 5726        'activity_id',
 5727        'approval_workflow_approver',
 5728        'deleted_at',
 5729        'timestamp',
 5730    ]
 5731
 5732    def __init__(
 5733        self,
 5734        activity_id=None,
 5735        approval_workflow_approver=None,
 5736        deleted_at=None,
 5737        timestamp=None,
 5738    ):
 5739        self.activity_id = activity_id if activity_id is not None else ''
 5740        '''
 5741         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 5742         May be empty for some system-initiated updates.
 5743        '''
 5744        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 5745        '''
 5746         The complete ApprovalWorkflowApprover state at this time.
 5747        '''
 5748        self.deleted_at = deleted_at if deleted_at is not None else None
 5749        '''
 5750         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 5751        '''
 5752        self.timestamp = timestamp if timestamp is not None else None
 5753        '''
 5754         The time at which the ApprovalWorkflowApprover state was recorded.
 5755        '''
 5756
 5757    def __repr__(self):
 5758        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 5759            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5760            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 5761            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5762            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5763            '>'
 5764
 5765    def to_dict(self):
 5766        return {
 5767            'activity_id': self.activity_id,
 5768            'approval_workflow_approver': self.approval_workflow_approver,
 5769            'deleted_at': self.deleted_at,
 5770            'timestamp': self.timestamp,
 5771        }
 5772
 5773    @classmethod
 5774    def from_dict(cls, d):
 5775        return cls(
 5776            activity_id=d.get('activity_id'),
 5777            approval_workflow_approver=d.get('approval_workflow_approver'),
 5778            deleted_at=d.get('deleted_at'),
 5779            timestamp=d.get('timestamp'),
 5780        )
 5781
 5782
 5783class ApprovalWorkflowApproverListResponse:
 5784    '''
 5785         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 5786     the criteria of an ApprovalWorkflowApproverListRequest.
 5787    '''
 5788    __slots__ = [
 5789        'rate_limit',
 5790    ]
 5791
 5792    def __init__(
 5793        self,
 5794        rate_limit=None,
 5795    ):
 5796        self.rate_limit = rate_limit if rate_limit is not None else None
 5797        '''
 5798         Rate limit information.
 5799        '''
 5800
 5801    def __repr__(self):
 5802        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 5803            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5804            '>'
 5805
 5806    def to_dict(self):
 5807        return {
 5808            'rate_limit': self.rate_limit,
 5809        }
 5810
 5811    @classmethod
 5812    def from_dict(cls, d):
 5813        return cls(rate_limit=d.get('rate_limit'), )
 5814
 5815
 5816class ApprovalWorkflowCreateResponse:
 5817    '''
 5818         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 5819    '''
 5820    __slots__ = [
 5821        'approval_workflow',
 5822        'rate_limit',
 5823    ]
 5824
 5825    def __init__(
 5826        self,
 5827        approval_workflow=None,
 5828        rate_limit=None,
 5829    ):
 5830        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5831        '''
 5832         The created approval workflow.
 5833        '''
 5834        self.rate_limit = rate_limit if rate_limit is not None else None
 5835        '''
 5836         Rate limit information.
 5837        '''
 5838
 5839    def __repr__(self):
 5840        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 5841            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5842            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5843            '>'
 5844
 5845    def to_dict(self):
 5846        return {
 5847            'approval_workflow': self.approval_workflow,
 5848            'rate_limit': self.rate_limit,
 5849        }
 5850
 5851    @classmethod
 5852    def from_dict(cls, d):
 5853        return cls(
 5854            approval_workflow=d.get('approval_workflow'),
 5855            rate_limit=d.get('rate_limit'),
 5856        )
 5857
 5858
 5859class ApprovalWorkflowDeleteResponse:
 5860    '''
 5861         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 5862    '''
 5863    __slots__ = [
 5864        'id',
 5865        'rate_limit',
 5866    ]
 5867
 5868    def __init__(
 5869        self,
 5870        id=None,
 5871        rate_limit=None,
 5872    ):
 5873        self.id = id if id is not None else ''
 5874        '''
 5875         The deleted approval workflow id.
 5876        '''
 5877        self.rate_limit = rate_limit if rate_limit is not None else None
 5878        '''
 5879         Rate limit information.
 5880        '''
 5881
 5882    def __repr__(self):
 5883        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 5884            'id: ' + repr(self.id) + ' ' +\
 5885            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5886            '>'
 5887
 5888    def to_dict(self):
 5889        return {
 5890            'id': self.id,
 5891            'rate_limit': self.rate_limit,
 5892        }
 5893
 5894    @classmethod
 5895    def from_dict(cls, d):
 5896        return cls(
 5897            id=d.get('id'),
 5898            rate_limit=d.get('rate_limit'),
 5899        )
 5900
 5901
 5902class ApprovalWorkflowGetResponse:
 5903    '''
 5904         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 5905    '''
 5906    __slots__ = [
 5907        'approval_workflow',
 5908        'meta',
 5909        'rate_limit',
 5910    ]
 5911
 5912    def __init__(
 5913        self,
 5914        approval_workflow=None,
 5915        meta=None,
 5916        rate_limit=None,
 5917    ):
 5918        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5919        '''
 5920         The requested ApprovalWorkflow.
 5921        '''
 5922        self.meta = meta if meta is not None else None
 5923        '''
 5924         Reserved for future use.
 5925        '''
 5926        self.rate_limit = rate_limit if rate_limit is not None else None
 5927        '''
 5928         Rate limit information.
 5929        '''
 5930
 5931    def __repr__(self):
 5932        return '<sdm.ApprovalWorkflowGetResponse ' + \
 5933            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5934            'meta: ' + repr(self.meta) + ' ' +\
 5935            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 5936            '>'
 5937
 5938    def to_dict(self):
 5939        return {
 5940            'approval_workflow': self.approval_workflow,
 5941            'meta': self.meta,
 5942            'rate_limit': self.rate_limit,
 5943        }
 5944
 5945    @classmethod
 5946    def from_dict(cls, d):
 5947        return cls(
 5948            approval_workflow=d.get('approval_workflow'),
 5949            meta=d.get('meta'),
 5950            rate_limit=d.get('rate_limit'),
 5951        )
 5952
 5953
 5954class ApprovalWorkflowHistory:
 5955    '''
 5956         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 5957     where every change (create, update and delete) to an ApprovalWorkflow produces an
 5958     ApprovalWorkflowHistory record.
 5959    '''
 5960    __slots__ = [
 5961        'activity_id',
 5962        'approval_workflow',
 5963        'deleted_at',
 5964        'timestamp',
 5965    ]
 5966
 5967    def __init__(
 5968        self,
 5969        activity_id=None,
 5970        approval_workflow=None,
 5971        deleted_at=None,
 5972        timestamp=None,
 5973    ):
 5974        self.activity_id = activity_id if activity_id is not None else ''
 5975        '''
 5976         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 5977         May be empty for some system-initiated updates.
 5978        '''
 5979        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 5980        '''
 5981         The complete ApprovalWorkflow state at this time.
 5982        '''
 5983        self.deleted_at = deleted_at if deleted_at is not None else None
 5984        '''
 5985         If this ApprovalWorkflow was deleted, the time it was deleted.
 5986        '''
 5987        self.timestamp = timestamp if timestamp is not None else None
 5988        '''
 5989         The time at which the ApprovalWorkflow state was recorded.
 5990        '''
 5991
 5992    def __repr__(self):
 5993        return '<sdm.ApprovalWorkflowHistory ' + \
 5994            'activity_id: ' + repr(self.activity_id) + ' ' +\
 5995            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 5996            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 5997            'timestamp: ' + repr(self.timestamp) + ' ' +\
 5998            '>'
 5999
 6000    def to_dict(self):
 6001        return {
 6002            'activity_id': self.activity_id,
 6003            'approval_workflow': self.approval_workflow,
 6004            'deleted_at': self.deleted_at,
 6005            'timestamp': self.timestamp,
 6006        }
 6007
 6008    @classmethod
 6009    def from_dict(cls, d):
 6010        return cls(
 6011            activity_id=d.get('activity_id'),
 6012            approval_workflow=d.get('approval_workflow'),
 6013            deleted_at=d.get('deleted_at'),
 6014            timestamp=d.get('timestamp'),
 6015        )
 6016
 6017
 6018class ApprovalWorkflowListResponse:
 6019    '''
 6020         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6021     the criteria of an ApprovalWorkflowListRequest.
 6022    '''
 6023    __slots__ = [
 6024        'rate_limit',
 6025    ]
 6026
 6027    def __init__(
 6028        self,
 6029        rate_limit=None,
 6030    ):
 6031        self.rate_limit = rate_limit if rate_limit is not None else None
 6032        '''
 6033         Rate limit information.
 6034        '''
 6035
 6036    def __repr__(self):
 6037        return '<sdm.ApprovalWorkflowListResponse ' + \
 6038            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6039            '>'
 6040
 6041    def to_dict(self):
 6042        return {
 6043            'rate_limit': self.rate_limit,
 6044        }
 6045
 6046    @classmethod
 6047    def from_dict(cls, d):
 6048        return cls(rate_limit=d.get('rate_limit'), )
 6049
 6050
 6051class ApprovalWorkflowStep:
 6052    '''
 6053         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6054    '''
 6055    __slots__ = [
 6056        'approval_flow_id',
 6057        'id',
 6058        'quantifier',
 6059        'skip_after',
 6060        'step_order',
 6061    ]
 6062
 6063    def __init__(
 6064        self,
 6065        approval_flow_id=None,
 6066        id=None,
 6067        quantifier=None,
 6068        skip_after=None,
 6069        step_order=None,
 6070    ):
 6071        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6072        '''
 6073         The approval flow id specified the approval workflow that this step belongs to
 6074        '''
 6075        self.id = id if id is not None else ''
 6076        '''
 6077         Unique identifier of the ApprovalWorkflowStep.
 6078        '''
 6079        self.quantifier = quantifier if quantifier is not None else ''
 6080        '''
 6081         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6082        '''
 6083        self.skip_after = skip_after if skip_after is not None else None
 6084        '''
 6085         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6086        '''
 6087        self.step_order = step_order if step_order is not None else 0
 6088        '''
 6089         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6090        '''
 6091
 6092    def __repr__(self):
 6093        return '<sdm.ApprovalWorkflowStep ' + \
 6094            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6095            'id: ' + repr(self.id) + ' ' +\
 6096            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6097            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6098            'step_order: ' + repr(self.step_order) + ' ' +\
 6099            '>'
 6100
 6101    def to_dict(self):
 6102        return {
 6103            'approval_flow_id': self.approval_flow_id,
 6104            'id': self.id,
 6105            'quantifier': self.quantifier,
 6106            'skip_after': self.skip_after,
 6107            'step_order': self.step_order,
 6108        }
 6109
 6110    @classmethod
 6111    def from_dict(cls, d):
 6112        return cls(
 6113            approval_flow_id=d.get('approval_flow_id'),
 6114            id=d.get('id'),
 6115            quantifier=d.get('quantifier'),
 6116            skip_after=d.get('skip_after'),
 6117            step_order=d.get('step_order'),
 6118        )
 6119
 6120
 6121class ApprovalWorkflowStepCreateResponse:
 6122    '''
 6123         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6124    '''
 6125    __slots__ = [
 6126        'approval_workflow_step',
 6127        'rate_limit',
 6128    ]
 6129
 6130    def __init__(
 6131        self,
 6132        approval_workflow_step=None,
 6133        rate_limit=None,
 6134    ):
 6135        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6136        '''
 6137         The created approval workflow step.
 6138        '''
 6139        self.rate_limit = rate_limit if rate_limit is not None else None
 6140        '''
 6141         Rate limit information.
 6142        '''
 6143
 6144    def __repr__(self):
 6145        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 6146            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6147            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6148            '>'
 6149
 6150    def to_dict(self):
 6151        return {
 6152            'approval_workflow_step': self.approval_workflow_step,
 6153            'rate_limit': self.rate_limit,
 6154        }
 6155
 6156    @classmethod
 6157    def from_dict(cls, d):
 6158        return cls(
 6159            approval_workflow_step=d.get('approval_workflow_step'),
 6160            rate_limit=d.get('rate_limit'),
 6161        )
 6162
 6163
 6164class ApprovalWorkflowStepDeleteResponse:
 6165    '''
 6166         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 6167    '''
 6168    __slots__ = [
 6169        'id',
 6170        'rate_limit',
 6171    ]
 6172
 6173    def __init__(
 6174        self,
 6175        id=None,
 6176        rate_limit=None,
 6177    ):
 6178        self.id = id if id is not None else ''
 6179        '''
 6180         The deleted approval workflow step id.
 6181        '''
 6182        self.rate_limit = rate_limit if rate_limit is not None else None
 6183        '''
 6184         Rate limit information.
 6185        '''
 6186
 6187    def __repr__(self):
 6188        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 6189            'id: ' + repr(self.id) + ' ' +\
 6190            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6191            '>'
 6192
 6193    def to_dict(self):
 6194        return {
 6195            'id': self.id,
 6196            'rate_limit': self.rate_limit,
 6197        }
 6198
 6199    @classmethod
 6200    def from_dict(cls, d):
 6201        return cls(
 6202            id=d.get('id'),
 6203            rate_limit=d.get('rate_limit'),
 6204        )
 6205
 6206
 6207class ApprovalWorkflowStepGetResponse:
 6208    '''
 6209         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 6210    '''
 6211    __slots__ = [
 6212        'approval_workflow_step',
 6213        'meta',
 6214        'rate_limit',
 6215    ]
 6216
 6217    def __init__(
 6218        self,
 6219        approval_workflow_step=None,
 6220        meta=None,
 6221        rate_limit=None,
 6222    ):
 6223        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6224        '''
 6225         The requested ApprovalWorkflowStep.
 6226        '''
 6227        self.meta = meta if meta is not None else None
 6228        '''
 6229         Reserved for future use.
 6230        '''
 6231        self.rate_limit = rate_limit if rate_limit is not None else None
 6232        '''
 6233         Rate limit information.
 6234        '''
 6235
 6236    def __repr__(self):
 6237        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 6238            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6239            'meta: ' + repr(self.meta) + ' ' +\
 6240            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6241            '>'
 6242
 6243    def to_dict(self):
 6244        return {
 6245            'approval_workflow_step': self.approval_workflow_step,
 6246            'meta': self.meta,
 6247            'rate_limit': self.rate_limit,
 6248        }
 6249
 6250    @classmethod
 6251    def from_dict(cls, d):
 6252        return cls(
 6253            approval_workflow_step=d.get('approval_workflow_step'),
 6254            meta=d.get('meta'),
 6255            rate_limit=d.get('rate_limit'),
 6256        )
 6257
 6258
 6259class ApprovalWorkflowStepHistory:
 6260    '''
 6261         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 6262     where every change (create or delete) to an ApprovalWorkflowStep produces an
 6263     ApprovalWorkflowStepHistory record.
 6264    '''
 6265    __slots__ = [
 6266        'activity_id',
 6267        'approval_workflow_step',
 6268        'deleted_at',
 6269        'timestamp',
 6270    ]
 6271
 6272    def __init__(
 6273        self,
 6274        activity_id=None,
 6275        approval_workflow_step=None,
 6276        deleted_at=None,
 6277        timestamp=None,
 6278    ):
 6279        self.activity_id = activity_id if activity_id is not None else ''
 6280        '''
 6281         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 6282         May be empty for some system-initiated updates.
 6283        '''
 6284        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6285        '''
 6286         The complete ApprovalWorkflowStep state at this time.
 6287        '''
 6288        self.deleted_at = deleted_at if deleted_at is not None else None
 6289        '''
 6290         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 6291        '''
 6292        self.timestamp = timestamp if timestamp is not None else None
 6293        '''
 6294         The time at which the ApprovalWorkflowStep state was recorded.
 6295        '''
 6296
 6297    def __repr__(self):
 6298        return '<sdm.ApprovalWorkflowStepHistory ' + \
 6299            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6300            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6301            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6302            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6303            '>'
 6304
 6305    def to_dict(self):
 6306        return {
 6307            'activity_id': self.activity_id,
 6308            'approval_workflow_step': self.approval_workflow_step,
 6309            'deleted_at': self.deleted_at,
 6310            'timestamp': self.timestamp,
 6311        }
 6312
 6313    @classmethod
 6314    def from_dict(cls, d):
 6315        return cls(
 6316            activity_id=d.get('activity_id'),
 6317            approval_workflow_step=d.get('approval_workflow_step'),
 6318            deleted_at=d.get('deleted_at'),
 6319            timestamp=d.get('timestamp'),
 6320        )
 6321
 6322
 6323class ApprovalWorkflowStepListResponse:
 6324    '''
 6325         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 6326     the criteria of an ApprovalWorkflowStepListRequest.
 6327    '''
 6328    __slots__ = [
 6329        'rate_limit',
 6330    ]
 6331
 6332    def __init__(
 6333        self,
 6334        rate_limit=None,
 6335    ):
 6336        self.rate_limit = rate_limit if rate_limit is not None else None
 6337        '''
 6338         Rate limit information.
 6339        '''
 6340
 6341    def __repr__(self):
 6342        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 6343            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6344            '>'
 6345
 6346    def to_dict(self):
 6347        return {
 6348            'rate_limit': self.rate_limit,
 6349        }
 6350
 6351    @classmethod
 6352    def from_dict(cls, d):
 6353        return cls(rate_limit=d.get('rate_limit'), )
 6354
 6355
 6356class ApprovalWorkflowUpdateResponse:
 6357    '''
 6358         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 6359     an ApprovalWorkflowUpdateRequest.
 6360    '''
 6361    __slots__ = [
 6362        'approval_workflow',
 6363        'rate_limit',
 6364    ]
 6365
 6366    def __init__(
 6367        self,
 6368        approval_workflow=None,
 6369        rate_limit=None,
 6370    ):
 6371        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6372        '''
 6373         The updated approval workflow.
 6374        '''
 6375        self.rate_limit = rate_limit if rate_limit is not None else None
 6376        '''
 6377         Rate limit information.
 6378        '''
 6379
 6380    def __repr__(self):
 6381        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 6382            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6383            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6384            '>'
 6385
 6386    def to_dict(self):
 6387        return {
 6388            'approval_workflow': self.approval_workflow,
 6389            'rate_limit': self.rate_limit,
 6390        }
 6391
 6392    @classmethod
 6393    def from_dict(cls, d):
 6394        return cls(
 6395            approval_workflow=d.get('approval_workflow'),
 6396            rate_limit=d.get('rate_limit'),
 6397        )
 6398
 6399
 6400class Athena:
 6401    __slots__ = [
 6402        'access_key',
 6403        'bind_interface',
 6404        'egress_filter',
 6405        'healthy',
 6406        'id',
 6407        'name',
 6408        'output',
 6409        'port_override',
 6410        'proxy_cluster_id',
 6411        'region',
 6412        'role_arn',
 6413        'role_external_id',
 6414        'secret_access_key',
 6415        'secret_store_id',
 6416        'subdomain',
 6417        'tags',
 6418    ]
 6419
 6420    def __init__(
 6421        self,
 6422        access_key=None,
 6423        bind_interface=None,
 6424        egress_filter=None,
 6425        healthy=None,
 6426        id=None,
 6427        name=None,
 6428        output=None,
 6429        port_override=None,
 6430        proxy_cluster_id=None,
 6431        region=None,
 6432        role_arn=None,
 6433        role_external_id=None,
 6434        secret_access_key=None,
 6435        secret_store_id=None,
 6436        subdomain=None,
 6437        tags=None,
 6438    ):
 6439        self.access_key = access_key if access_key is not None else ''
 6440        '''
 6441         The Access Key ID to use to authenticate.
 6442        '''
 6443        self.bind_interface = bind_interface if bind_interface is not None else ''
 6444        '''
 6445         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6446        '''
 6447        self.egress_filter = egress_filter if egress_filter is not None else ''
 6448        '''
 6449         A filter applied to the routing logic to pin datasource to nodes.
 6450        '''
 6451        self.healthy = healthy if healthy is not None else False
 6452        '''
 6453         True if the datasource is reachable and the credentials are valid.
 6454        '''
 6455        self.id = id if id is not None else ''
 6456        '''
 6457         Unique identifier of the Resource.
 6458        '''
 6459        self.name = name if name is not None else ''
 6460        '''
 6461         Unique human-readable name of the Resource.
 6462        '''
 6463        self.output = output if output is not None else ''
 6464        '''
 6465         The AWS S3 output location.
 6466        '''
 6467        self.port_override = port_override if port_override is not None else 0
 6468        '''
 6469         The local port used by clients to connect to this resource.
 6470        '''
 6471        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6472        '''
 6473         ID of the proxy cluster for this resource, if any.
 6474        '''
 6475        self.region = region if region is not None else ''
 6476        '''
 6477         The AWS region to connect to e.g. us-east-1.
 6478        '''
 6479        self.role_arn = role_arn if role_arn is not None else ''
 6480        '''
 6481         The role to assume after logging in.
 6482        '''
 6483        self.role_external_id = role_external_id if role_external_id is not None else ''
 6484        '''
 6485         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6486        '''
 6487        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 6488        '''
 6489         The Secret Access Key to use to authenticate.
 6490        '''
 6491        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6492        '''
 6493         ID of the secret store containing credentials for this resource, if any.
 6494        '''
 6495        self.subdomain = subdomain if subdomain is not None else ''
 6496        '''
 6497         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6498        '''
 6499        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6500        '''
 6501         Tags is a map of key, value pairs.
 6502        '''
 6503
 6504    def __repr__(self):
 6505        return '<sdm.Athena ' + \
 6506            'access_key: ' + repr(self.access_key) + ' ' +\
 6507            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6508            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6509            'healthy: ' + repr(self.healthy) + ' ' +\
 6510            'id: ' + repr(self.id) + ' ' +\
 6511            'name: ' + repr(self.name) + ' ' +\
 6512            'output: ' + repr(self.output) + ' ' +\
 6513            'port_override: ' + repr(self.port_override) + ' ' +\
 6514            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6515            'region: ' + repr(self.region) + ' ' +\
 6516            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6517            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6518            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 6519            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6520            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6521            'tags: ' + repr(self.tags) + ' ' +\
 6522            '>'
 6523
 6524    def to_dict(self):
 6525        return {
 6526            'access_key': self.access_key,
 6527            'bind_interface': self.bind_interface,
 6528            'egress_filter': self.egress_filter,
 6529            'healthy': self.healthy,
 6530            'id': self.id,
 6531            'name': self.name,
 6532            'output': self.output,
 6533            'port_override': self.port_override,
 6534            'proxy_cluster_id': self.proxy_cluster_id,
 6535            'region': self.region,
 6536            'role_arn': self.role_arn,
 6537            'role_external_id': self.role_external_id,
 6538            'secret_access_key': self.secret_access_key,
 6539            'secret_store_id': self.secret_store_id,
 6540            'subdomain': self.subdomain,
 6541            'tags': self.tags,
 6542        }
 6543
 6544    @classmethod
 6545    def from_dict(cls, d):
 6546        return cls(
 6547            access_key=d.get('access_key'),
 6548            bind_interface=d.get('bind_interface'),
 6549            egress_filter=d.get('egress_filter'),
 6550            healthy=d.get('healthy'),
 6551            id=d.get('id'),
 6552            name=d.get('name'),
 6553            output=d.get('output'),
 6554            port_override=d.get('port_override'),
 6555            proxy_cluster_id=d.get('proxy_cluster_id'),
 6556            region=d.get('region'),
 6557            role_arn=d.get('role_arn'),
 6558            role_external_id=d.get('role_external_id'),
 6559            secret_access_key=d.get('secret_access_key'),
 6560            secret_store_id=d.get('secret_store_id'),
 6561            subdomain=d.get('subdomain'),
 6562            tags=d.get('tags'),
 6563        )
 6564
 6565
 6566class AthenaIAM:
 6567    __slots__ = [
 6568        'bind_interface',
 6569        'egress_filter',
 6570        'healthy',
 6571        'id',
 6572        'name',
 6573        'output',
 6574        'port_override',
 6575        'proxy_cluster_id',
 6576        'region',
 6577        'role_arn',
 6578        'role_external_id',
 6579        'secret_store_id',
 6580        'subdomain',
 6581        'tags',
 6582    ]
 6583
 6584    def __init__(
 6585        self,
 6586        bind_interface=None,
 6587        egress_filter=None,
 6588        healthy=None,
 6589        id=None,
 6590        name=None,
 6591        output=None,
 6592        port_override=None,
 6593        proxy_cluster_id=None,
 6594        region=None,
 6595        role_arn=None,
 6596        role_external_id=None,
 6597        secret_store_id=None,
 6598        subdomain=None,
 6599        tags=None,
 6600    ):
 6601        self.bind_interface = bind_interface if bind_interface is not None else ''
 6602        '''
 6603         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6604        '''
 6605        self.egress_filter = egress_filter if egress_filter is not None else ''
 6606        '''
 6607         A filter applied to the routing logic to pin datasource to nodes.
 6608        '''
 6609        self.healthy = healthy if healthy is not None else False
 6610        '''
 6611         True if the datasource is reachable and the credentials are valid.
 6612        '''
 6613        self.id = id if id is not None else ''
 6614        '''
 6615         Unique identifier of the Resource.
 6616        '''
 6617        self.name = name if name is not None else ''
 6618        '''
 6619         Unique human-readable name of the Resource.
 6620        '''
 6621        self.output = output if output is not None else ''
 6622        '''
 6623         The AWS S3 output location.
 6624        '''
 6625        self.port_override = port_override if port_override is not None else 0
 6626        '''
 6627         The local port used by clients to connect to this resource.
 6628        '''
 6629        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6630        '''
 6631         ID of the proxy cluster for this resource, if any.
 6632        '''
 6633        self.region = region if region is not None else ''
 6634        '''
 6635         The AWS region to connect to e.g. us-east-1.
 6636        '''
 6637        self.role_arn = role_arn if role_arn is not None else ''
 6638        '''
 6639         The role to assume after logging in.
 6640        '''
 6641        self.role_external_id = role_external_id if role_external_id is not None else ''
 6642        '''
 6643         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 6644        '''
 6645        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6646        '''
 6647         ID of the secret store containing credentials for this resource, if any.
 6648        '''
 6649        self.subdomain = subdomain if subdomain is not None else ''
 6650        '''
 6651         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6652        '''
 6653        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6654        '''
 6655         Tags is a map of key, value pairs.
 6656        '''
 6657
 6658    def __repr__(self):
 6659        return '<sdm.AthenaIAM ' + \
 6660            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6661            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6662            'healthy: ' + repr(self.healthy) + ' ' +\
 6663            'id: ' + repr(self.id) + ' ' +\
 6664            'name: ' + repr(self.name) + ' ' +\
 6665            'output: ' + repr(self.output) + ' ' +\
 6666            'port_override: ' + repr(self.port_override) + ' ' +\
 6667            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6668            'region: ' + repr(self.region) + ' ' +\
 6669            'role_arn: ' + repr(self.role_arn) + ' ' +\
 6670            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 6671            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6672            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6673            'tags: ' + repr(self.tags) + ' ' +\
 6674            '>'
 6675
 6676    def to_dict(self):
 6677        return {
 6678            'bind_interface': self.bind_interface,
 6679            'egress_filter': self.egress_filter,
 6680            'healthy': self.healthy,
 6681            'id': self.id,
 6682            'name': self.name,
 6683            'output': self.output,
 6684            'port_override': self.port_override,
 6685            'proxy_cluster_id': self.proxy_cluster_id,
 6686            'region': self.region,
 6687            'role_arn': self.role_arn,
 6688            'role_external_id': self.role_external_id,
 6689            'secret_store_id': self.secret_store_id,
 6690            'subdomain': self.subdomain,
 6691            'tags': self.tags,
 6692        }
 6693
 6694    @classmethod
 6695    def from_dict(cls, d):
 6696        return cls(
 6697            bind_interface=d.get('bind_interface'),
 6698            egress_filter=d.get('egress_filter'),
 6699            healthy=d.get('healthy'),
 6700            id=d.get('id'),
 6701            name=d.get('name'),
 6702            output=d.get('output'),
 6703            port_override=d.get('port_override'),
 6704            proxy_cluster_id=d.get('proxy_cluster_id'),
 6705            region=d.get('region'),
 6706            role_arn=d.get('role_arn'),
 6707            role_external_id=d.get('role_external_id'),
 6708            secret_store_id=d.get('secret_store_id'),
 6709            subdomain=d.get('subdomain'),
 6710            tags=d.get('tags'),
 6711        )
 6712
 6713
 6714class AuroraMysql:
 6715    __slots__ = [
 6716        'bind_interface',
 6717        'database',
 6718        'egress_filter',
 6719        'healthy',
 6720        'hostname',
 6721        'id',
 6722        'name',
 6723        'password',
 6724        'port',
 6725        'port_override',
 6726        'proxy_cluster_id',
 6727        'require_native_auth',
 6728        'secret_store_id',
 6729        'subdomain',
 6730        'tags',
 6731        'use_azure_single_server_usernames',
 6732        'username',
 6733    ]
 6734
 6735    def __init__(
 6736        self,
 6737        bind_interface=None,
 6738        database=None,
 6739        egress_filter=None,
 6740        healthy=None,
 6741        hostname=None,
 6742        id=None,
 6743        name=None,
 6744        password=None,
 6745        port=None,
 6746        port_override=None,
 6747        proxy_cluster_id=None,
 6748        require_native_auth=None,
 6749        secret_store_id=None,
 6750        subdomain=None,
 6751        tags=None,
 6752        use_azure_single_server_usernames=None,
 6753        username=None,
 6754    ):
 6755        self.bind_interface = bind_interface if bind_interface is not None else ''
 6756        '''
 6757         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6758        '''
 6759        self.database = database if database is not None else ''
 6760        '''
 6761         The database for healthchecks. Does not affect client requests
 6762        '''
 6763        self.egress_filter = egress_filter if egress_filter is not None else ''
 6764        '''
 6765         A filter applied to the routing logic to pin datasource to nodes.
 6766        '''
 6767        self.healthy = healthy if healthy is not None else False
 6768        '''
 6769         True if the datasource is reachable and the credentials are valid.
 6770        '''
 6771        self.hostname = hostname if hostname is not None else ''
 6772        '''
 6773         The host to dial to initiate a connection from the egress node to this resource.
 6774        '''
 6775        self.id = id if id is not None else ''
 6776        '''
 6777         Unique identifier of the Resource.
 6778        '''
 6779        self.name = name if name is not None else ''
 6780        '''
 6781         Unique human-readable name of the Resource.
 6782        '''
 6783        self.password = password if password is not None else ''
 6784        '''
 6785         The password to authenticate with.
 6786        '''
 6787        self.port = port if port is not None else 0
 6788        '''
 6789         The port to dial to initiate a connection from the egress node to this resource.
 6790        '''
 6791        self.port_override = port_override if port_override is not None else 0
 6792        '''
 6793         The local port used by clients to connect to this resource.
 6794        '''
 6795        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6796        '''
 6797         ID of the proxy cluster for this resource, if any.
 6798        '''
 6799        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 6800        '''
 6801         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 6802        '''
 6803        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6804        '''
 6805         ID of the secret store containing credentials for this resource, if any.
 6806        '''
 6807        self.subdomain = subdomain if subdomain is not None else ''
 6808        '''
 6809         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6810        '''
 6811        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6812        '''
 6813         Tags is a map of key, value pairs.
 6814        '''
 6815        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 6816        '''
 6817         If true, appends the hostname to the username when hitting a database.azure.com address
 6818        '''
 6819        self.username = username if username is not None else ''
 6820        '''
 6821         The username to authenticate with.
 6822        '''
 6823
 6824    def __repr__(self):
 6825        return '<sdm.AuroraMysql ' + \
 6826            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6827            'database: ' + repr(self.database) + ' ' +\
 6828            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 6829            'healthy: ' + repr(self.healthy) + ' ' +\
 6830            'hostname: ' + repr(self.hostname) + ' ' +\
 6831            'id: ' + repr(self.id) + ' ' +\
 6832            'name: ' + repr(self.name) + ' ' +\
 6833            'password: ' + repr(self.password) + ' ' +\
 6834            'port: ' + repr(self.port) + ' ' +\
 6835            'port_override: ' + repr(self.port_override) + ' ' +\
 6836            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 6837            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 6838            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 6839            'subdomain: ' + repr(self.subdomain) + ' ' +\
 6840            'tags: ' + repr(self.tags) + ' ' +\
 6841            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 6842            'username: ' + repr(self.username) + ' ' +\
 6843            '>'
 6844
 6845    def to_dict(self):
 6846        return {
 6847            'bind_interface': self.bind_interface,
 6848            'database': self.database,
 6849            'egress_filter': self.egress_filter,
 6850            'healthy': self.healthy,
 6851            'hostname': self.hostname,
 6852            'id': self.id,
 6853            'name': self.name,
 6854            'password': self.password,
 6855            'port': self.port,
 6856            'port_override': self.port_override,
 6857            'proxy_cluster_id': self.proxy_cluster_id,
 6858            'require_native_auth': self.require_native_auth,
 6859            'secret_store_id': self.secret_store_id,
 6860            'subdomain': self.subdomain,
 6861            'tags': self.tags,
 6862            'use_azure_single_server_usernames':
 6863            self.use_azure_single_server_usernames,
 6864            'username': self.username,
 6865        }
 6866
 6867    @classmethod
 6868    def from_dict(cls, d):
 6869        return cls(
 6870            bind_interface=d.get('bind_interface'),
 6871            database=d.get('database'),
 6872            egress_filter=d.get('egress_filter'),
 6873            healthy=d.get('healthy'),
 6874            hostname=d.get('hostname'),
 6875            id=d.get('id'),
 6876            name=d.get('name'),
 6877            password=d.get('password'),
 6878            port=d.get('port'),
 6879            port_override=d.get('port_override'),
 6880            proxy_cluster_id=d.get('proxy_cluster_id'),
 6881            require_native_auth=d.get('require_native_auth'),
 6882            secret_store_id=d.get('secret_store_id'),
 6883            subdomain=d.get('subdomain'),
 6884            tags=d.get('tags'),
 6885            use_azure_single_server_usernames=d.get(
 6886                'use_azure_single_server_usernames'),
 6887            username=d.get('username'),
 6888        )
 6889
 6890
 6891class AuroraMysqlIAM:
 6892    __slots__ = [
 6893        'bind_interface',
 6894        'database',
 6895        'egress_filter',
 6896        'healthy',
 6897        'hostname',
 6898        'id',
 6899        'name',
 6900        'port',
 6901        'port_override',
 6902        'proxy_cluster_id',
 6903        'region',
 6904        'role_assumption_arn',
 6905        'secret_store_id',
 6906        'subdomain',
 6907        'tags',
 6908        'username',
 6909    ]
 6910
 6911    def __init__(
 6912        self,
 6913        bind_interface=None,
 6914        database=None,
 6915        egress_filter=None,
 6916        healthy=None,
 6917        hostname=None,
 6918        id=None,
 6919        name=None,
 6920        port=None,
 6921        port_override=None,
 6922        proxy_cluster_id=None,
 6923        region=None,
 6924        role_assumption_arn=None,
 6925        secret_store_id=None,
 6926        subdomain=None,
 6927        tags=None,
 6928        username=None,
 6929    ):
 6930        self.bind_interface = bind_interface if bind_interface is not None else ''
 6931        '''
 6932         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 6933        '''
 6934        self.database = database if database is not None else ''
 6935        '''
 6936         The database for healthchecks. Does not affect client requests
 6937        '''
 6938        self.egress_filter = egress_filter if egress_filter is not None else ''
 6939        '''
 6940         A filter applied to the routing logic to pin datasource to nodes.
 6941        '''
 6942        self.healthy = healthy if healthy is not None else False
 6943        '''
 6944         True if the datasource is reachable and the credentials are valid.
 6945        '''
 6946        self.hostname = hostname if hostname is not None else ''
 6947        '''
 6948         The host to dial to initiate a connection from the egress node to this resource.
 6949        '''
 6950        self.id = id if id is not None else ''
 6951        '''
 6952         Unique identifier of the Resource.
 6953        '''
 6954        self.name = name if name is not None else ''
 6955        '''
 6956         Unique human-readable name of the Resource.
 6957        '''
 6958        self.port = port if port is not None else 0
 6959        '''
 6960         The port to dial to initiate a connection from the egress node to this resource.
 6961        '''
 6962        self.port_override = port_override if port_override is not None else 0
 6963        '''
 6964         The local port used by clients to connect to this resource.
 6965        '''
 6966        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 6967        '''
 6968         ID of the proxy cluster for this resource, if any.
 6969        '''
 6970        self.region = region if region is not None else ''
 6971        '''
 6972         The AWS region to connect to.
 6973        '''
 6974        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 6975        '''
 6976         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 6977        '''
 6978        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 6979        '''
 6980         ID of the secret store containing credentials for this resource, if any.
 6981        '''
 6982        self.subdomain = subdomain if subdomain is not None else ''
 6983        '''
 6984         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 6985        '''
 6986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 6987        '''
 6988         Tags is a map of key, value pairs.
 6989        '''
 6990        self.username = username if username is not None else ''
 6991        '''
 6992         The username to authenticate with.
 6993        '''
 6994
 6995    def __repr__(self):
 6996        return '<sdm.AuroraMysqlIAM ' + \
 6997            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 6998            'database: ' + repr(self.database) + ' ' +\
 6999            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7000            'healthy: ' + repr(self.healthy) + ' ' +\
 7001            'hostname: ' + repr(self.hostname) + ' ' +\
 7002            'id: ' + repr(self.id) + ' ' +\
 7003            'name: ' + repr(self.name) + ' ' +\
 7004            'port: ' + repr(self.port) + ' ' +\
 7005            'port_override: ' + repr(self.port_override) + ' ' +\
 7006            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7007            'region: ' + repr(self.region) + ' ' +\
 7008            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7009            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7010            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7011            'tags: ' + repr(self.tags) + ' ' +\
 7012            'username: ' + repr(self.username) + ' ' +\
 7013            '>'
 7014
 7015    def to_dict(self):
 7016        return {
 7017            'bind_interface': self.bind_interface,
 7018            'database': self.database,
 7019            'egress_filter': self.egress_filter,
 7020            'healthy': self.healthy,
 7021            'hostname': self.hostname,
 7022            'id': self.id,
 7023            'name': self.name,
 7024            'port': self.port,
 7025            'port_override': self.port_override,
 7026            'proxy_cluster_id': self.proxy_cluster_id,
 7027            'region': self.region,
 7028            'role_assumption_arn': self.role_assumption_arn,
 7029            'secret_store_id': self.secret_store_id,
 7030            'subdomain': self.subdomain,
 7031            'tags': self.tags,
 7032            'username': self.username,
 7033        }
 7034
 7035    @classmethod
 7036    def from_dict(cls, d):
 7037        return cls(
 7038            bind_interface=d.get('bind_interface'),
 7039            database=d.get('database'),
 7040            egress_filter=d.get('egress_filter'),
 7041            healthy=d.get('healthy'),
 7042            hostname=d.get('hostname'),
 7043            id=d.get('id'),
 7044            name=d.get('name'),
 7045            port=d.get('port'),
 7046            port_override=d.get('port_override'),
 7047            proxy_cluster_id=d.get('proxy_cluster_id'),
 7048            region=d.get('region'),
 7049            role_assumption_arn=d.get('role_assumption_arn'),
 7050            secret_store_id=d.get('secret_store_id'),
 7051            subdomain=d.get('subdomain'),
 7052            tags=d.get('tags'),
 7053            username=d.get('username'),
 7054        )
 7055
 7056
 7057class AuroraPostgres:
 7058    __slots__ = [
 7059        'bind_interface',
 7060        'database',
 7061        'egress_filter',
 7062        'healthy',
 7063        'hostname',
 7064        'id',
 7065        'name',
 7066        'override_database',
 7067        'password',
 7068        'port',
 7069        'port_override',
 7070        'proxy_cluster_id',
 7071        'secret_store_id',
 7072        'subdomain',
 7073        'tags',
 7074        'username',
 7075    ]
 7076
 7077    def __init__(
 7078        self,
 7079        bind_interface=None,
 7080        database=None,
 7081        egress_filter=None,
 7082        healthy=None,
 7083        hostname=None,
 7084        id=None,
 7085        name=None,
 7086        override_database=None,
 7087        password=None,
 7088        port=None,
 7089        port_override=None,
 7090        proxy_cluster_id=None,
 7091        secret_store_id=None,
 7092        subdomain=None,
 7093        tags=None,
 7094        username=None,
 7095    ):
 7096        self.bind_interface = bind_interface if bind_interface is not None else ''
 7097        '''
 7098         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7099        '''
 7100        self.database = database if database is not None else ''
 7101        '''
 7102         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7103        '''
 7104        self.egress_filter = egress_filter if egress_filter is not None else ''
 7105        '''
 7106         A filter applied to the routing logic to pin datasource to nodes.
 7107        '''
 7108        self.healthy = healthy if healthy is not None else False
 7109        '''
 7110         True if the datasource is reachable and the credentials are valid.
 7111        '''
 7112        self.hostname = hostname if hostname is not None else ''
 7113        '''
 7114         The host to dial to initiate a connection from the egress node to this resource.
 7115        '''
 7116        self.id = id if id is not None else ''
 7117        '''
 7118         Unique identifier of the Resource.
 7119        '''
 7120        self.name = name if name is not None else ''
 7121        '''
 7122         Unique human-readable name of the Resource.
 7123        '''
 7124        self.override_database = override_database if override_database is not None else False
 7125        '''
 7126         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.
 7127        '''
 7128        self.password = password if password is not None else ''
 7129        '''
 7130         The password to authenticate with.
 7131        '''
 7132        self.port = port if port is not None else 0
 7133        '''
 7134         The port to dial to initiate a connection from the egress node to this resource.
 7135        '''
 7136        self.port_override = port_override if port_override is not None else 0
 7137        '''
 7138         The local port used by clients to connect to this resource.
 7139        '''
 7140        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7141        '''
 7142         ID of the proxy cluster for this resource, if any.
 7143        '''
 7144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7145        '''
 7146         ID of the secret store containing credentials for this resource, if any.
 7147        '''
 7148        self.subdomain = subdomain if subdomain is not None else ''
 7149        '''
 7150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7151        '''
 7152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7153        '''
 7154         Tags is a map of key, value pairs.
 7155        '''
 7156        self.username = username if username is not None else ''
 7157        '''
 7158         The username to authenticate with.
 7159        '''
 7160
 7161    def __repr__(self):
 7162        return '<sdm.AuroraPostgres ' + \
 7163            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7164            'database: ' + repr(self.database) + ' ' +\
 7165            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7166            'healthy: ' + repr(self.healthy) + ' ' +\
 7167            'hostname: ' + repr(self.hostname) + ' ' +\
 7168            'id: ' + repr(self.id) + ' ' +\
 7169            'name: ' + repr(self.name) + ' ' +\
 7170            'override_database: ' + repr(self.override_database) + ' ' +\
 7171            'password: ' + repr(self.password) + ' ' +\
 7172            'port: ' + repr(self.port) + ' ' +\
 7173            'port_override: ' + repr(self.port_override) + ' ' +\
 7174            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7175            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7176            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7177            'tags: ' + repr(self.tags) + ' ' +\
 7178            'username: ' + repr(self.username) + ' ' +\
 7179            '>'
 7180
 7181    def to_dict(self):
 7182        return {
 7183            'bind_interface': self.bind_interface,
 7184            'database': self.database,
 7185            'egress_filter': self.egress_filter,
 7186            'healthy': self.healthy,
 7187            'hostname': self.hostname,
 7188            'id': self.id,
 7189            'name': self.name,
 7190            'override_database': self.override_database,
 7191            'password': self.password,
 7192            'port': self.port,
 7193            'port_override': self.port_override,
 7194            'proxy_cluster_id': self.proxy_cluster_id,
 7195            'secret_store_id': self.secret_store_id,
 7196            'subdomain': self.subdomain,
 7197            'tags': self.tags,
 7198            'username': self.username,
 7199        }
 7200
 7201    @classmethod
 7202    def from_dict(cls, d):
 7203        return cls(
 7204            bind_interface=d.get('bind_interface'),
 7205            database=d.get('database'),
 7206            egress_filter=d.get('egress_filter'),
 7207            healthy=d.get('healthy'),
 7208            hostname=d.get('hostname'),
 7209            id=d.get('id'),
 7210            name=d.get('name'),
 7211            override_database=d.get('override_database'),
 7212            password=d.get('password'),
 7213            port=d.get('port'),
 7214            port_override=d.get('port_override'),
 7215            proxy_cluster_id=d.get('proxy_cluster_id'),
 7216            secret_store_id=d.get('secret_store_id'),
 7217            subdomain=d.get('subdomain'),
 7218            tags=d.get('tags'),
 7219            username=d.get('username'),
 7220        )
 7221
 7222
 7223class AuroraPostgresIAM:
 7224    __slots__ = [
 7225        'bind_interface',
 7226        'database',
 7227        'egress_filter',
 7228        'healthy',
 7229        'hostname',
 7230        'id',
 7231        'name',
 7232        'override_database',
 7233        'port',
 7234        'port_override',
 7235        'proxy_cluster_id',
 7236        'region',
 7237        'role_assumption_arn',
 7238        'secret_store_id',
 7239        'subdomain',
 7240        'tags',
 7241        'username',
 7242    ]
 7243
 7244    def __init__(
 7245        self,
 7246        bind_interface=None,
 7247        database=None,
 7248        egress_filter=None,
 7249        healthy=None,
 7250        hostname=None,
 7251        id=None,
 7252        name=None,
 7253        override_database=None,
 7254        port=None,
 7255        port_override=None,
 7256        proxy_cluster_id=None,
 7257        region=None,
 7258        role_assumption_arn=None,
 7259        secret_store_id=None,
 7260        subdomain=None,
 7261        tags=None,
 7262        username=None,
 7263    ):
 7264        self.bind_interface = bind_interface if bind_interface is not None else ''
 7265        '''
 7266         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7267        '''
 7268        self.database = database if database is not None else ''
 7269        '''
 7270         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7271        '''
 7272        self.egress_filter = egress_filter if egress_filter is not None else ''
 7273        '''
 7274         A filter applied to the routing logic to pin datasource to nodes.
 7275        '''
 7276        self.healthy = healthy if healthy is not None else False
 7277        '''
 7278         True if the datasource is reachable and the credentials are valid.
 7279        '''
 7280        self.hostname = hostname if hostname is not None else ''
 7281        '''
 7282         The host to dial to initiate a connection from the egress node to this resource.
 7283        '''
 7284        self.id = id if id is not None else ''
 7285        '''
 7286         Unique identifier of the Resource.
 7287        '''
 7288        self.name = name if name is not None else ''
 7289        '''
 7290         Unique human-readable name of the Resource.
 7291        '''
 7292        self.override_database = override_database if override_database is not None else False
 7293        '''
 7294         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.
 7295        '''
 7296        self.port = port if port is not None else 0
 7297        '''
 7298         The port to dial to initiate a connection from the egress node to this resource.
 7299        '''
 7300        self.port_override = port_override if port_override is not None else 0
 7301        '''
 7302         The local port used by clients to connect to this resource.
 7303        '''
 7304        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7305        '''
 7306         ID of the proxy cluster for this resource, if any.
 7307        '''
 7308        self.region = region if region is not None else ''
 7309        '''
 7310         The AWS region to connect to.
 7311        '''
 7312        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7313        '''
 7314         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7315        '''
 7316        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7317        '''
 7318         ID of the secret store containing credentials for this resource, if any.
 7319        '''
 7320        self.subdomain = subdomain if subdomain is not None else ''
 7321        '''
 7322         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7323        '''
 7324        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7325        '''
 7326         Tags is a map of key, value pairs.
 7327        '''
 7328        self.username = username if username is not None else ''
 7329        '''
 7330         The username to authenticate with.
 7331        '''
 7332
 7333    def __repr__(self):
 7334        return '<sdm.AuroraPostgresIAM ' + \
 7335            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7336            'database: ' + repr(self.database) + ' ' +\
 7337            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7338            'healthy: ' + repr(self.healthy) + ' ' +\
 7339            'hostname: ' + repr(self.hostname) + ' ' +\
 7340            'id: ' + repr(self.id) + ' ' +\
 7341            'name: ' + repr(self.name) + ' ' +\
 7342            'override_database: ' + repr(self.override_database) + ' ' +\
 7343            'port: ' + repr(self.port) + ' ' +\
 7344            'port_override: ' + repr(self.port_override) + ' ' +\
 7345            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7346            'region: ' + repr(self.region) + ' ' +\
 7347            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7348            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7349            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7350            'tags: ' + repr(self.tags) + ' ' +\
 7351            'username: ' + repr(self.username) + ' ' +\
 7352            '>'
 7353
 7354    def to_dict(self):
 7355        return {
 7356            'bind_interface': self.bind_interface,
 7357            'database': self.database,
 7358            'egress_filter': self.egress_filter,
 7359            'healthy': self.healthy,
 7360            'hostname': self.hostname,
 7361            'id': self.id,
 7362            'name': self.name,
 7363            'override_database': self.override_database,
 7364            'port': self.port,
 7365            'port_override': self.port_override,
 7366            'proxy_cluster_id': self.proxy_cluster_id,
 7367            'region': self.region,
 7368            'role_assumption_arn': self.role_assumption_arn,
 7369            'secret_store_id': self.secret_store_id,
 7370            'subdomain': self.subdomain,
 7371            'tags': self.tags,
 7372            'username': self.username,
 7373        }
 7374
 7375    @classmethod
 7376    def from_dict(cls, d):
 7377        return cls(
 7378            bind_interface=d.get('bind_interface'),
 7379            database=d.get('database'),
 7380            egress_filter=d.get('egress_filter'),
 7381            healthy=d.get('healthy'),
 7382            hostname=d.get('hostname'),
 7383            id=d.get('id'),
 7384            name=d.get('name'),
 7385            override_database=d.get('override_database'),
 7386            port=d.get('port'),
 7387            port_override=d.get('port_override'),
 7388            proxy_cluster_id=d.get('proxy_cluster_id'),
 7389            region=d.get('region'),
 7390            role_assumption_arn=d.get('role_assumption_arn'),
 7391            secret_store_id=d.get('secret_store_id'),
 7392            subdomain=d.get('subdomain'),
 7393            tags=d.get('tags'),
 7394            username=d.get('username'),
 7395        )
 7396
 7397
 7398class Azure:
 7399    __slots__ = [
 7400        'app_id',
 7401        'bind_interface',
 7402        'egress_filter',
 7403        'healthy',
 7404        'id',
 7405        'name',
 7406        'password',
 7407        'port_override',
 7408        'proxy_cluster_id',
 7409        'secret_store_id',
 7410        'subdomain',
 7411        'tags',
 7412        'tenant_id',
 7413    ]
 7414
 7415    def __init__(
 7416        self,
 7417        app_id=None,
 7418        bind_interface=None,
 7419        egress_filter=None,
 7420        healthy=None,
 7421        id=None,
 7422        name=None,
 7423        password=None,
 7424        port_override=None,
 7425        proxy_cluster_id=None,
 7426        secret_store_id=None,
 7427        subdomain=None,
 7428        tags=None,
 7429        tenant_id=None,
 7430    ):
 7431        self.app_id = app_id if app_id is not None else ''
 7432        '''
 7433         The application ID to authenticate with.
 7434        '''
 7435        self.bind_interface = bind_interface if bind_interface is not None else ''
 7436        '''
 7437         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7438        '''
 7439        self.egress_filter = egress_filter if egress_filter is not None else ''
 7440        '''
 7441         A filter applied to the routing logic to pin datasource to nodes.
 7442        '''
 7443        self.healthy = healthy if healthy is not None else False
 7444        '''
 7445         True if the datasource is reachable and the credentials are valid.
 7446        '''
 7447        self.id = id if id is not None else ''
 7448        '''
 7449         Unique identifier of the Resource.
 7450        '''
 7451        self.name = name if name is not None else ''
 7452        '''
 7453         Unique human-readable name of the Resource.
 7454        '''
 7455        self.password = password if password is not None else ''
 7456        '''
 7457         The password to authenticate with.
 7458        '''
 7459        self.port_override = port_override if port_override is not None else 0
 7460        '''
 7461         The local port used by clients to connect to this resource.
 7462        '''
 7463        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7464        '''
 7465         ID of the proxy cluster for this resource, if any.
 7466        '''
 7467        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7468        '''
 7469         ID of the secret store containing credentials for this resource, if any.
 7470        '''
 7471        self.subdomain = subdomain if subdomain is not None else ''
 7472        '''
 7473         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7474        '''
 7475        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7476        '''
 7477         Tags is a map of key, value pairs.
 7478        '''
 7479        self.tenant_id = tenant_id if tenant_id is not None else ''
 7480        '''
 7481         The tenant ID to authenticate to.
 7482        '''
 7483
 7484    def __repr__(self):
 7485        return '<sdm.Azure ' + \
 7486            'app_id: ' + repr(self.app_id) + ' ' +\
 7487            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7488            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7489            'healthy: ' + repr(self.healthy) + ' ' +\
 7490            'id: ' + repr(self.id) + ' ' +\
 7491            'name: ' + repr(self.name) + ' ' +\
 7492            'password: ' + repr(self.password) + ' ' +\
 7493            'port_override: ' + repr(self.port_override) + ' ' +\
 7494            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7495            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7496            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7497            'tags: ' + repr(self.tags) + ' ' +\
 7498            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7499            '>'
 7500
 7501    def to_dict(self):
 7502        return {
 7503            'app_id': self.app_id,
 7504            'bind_interface': self.bind_interface,
 7505            'egress_filter': self.egress_filter,
 7506            'healthy': self.healthy,
 7507            'id': self.id,
 7508            'name': self.name,
 7509            'password': self.password,
 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            'tenant_id': self.tenant_id,
 7516        }
 7517
 7518    @classmethod
 7519    def from_dict(cls, d):
 7520        return cls(
 7521            app_id=d.get('app_id'),
 7522            bind_interface=d.get('bind_interface'),
 7523            egress_filter=d.get('egress_filter'),
 7524            healthy=d.get('healthy'),
 7525            id=d.get('id'),
 7526            name=d.get('name'),
 7527            password=d.get('password'),
 7528            port_override=d.get('port_override'),
 7529            proxy_cluster_id=d.get('proxy_cluster_id'),
 7530            secret_store_id=d.get('secret_store_id'),
 7531            subdomain=d.get('subdomain'),
 7532            tags=d.get('tags'),
 7533            tenant_id=d.get('tenant_id'),
 7534        )
 7535
 7536
 7537class AzureCertificate:
 7538    __slots__ = [
 7539        'app_id',
 7540        'bind_interface',
 7541        'client_certificate',
 7542        'egress_filter',
 7543        'healthy',
 7544        'id',
 7545        'name',
 7546        'port_override',
 7547        'proxy_cluster_id',
 7548        'secret_store_id',
 7549        'subdomain',
 7550        'tags',
 7551        'tenant_id',
 7552    ]
 7553
 7554    def __init__(
 7555        self,
 7556        app_id=None,
 7557        bind_interface=None,
 7558        client_certificate=None,
 7559        egress_filter=None,
 7560        healthy=None,
 7561        id=None,
 7562        name=None,
 7563        port_override=None,
 7564        proxy_cluster_id=None,
 7565        secret_store_id=None,
 7566        subdomain=None,
 7567        tags=None,
 7568        tenant_id=None,
 7569    ):
 7570        self.app_id = app_id if app_id is not None else ''
 7571        '''
 7572         The application ID to authenticate with.
 7573        '''
 7574        self.bind_interface = bind_interface if bind_interface is not None else ''
 7575        '''
 7576         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7577        '''
 7578        self.client_certificate = client_certificate if client_certificate is not None else ''
 7579        '''
 7580         The service Principal certificate file, both private and public key included.
 7581        '''
 7582        self.egress_filter = egress_filter if egress_filter is not None else ''
 7583        '''
 7584         A filter applied to the routing logic to pin datasource to nodes.
 7585        '''
 7586        self.healthy = healthy if healthy is not None else False
 7587        '''
 7588         True if the datasource is reachable and the credentials are valid.
 7589        '''
 7590        self.id = id if id is not None else ''
 7591        '''
 7592         Unique identifier of the Resource.
 7593        '''
 7594        self.name = name if name is not None else ''
 7595        '''
 7596         Unique human-readable name of the Resource.
 7597        '''
 7598        self.port_override = port_override if port_override is not None else 0
 7599        '''
 7600         The local port used by clients to connect to this resource.
 7601        '''
 7602        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7603        '''
 7604         ID of the proxy cluster for this resource, if any.
 7605        '''
 7606        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7607        '''
 7608         ID of the secret store containing credentials for this resource, if any.
 7609        '''
 7610        self.subdomain = subdomain if subdomain is not None else ''
 7611        '''
 7612         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7613        '''
 7614        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7615        '''
 7616         Tags is a map of key, value pairs.
 7617        '''
 7618        self.tenant_id = tenant_id if tenant_id is not None else ''
 7619        '''
 7620         The tenant ID to authenticate to.
 7621        '''
 7622
 7623    def __repr__(self):
 7624        return '<sdm.AzureCertificate ' + \
 7625            'app_id: ' + repr(self.app_id) + ' ' +\
 7626            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7627            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 7628            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7629            'healthy: ' + repr(self.healthy) + ' ' +\
 7630            'id: ' + repr(self.id) + ' ' +\
 7631            'name: ' + repr(self.name) + ' ' +\
 7632            'port_override: ' + repr(self.port_override) + ' ' +\
 7633            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7634            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7635            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7636            'tags: ' + repr(self.tags) + ' ' +\
 7637            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 7638            '>'
 7639
 7640    def to_dict(self):
 7641        return {
 7642            'app_id': self.app_id,
 7643            'bind_interface': self.bind_interface,
 7644            'client_certificate': self.client_certificate,
 7645            'egress_filter': self.egress_filter,
 7646            'healthy': self.healthy,
 7647            'id': self.id,
 7648            'name': self.name,
 7649            'port_override': self.port_override,
 7650            'proxy_cluster_id': self.proxy_cluster_id,
 7651            'secret_store_id': self.secret_store_id,
 7652            'subdomain': self.subdomain,
 7653            'tags': self.tags,
 7654            'tenant_id': self.tenant_id,
 7655        }
 7656
 7657    @classmethod
 7658    def from_dict(cls, d):
 7659        return cls(
 7660            app_id=d.get('app_id'),
 7661            bind_interface=d.get('bind_interface'),
 7662            client_certificate=d.get('client_certificate'),
 7663            egress_filter=d.get('egress_filter'),
 7664            healthy=d.get('healthy'),
 7665            id=d.get('id'),
 7666            name=d.get('name'),
 7667            port_override=d.get('port_override'),
 7668            proxy_cluster_id=d.get('proxy_cluster_id'),
 7669            secret_store_id=d.get('secret_store_id'),
 7670            subdomain=d.get('subdomain'),
 7671            tags=d.get('tags'),
 7672            tenant_id=d.get('tenant_id'),
 7673        )
 7674
 7675
 7676class AzureMysql:
 7677    __slots__ = [
 7678        'bind_interface',
 7679        'database',
 7680        'egress_filter',
 7681        'healthy',
 7682        'hostname',
 7683        'id',
 7684        'name',
 7685        'password',
 7686        'port',
 7687        'port_override',
 7688        'proxy_cluster_id',
 7689        'require_native_auth',
 7690        'secret_store_id',
 7691        'subdomain',
 7692        'tags',
 7693        'use_azure_single_server_usernames',
 7694        'username',
 7695    ]
 7696
 7697    def __init__(
 7698        self,
 7699        bind_interface=None,
 7700        database=None,
 7701        egress_filter=None,
 7702        healthy=None,
 7703        hostname=None,
 7704        id=None,
 7705        name=None,
 7706        password=None,
 7707        port=None,
 7708        port_override=None,
 7709        proxy_cluster_id=None,
 7710        require_native_auth=None,
 7711        secret_store_id=None,
 7712        subdomain=None,
 7713        tags=None,
 7714        use_azure_single_server_usernames=None,
 7715        username=None,
 7716    ):
 7717        self.bind_interface = bind_interface if bind_interface is not None else ''
 7718        '''
 7719         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7720        '''
 7721        self.database = database if database is not None else ''
 7722        '''
 7723         The database for healthchecks. Does not affect client requests.
 7724        '''
 7725        self.egress_filter = egress_filter if egress_filter is not None else ''
 7726        '''
 7727         A filter applied to the routing logic to pin datasource to nodes.
 7728        '''
 7729        self.healthy = healthy if healthy is not None else False
 7730        '''
 7731         True if the datasource is reachable and the credentials are valid.
 7732        '''
 7733        self.hostname = hostname if hostname is not None else ''
 7734        '''
 7735         The host to dial to initiate a connection from the egress node to this resource.
 7736        '''
 7737        self.id = id if id is not None else ''
 7738        '''
 7739         Unique identifier of the Resource.
 7740        '''
 7741        self.name = name if name is not None else ''
 7742        '''
 7743         Unique human-readable name of the Resource.
 7744        '''
 7745        self.password = password if password is not None else ''
 7746        '''
 7747         The password to authenticate with.
 7748        '''
 7749        self.port = port if port is not None else 0
 7750        '''
 7751         The port to dial to initiate a connection from the egress node to this resource.
 7752        '''
 7753        self.port_override = port_override if port_override is not None else 0
 7754        '''
 7755         The local port used by clients to connect to this resource.
 7756        '''
 7757        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7758        '''
 7759         ID of the proxy cluster for this resource, if any.
 7760        '''
 7761        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7762        '''
 7763         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7764        '''
 7765        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7766        '''
 7767         ID of the secret store containing credentials for this resource, if any.
 7768        '''
 7769        self.subdomain = subdomain if subdomain is not None else ''
 7770        '''
 7771         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7772        '''
 7773        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7774        '''
 7775         Tags is a map of key, value pairs.
 7776        '''
 7777        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7778        '''
 7779         If true, appends the hostname to the username when hitting a database.azure.com address
 7780        '''
 7781        self.username = username if username is not None else ''
 7782        '''
 7783         The username to authenticate with.
 7784        '''
 7785
 7786    def __repr__(self):
 7787        return '<sdm.AzureMysql ' + \
 7788            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7789            'database: ' + repr(self.database) + ' ' +\
 7790            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7791            'healthy: ' + repr(self.healthy) + ' ' +\
 7792            'hostname: ' + repr(self.hostname) + ' ' +\
 7793            'id: ' + repr(self.id) + ' ' +\
 7794            'name: ' + repr(self.name) + ' ' +\
 7795            'password: ' + repr(self.password) + ' ' +\
 7796            'port: ' + repr(self.port) + ' ' +\
 7797            'port_override: ' + repr(self.port_override) + ' ' +\
 7798            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7799            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7800            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7801            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7802            'tags: ' + repr(self.tags) + ' ' +\
 7803            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7804            'username: ' + repr(self.username) + ' ' +\
 7805            '>'
 7806
 7807    def to_dict(self):
 7808        return {
 7809            'bind_interface': self.bind_interface,
 7810            'database': self.database,
 7811            'egress_filter': self.egress_filter,
 7812            'healthy': self.healthy,
 7813            'hostname': self.hostname,
 7814            'id': self.id,
 7815            'name': self.name,
 7816            'password': self.password,
 7817            'port': self.port,
 7818            'port_override': self.port_override,
 7819            'proxy_cluster_id': self.proxy_cluster_id,
 7820            'require_native_auth': self.require_native_auth,
 7821            'secret_store_id': self.secret_store_id,
 7822            'subdomain': self.subdomain,
 7823            'tags': self.tags,
 7824            'use_azure_single_server_usernames':
 7825            self.use_azure_single_server_usernames,
 7826            'username': self.username,
 7827        }
 7828
 7829    @classmethod
 7830    def from_dict(cls, d):
 7831        return cls(
 7832            bind_interface=d.get('bind_interface'),
 7833            database=d.get('database'),
 7834            egress_filter=d.get('egress_filter'),
 7835            healthy=d.get('healthy'),
 7836            hostname=d.get('hostname'),
 7837            id=d.get('id'),
 7838            name=d.get('name'),
 7839            password=d.get('password'),
 7840            port=d.get('port'),
 7841            port_override=d.get('port_override'),
 7842            proxy_cluster_id=d.get('proxy_cluster_id'),
 7843            require_native_auth=d.get('require_native_auth'),
 7844            secret_store_id=d.get('secret_store_id'),
 7845            subdomain=d.get('subdomain'),
 7846            tags=d.get('tags'),
 7847            use_azure_single_server_usernames=d.get(
 7848                'use_azure_single_server_usernames'),
 7849            username=d.get('username'),
 7850        )
 7851
 7852
 7853class AzurePostgres:
 7854    __slots__ = [
 7855        'bind_interface',
 7856        'database',
 7857        'egress_filter',
 7858        'healthy',
 7859        'hostname',
 7860        'id',
 7861        'name',
 7862        'override_database',
 7863        'password',
 7864        'port',
 7865        'port_override',
 7866        'proxy_cluster_id',
 7867        'secret_store_id',
 7868        'subdomain',
 7869        'tags',
 7870        'username',
 7871    ]
 7872
 7873    def __init__(
 7874        self,
 7875        bind_interface=None,
 7876        database=None,
 7877        egress_filter=None,
 7878        healthy=None,
 7879        hostname=None,
 7880        id=None,
 7881        name=None,
 7882        override_database=None,
 7883        password=None,
 7884        port=None,
 7885        port_override=None,
 7886        proxy_cluster_id=None,
 7887        secret_store_id=None,
 7888        subdomain=None,
 7889        tags=None,
 7890        username=None,
 7891    ):
 7892        self.bind_interface = bind_interface if bind_interface is not None else ''
 7893        '''
 7894         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 7895        '''
 7896        self.database = database if database is not None else ''
 7897        '''
 7898         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7899        '''
 7900        self.egress_filter = egress_filter if egress_filter is not None else ''
 7901        '''
 7902         A filter applied to the routing logic to pin datasource to nodes.
 7903        '''
 7904        self.healthy = healthy if healthy is not None else False
 7905        '''
 7906         True if the datasource is reachable and the credentials are valid.
 7907        '''
 7908        self.hostname = hostname if hostname is not None else ''
 7909        '''
 7910         The host to dial to initiate a connection from the egress node to this resource.
 7911        '''
 7912        self.id = id if id is not None else ''
 7913        '''
 7914         Unique identifier of the Resource.
 7915        '''
 7916        self.name = name if name is not None else ''
 7917        '''
 7918         Unique human-readable name of the Resource.
 7919        '''
 7920        self.override_database = override_database if override_database is not None else False
 7921        '''
 7922         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.
 7923        '''
 7924        self.password = password if password is not None else ''
 7925        '''
 7926         The password to authenticate with.
 7927        '''
 7928        self.port = port if port is not None else 0
 7929        '''
 7930         The port to dial to initiate a connection from the egress node to this resource.
 7931        '''
 7932        self.port_override = port_override if port_override is not None else 0
 7933        '''
 7934         The local port used by clients to connect to this resource.
 7935        '''
 7936        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7937        '''
 7938         ID of the proxy cluster for this resource, if any.
 7939        '''
 7940        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7941        '''
 7942         ID of the secret store containing credentials for this resource, if any.
 7943        '''
 7944        self.subdomain = subdomain if subdomain is not None else ''
 7945        '''
 7946         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 7947        '''
 7948        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7949        '''
 7950         Tags is a map of key, value pairs.
 7951        '''
 7952        self.username = username if username is not None else ''
 7953        '''
 7954         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.
 7955        '''
 7956
 7957    def __repr__(self):
 7958        return '<sdm.AzurePostgres ' + \
 7959            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7960            'database: ' + repr(self.database) + ' ' +\
 7961            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7962            'healthy: ' + repr(self.healthy) + ' ' +\
 7963            'hostname: ' + repr(self.hostname) + ' ' +\
 7964            'id: ' + repr(self.id) + ' ' +\
 7965            'name: ' + repr(self.name) + ' ' +\
 7966            'override_database: ' + repr(self.override_database) + ' ' +\
 7967            'password: ' + repr(self.password) + ' ' +\
 7968            'port: ' + repr(self.port) + ' ' +\
 7969            'port_override: ' + repr(self.port_override) + ' ' +\
 7970            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7971            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7972            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7973            'tags: ' + repr(self.tags) + ' ' +\
 7974            'username: ' + repr(self.username) + ' ' +\
 7975            '>'
 7976
 7977    def to_dict(self):
 7978        return {
 7979            'bind_interface': self.bind_interface,
 7980            'database': self.database,
 7981            'egress_filter': self.egress_filter,
 7982            'healthy': self.healthy,
 7983            'hostname': self.hostname,
 7984            'id': self.id,
 7985            'name': self.name,
 7986            'override_database': self.override_database,
 7987            'password': self.password,
 7988            'port': self.port,
 7989            'port_override': self.port_override,
 7990            'proxy_cluster_id': self.proxy_cluster_id,
 7991            'secret_store_id': self.secret_store_id,
 7992            'subdomain': self.subdomain,
 7993            'tags': self.tags,
 7994            'username': self.username,
 7995        }
 7996
 7997    @classmethod
 7998    def from_dict(cls, d):
 7999        return cls(
 8000            bind_interface=d.get('bind_interface'),
 8001            database=d.get('database'),
 8002            egress_filter=d.get('egress_filter'),
 8003            healthy=d.get('healthy'),
 8004            hostname=d.get('hostname'),
 8005            id=d.get('id'),
 8006            name=d.get('name'),
 8007            override_database=d.get('override_database'),
 8008            password=d.get('password'),
 8009            port=d.get('port'),
 8010            port_override=d.get('port_override'),
 8011            proxy_cluster_id=d.get('proxy_cluster_id'),
 8012            secret_store_id=d.get('secret_store_id'),
 8013            subdomain=d.get('subdomain'),
 8014            tags=d.get('tags'),
 8015            username=d.get('username'),
 8016        )
 8017
 8018
 8019class AzurePostgresManagedIdentity:
 8020    __slots__ = [
 8021        'bind_interface',
 8022        'database',
 8023        'egress_filter',
 8024        'healthy',
 8025        'hostname',
 8026        'id',
 8027        'name',
 8028        'override_database',
 8029        'password',
 8030        'port',
 8031        'port_override',
 8032        'proxy_cluster_id',
 8033        'secret_store_id',
 8034        'subdomain',
 8035        'tags',
 8036        'use_azure_single_server_usernames',
 8037        'username',
 8038    ]
 8039
 8040    def __init__(
 8041        self,
 8042        bind_interface=None,
 8043        database=None,
 8044        egress_filter=None,
 8045        healthy=None,
 8046        hostname=None,
 8047        id=None,
 8048        name=None,
 8049        override_database=None,
 8050        password=None,
 8051        port=None,
 8052        port_override=None,
 8053        proxy_cluster_id=None,
 8054        secret_store_id=None,
 8055        subdomain=None,
 8056        tags=None,
 8057        use_azure_single_server_usernames=None,
 8058        username=None,
 8059    ):
 8060        self.bind_interface = bind_interface if bind_interface is not None else ''
 8061        '''
 8062         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8063        '''
 8064        self.database = database if database is not None else ''
 8065        '''
 8066         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8067        '''
 8068        self.egress_filter = egress_filter if egress_filter is not None else ''
 8069        '''
 8070         A filter applied to the routing logic to pin datasource to nodes.
 8071        '''
 8072        self.healthy = healthy if healthy is not None else False
 8073        '''
 8074         True if the datasource is reachable and the credentials are valid.
 8075        '''
 8076        self.hostname = hostname if hostname is not None else ''
 8077        '''
 8078         The host to dial to initiate a connection from the egress node to this resource.
 8079        '''
 8080        self.id = id if id is not None else ''
 8081        '''
 8082         Unique identifier of the Resource.
 8083        '''
 8084        self.name = name if name is not None else ''
 8085        '''
 8086         Unique human-readable name of the Resource.
 8087        '''
 8088        self.override_database = override_database if override_database is not None else False
 8089        '''
 8090         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.
 8091        '''
 8092        self.password = password if password is not None else ''
 8093        '''
 8094         The password to authenticate with.
 8095        '''
 8096        self.port = port if port is not None else 0
 8097        '''
 8098         The port to dial to initiate a connection from the egress node to this resource.
 8099        '''
 8100        self.port_override = port_override if port_override is not None else 0
 8101        '''
 8102         The local port used by clients to connect to this resource.
 8103        '''
 8104        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8105        '''
 8106         ID of the proxy cluster for this resource, if any.
 8107        '''
 8108        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8109        '''
 8110         ID of the secret store containing credentials for this resource, if any.
 8111        '''
 8112        self.subdomain = subdomain if subdomain is not None else ''
 8113        '''
 8114         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8115        '''
 8116        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8117        '''
 8118         Tags is a map of key, value pairs.
 8119        '''
 8120        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8121        '''
 8122         If true, appends the hostname to the username when hitting a database.azure.com address
 8123        '''
 8124        self.username = username if username is not None else ''
 8125        '''
 8126         The username to authenticate with.
 8127        '''
 8128
 8129    def __repr__(self):
 8130        return '<sdm.AzurePostgresManagedIdentity ' + \
 8131            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8132            'database: ' + repr(self.database) + ' ' +\
 8133            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8134            'healthy: ' + repr(self.healthy) + ' ' +\
 8135            'hostname: ' + repr(self.hostname) + ' ' +\
 8136            'id: ' + repr(self.id) + ' ' +\
 8137            'name: ' + repr(self.name) + ' ' +\
 8138            'override_database: ' + repr(self.override_database) + ' ' +\
 8139            'password: ' + repr(self.password) + ' ' +\
 8140            'port: ' + repr(self.port) + ' ' +\
 8141            'port_override: ' + repr(self.port_override) + ' ' +\
 8142            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8143            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8144            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8145            'tags: ' + repr(self.tags) + ' ' +\
 8146            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8147            'username: ' + repr(self.username) + ' ' +\
 8148            '>'
 8149
 8150    def to_dict(self):
 8151        return {
 8152            'bind_interface': self.bind_interface,
 8153            'database': self.database,
 8154            'egress_filter': self.egress_filter,
 8155            'healthy': self.healthy,
 8156            'hostname': self.hostname,
 8157            'id': self.id,
 8158            'name': self.name,
 8159            'override_database': self.override_database,
 8160            'password': self.password,
 8161            'port': self.port,
 8162            'port_override': self.port_override,
 8163            'proxy_cluster_id': self.proxy_cluster_id,
 8164            'secret_store_id': self.secret_store_id,
 8165            'subdomain': self.subdomain,
 8166            'tags': self.tags,
 8167            'use_azure_single_server_usernames':
 8168            self.use_azure_single_server_usernames,
 8169            'username': self.username,
 8170        }
 8171
 8172    @classmethod
 8173    def from_dict(cls, d):
 8174        return cls(
 8175            bind_interface=d.get('bind_interface'),
 8176            database=d.get('database'),
 8177            egress_filter=d.get('egress_filter'),
 8178            healthy=d.get('healthy'),
 8179            hostname=d.get('hostname'),
 8180            id=d.get('id'),
 8181            name=d.get('name'),
 8182            override_database=d.get('override_database'),
 8183            password=d.get('password'),
 8184            port=d.get('port'),
 8185            port_override=d.get('port_override'),
 8186            proxy_cluster_id=d.get('proxy_cluster_id'),
 8187            secret_store_id=d.get('secret_store_id'),
 8188            subdomain=d.get('subdomain'),
 8189            tags=d.get('tags'),
 8190            use_azure_single_server_usernames=d.get(
 8191                'use_azure_single_server_usernames'),
 8192            username=d.get('username'),
 8193        )
 8194
 8195
 8196class AzureStore:
 8197    __slots__ = [
 8198        'id',
 8199        'name',
 8200        'tags',
 8201        'vault_uri',
 8202    ]
 8203
 8204    def __init__(
 8205        self,
 8206        id=None,
 8207        name=None,
 8208        tags=None,
 8209        vault_uri=None,
 8210    ):
 8211        self.id = id if id is not None else ''
 8212        '''
 8213         Unique identifier of the SecretStore.
 8214        '''
 8215        self.name = name if name is not None else ''
 8216        '''
 8217         Unique human-readable name of the SecretStore.
 8218        '''
 8219        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8220        '''
 8221         Tags is a map of key, value pairs.
 8222        '''
 8223        self.vault_uri = vault_uri if vault_uri is not None else ''
 8224        '''
 8225         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 8226        '''
 8227
 8228    def __repr__(self):
 8229        return '<sdm.AzureStore ' + \
 8230            'id: ' + repr(self.id) + ' ' +\
 8231            'name: ' + repr(self.name) + ' ' +\
 8232            'tags: ' + repr(self.tags) + ' ' +\
 8233            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 8234            '>'
 8235
 8236    def to_dict(self):
 8237        return {
 8238            'id': self.id,
 8239            'name': self.name,
 8240            'tags': self.tags,
 8241            'vault_uri': self.vault_uri,
 8242        }
 8243
 8244    @classmethod
 8245    def from_dict(cls, d):
 8246        return cls(
 8247            id=d.get('id'),
 8248            name=d.get('name'),
 8249            tags=d.get('tags'),
 8250            vault_uri=d.get('vault_uri'),
 8251        )
 8252
 8253
 8254class BigQuery:
 8255    __slots__ = [
 8256        'bind_interface',
 8257        'egress_filter',
 8258        'endpoint',
 8259        'healthy',
 8260        'id',
 8261        'name',
 8262        'port_override',
 8263        'private_key',
 8264        'project',
 8265        'proxy_cluster_id',
 8266        'secret_store_id',
 8267        'subdomain',
 8268        'tags',
 8269        'username',
 8270    ]
 8271
 8272    def __init__(
 8273        self,
 8274        bind_interface=None,
 8275        egress_filter=None,
 8276        endpoint=None,
 8277        healthy=None,
 8278        id=None,
 8279        name=None,
 8280        port_override=None,
 8281        private_key=None,
 8282        project=None,
 8283        proxy_cluster_id=None,
 8284        secret_store_id=None,
 8285        subdomain=None,
 8286        tags=None,
 8287        username=None,
 8288    ):
 8289        self.bind_interface = bind_interface if bind_interface is not None else ''
 8290        '''
 8291         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8292        '''
 8293        self.egress_filter = egress_filter if egress_filter is not None else ''
 8294        '''
 8295         A filter applied to the routing logic to pin datasource to nodes.
 8296        '''
 8297        self.endpoint = endpoint if endpoint is not None else ''
 8298        '''
 8299         The endpoint to dial.
 8300        '''
 8301        self.healthy = healthy if healthy is not None else False
 8302        '''
 8303         True if the datasource is reachable and the credentials are valid.
 8304        '''
 8305        self.id = id if id is not None else ''
 8306        '''
 8307         Unique identifier of the Resource.
 8308        '''
 8309        self.name = name if name is not None else ''
 8310        '''
 8311         Unique human-readable name of the Resource.
 8312        '''
 8313        self.port_override = port_override if port_override is not None else 0
 8314        '''
 8315         The local port used by clients to connect to this resource.
 8316        '''
 8317        self.private_key = private_key if private_key is not None else ''
 8318        '''
 8319         The JSON Private key to authenticate with.
 8320        '''
 8321        self.project = project if project is not None else ''
 8322        '''
 8323         The project to connect to.
 8324        '''
 8325        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8326        '''
 8327         ID of the proxy cluster for this resource, if any.
 8328        '''
 8329        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8330        '''
 8331         ID of the secret store containing credentials for this resource, if any.
 8332        '''
 8333        self.subdomain = subdomain if subdomain is not None else ''
 8334        '''
 8335         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8336        '''
 8337        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8338        '''
 8339         Tags is a map of key, value pairs.
 8340        '''
 8341        self.username = username if username is not None else ''
 8342        '''
 8343         The username to authenticate with.
 8344        '''
 8345
 8346    def __repr__(self):
 8347        return '<sdm.BigQuery ' + \
 8348            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8349            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8350            'endpoint: ' + repr(self.endpoint) + ' ' +\
 8351            'healthy: ' + repr(self.healthy) + ' ' +\
 8352            'id: ' + repr(self.id) + ' ' +\
 8353            'name: ' + repr(self.name) + ' ' +\
 8354            'port_override: ' + repr(self.port_override) + ' ' +\
 8355            'private_key: ' + repr(self.private_key) + ' ' +\
 8356            'project: ' + repr(self.project) + ' ' +\
 8357            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8358            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8359            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8360            'tags: ' + repr(self.tags) + ' ' +\
 8361            'username: ' + repr(self.username) + ' ' +\
 8362            '>'
 8363
 8364    def to_dict(self):
 8365        return {
 8366            'bind_interface': self.bind_interface,
 8367            'egress_filter': self.egress_filter,
 8368            'endpoint': self.endpoint,
 8369            'healthy': self.healthy,
 8370            'id': self.id,
 8371            'name': self.name,
 8372            'port_override': self.port_override,
 8373            'private_key': self.private_key,
 8374            'project': self.project,
 8375            'proxy_cluster_id': self.proxy_cluster_id,
 8376            'secret_store_id': self.secret_store_id,
 8377            'subdomain': self.subdomain,
 8378            'tags': self.tags,
 8379            'username': self.username,
 8380        }
 8381
 8382    @classmethod
 8383    def from_dict(cls, d):
 8384        return cls(
 8385            bind_interface=d.get('bind_interface'),
 8386            egress_filter=d.get('egress_filter'),
 8387            endpoint=d.get('endpoint'),
 8388            healthy=d.get('healthy'),
 8389            id=d.get('id'),
 8390            name=d.get('name'),
 8391            port_override=d.get('port_override'),
 8392            private_key=d.get('private_key'),
 8393            project=d.get('project'),
 8394            proxy_cluster_id=d.get('proxy_cluster_id'),
 8395            secret_store_id=d.get('secret_store_id'),
 8396            subdomain=d.get('subdomain'),
 8397            tags=d.get('tags'),
 8398            username=d.get('username'),
 8399        )
 8400
 8401
 8402class Cassandra:
 8403    __slots__ = [
 8404        'bind_interface',
 8405        'egress_filter',
 8406        'healthy',
 8407        'hostname',
 8408        'id',
 8409        'name',
 8410        'password',
 8411        'port',
 8412        'port_override',
 8413        'proxy_cluster_id',
 8414        'secret_store_id',
 8415        'subdomain',
 8416        'tags',
 8417        'tls_required',
 8418        'username',
 8419    ]
 8420
 8421    def __init__(
 8422        self,
 8423        bind_interface=None,
 8424        egress_filter=None,
 8425        healthy=None,
 8426        hostname=None,
 8427        id=None,
 8428        name=None,
 8429        password=None,
 8430        port=None,
 8431        port_override=None,
 8432        proxy_cluster_id=None,
 8433        secret_store_id=None,
 8434        subdomain=None,
 8435        tags=None,
 8436        tls_required=None,
 8437        username=None,
 8438    ):
 8439        self.bind_interface = bind_interface if bind_interface is not None else ''
 8440        '''
 8441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8442        '''
 8443        self.egress_filter = egress_filter if egress_filter is not None else ''
 8444        '''
 8445         A filter applied to the routing logic to pin datasource to nodes.
 8446        '''
 8447        self.healthy = healthy if healthy is not None else False
 8448        '''
 8449         True if the datasource is reachable and the credentials are valid.
 8450        '''
 8451        self.hostname = hostname if hostname is not None else ''
 8452        '''
 8453         The host to dial to initiate a connection from the egress node to this resource.
 8454        '''
 8455        self.id = id if id is not None else ''
 8456        '''
 8457         Unique identifier of the Resource.
 8458        '''
 8459        self.name = name if name is not None else ''
 8460        '''
 8461         Unique human-readable name of the Resource.
 8462        '''
 8463        self.password = password if password is not None else ''
 8464        '''
 8465         The password to authenticate with.
 8466        '''
 8467        self.port = port if port is not None else 0
 8468        '''
 8469         The port to dial to initiate a connection from the egress node to this resource.
 8470        '''
 8471        self.port_override = port_override if port_override is not None else 0
 8472        '''
 8473         The local port used by clients to connect to this resource.
 8474        '''
 8475        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8476        '''
 8477         ID of the proxy cluster for this resource, if any.
 8478        '''
 8479        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8480        '''
 8481         ID of the secret store containing credentials for this resource, if any.
 8482        '''
 8483        self.subdomain = subdomain if subdomain is not None else ''
 8484        '''
 8485         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8486        '''
 8487        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8488        '''
 8489         Tags is a map of key, value pairs.
 8490        '''
 8491        self.tls_required = tls_required if tls_required is not None else False
 8492        '''
 8493         If set, TLS must be used to connect to this resource.
 8494        '''
 8495        self.username = username if username is not None else ''
 8496        '''
 8497         The username to authenticate with.
 8498        '''
 8499
 8500    def __repr__(self):
 8501        return '<sdm.Cassandra ' + \
 8502            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8503            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8504            'healthy: ' + repr(self.healthy) + ' ' +\
 8505            'hostname: ' + repr(self.hostname) + ' ' +\
 8506            'id: ' + repr(self.id) + ' ' +\
 8507            'name: ' + repr(self.name) + ' ' +\
 8508            'password: ' + repr(self.password) + ' ' +\
 8509            'port: ' + repr(self.port) + ' ' +\
 8510            'port_override: ' + repr(self.port_override) + ' ' +\
 8511            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8512            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8513            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8514            'tags: ' + repr(self.tags) + ' ' +\
 8515            'tls_required: ' + repr(self.tls_required) + ' ' +\
 8516            'username: ' + repr(self.username) + ' ' +\
 8517            '>'
 8518
 8519    def to_dict(self):
 8520        return {
 8521            'bind_interface': self.bind_interface,
 8522            'egress_filter': self.egress_filter,
 8523            'healthy': self.healthy,
 8524            'hostname': self.hostname,
 8525            'id': self.id,
 8526            'name': self.name,
 8527            'password': self.password,
 8528            'port': self.port,
 8529            'port_override': self.port_override,
 8530            'proxy_cluster_id': self.proxy_cluster_id,
 8531            'secret_store_id': self.secret_store_id,
 8532            'subdomain': self.subdomain,
 8533            'tags': self.tags,
 8534            'tls_required': self.tls_required,
 8535            'username': self.username,
 8536        }
 8537
 8538    @classmethod
 8539    def from_dict(cls, d):
 8540        return cls(
 8541            bind_interface=d.get('bind_interface'),
 8542            egress_filter=d.get('egress_filter'),
 8543            healthy=d.get('healthy'),
 8544            hostname=d.get('hostname'),
 8545            id=d.get('id'),
 8546            name=d.get('name'),
 8547            password=d.get('password'),
 8548            port=d.get('port'),
 8549            port_override=d.get('port_override'),
 8550            proxy_cluster_id=d.get('proxy_cluster_id'),
 8551            secret_store_id=d.get('secret_store_id'),
 8552            subdomain=d.get('subdomain'),
 8553            tags=d.get('tags'),
 8554            tls_required=d.get('tls_required'),
 8555            username=d.get('username'),
 8556        )
 8557
 8558
 8559class Citus:
 8560    __slots__ = [
 8561        'bind_interface',
 8562        'database',
 8563        'egress_filter',
 8564        'healthy',
 8565        'hostname',
 8566        'id',
 8567        'name',
 8568        'override_database',
 8569        'password',
 8570        'port',
 8571        'port_override',
 8572        'proxy_cluster_id',
 8573        'secret_store_id',
 8574        'subdomain',
 8575        'tags',
 8576        'username',
 8577    ]
 8578
 8579    def __init__(
 8580        self,
 8581        bind_interface=None,
 8582        database=None,
 8583        egress_filter=None,
 8584        healthy=None,
 8585        hostname=None,
 8586        id=None,
 8587        name=None,
 8588        override_database=None,
 8589        password=None,
 8590        port=None,
 8591        port_override=None,
 8592        proxy_cluster_id=None,
 8593        secret_store_id=None,
 8594        subdomain=None,
 8595        tags=None,
 8596        username=None,
 8597    ):
 8598        self.bind_interface = bind_interface if bind_interface is not None else ''
 8599        '''
 8600         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8601        '''
 8602        self.database = database if database is not None else ''
 8603        '''
 8604         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8605        '''
 8606        self.egress_filter = egress_filter if egress_filter is not None else ''
 8607        '''
 8608         A filter applied to the routing logic to pin datasource to nodes.
 8609        '''
 8610        self.healthy = healthy if healthy is not None else False
 8611        '''
 8612         True if the datasource is reachable and the credentials are valid.
 8613        '''
 8614        self.hostname = hostname if hostname is not None else ''
 8615        '''
 8616         The host to dial to initiate a connection from the egress node to this resource.
 8617        '''
 8618        self.id = id if id is not None else ''
 8619        '''
 8620         Unique identifier of the Resource.
 8621        '''
 8622        self.name = name if name is not None else ''
 8623        '''
 8624         Unique human-readable name of the Resource.
 8625        '''
 8626        self.override_database = override_database if override_database is not None else False
 8627        '''
 8628         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.
 8629        '''
 8630        self.password = password if password is not None else ''
 8631        '''
 8632         The password to authenticate with.
 8633        '''
 8634        self.port = port if port is not None else 0
 8635        '''
 8636         The port to dial to initiate a connection from the egress node to this resource.
 8637        '''
 8638        self.port_override = port_override if port_override is not None else 0
 8639        '''
 8640         The local port used by clients to connect to this resource.
 8641        '''
 8642        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8643        '''
 8644         ID of the proxy cluster for this resource, if any.
 8645        '''
 8646        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8647        '''
 8648         ID of the secret store containing credentials for this resource, if any.
 8649        '''
 8650        self.subdomain = subdomain if subdomain is not None else ''
 8651        '''
 8652         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 8653        '''
 8654        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8655        '''
 8656         Tags is a map of key, value pairs.
 8657        '''
 8658        self.username = username if username is not None else ''
 8659        '''
 8660         The username to authenticate with.
 8661        '''
 8662
 8663    def __repr__(self):
 8664        return '<sdm.Citus ' + \
 8665            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8666            'database: ' + repr(self.database) + ' ' +\
 8667            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8668            'healthy: ' + repr(self.healthy) + ' ' +\
 8669            'hostname: ' + repr(self.hostname) + ' ' +\
 8670            'id: ' + repr(self.id) + ' ' +\
 8671            'name: ' + repr(self.name) + ' ' +\
 8672            'override_database: ' + repr(self.override_database) + ' ' +\
 8673            'password: ' + repr(self.password) + ' ' +\
 8674            'port: ' + repr(self.port) + ' ' +\
 8675            'port_override: ' + repr(self.port_override) + ' ' +\
 8676            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8677            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8678            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8679            'tags: ' + repr(self.tags) + ' ' +\
 8680            'username: ' + repr(self.username) + ' ' +\
 8681            '>'
 8682
 8683    def to_dict(self):
 8684        return {
 8685            'bind_interface': self.bind_interface,
 8686            'database': self.database,
 8687            'egress_filter': self.egress_filter,
 8688            'healthy': self.healthy,
 8689            'hostname': self.hostname,
 8690            'id': self.id,
 8691            'name': self.name,
 8692            'override_database': self.override_database,
 8693            'password': self.password,
 8694            'port': self.port,
 8695            'port_override': self.port_override,
 8696            'proxy_cluster_id': self.proxy_cluster_id,
 8697            'secret_store_id': self.secret_store_id,
 8698            'subdomain': self.subdomain,
 8699            'tags': self.tags,
 8700            'username': self.username,
 8701        }
 8702
 8703    @classmethod
 8704    def from_dict(cls, d):
 8705        return cls(
 8706            bind_interface=d.get('bind_interface'),
 8707            database=d.get('database'),
 8708            egress_filter=d.get('egress_filter'),
 8709            healthy=d.get('healthy'),
 8710            hostname=d.get('hostname'),
 8711            id=d.get('id'),
 8712            name=d.get('name'),
 8713            override_database=d.get('override_database'),
 8714            password=d.get('password'),
 8715            port=d.get('port'),
 8716            port_override=d.get('port_override'),
 8717            proxy_cluster_id=d.get('proxy_cluster_id'),
 8718            secret_store_id=d.get('secret_store_id'),
 8719            subdomain=d.get('subdomain'),
 8720            tags=d.get('tags'),
 8721            username=d.get('username'),
 8722        )
 8723
 8724
 8725class ClickHouseHTTP:
 8726    __slots__ = [
 8727        'bind_interface',
 8728        'database',
 8729        'egress_filter',
 8730        'healthy',
 8731        'id',
 8732        'name',
 8733        'password',
 8734        'port_override',
 8735        'proxy_cluster_id',
 8736        'secret_store_id',
 8737        'tags',
 8738        'url',
 8739        'username',
 8740    ]
 8741
 8742    def __init__(
 8743        self,
 8744        bind_interface=None,
 8745        database=None,
 8746        egress_filter=None,
 8747        healthy=None,
 8748        id=None,
 8749        name=None,
 8750        password=None,
 8751        port_override=None,
 8752        proxy_cluster_id=None,
 8753        secret_store_id=None,
 8754        tags=None,
 8755        url=None,
 8756        username=None,
 8757    ):
 8758        self.bind_interface = bind_interface if bind_interface is not None else ''
 8759        '''
 8760         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8761        '''
 8762        self.database = database if database is not None else ''
 8763        '''
 8764         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8765        '''
 8766        self.egress_filter = egress_filter if egress_filter is not None else ''
 8767        '''
 8768         A filter applied to the routing logic to pin datasource to nodes.
 8769        '''
 8770        self.healthy = healthy if healthy is not None else False
 8771        '''
 8772         True if the datasource is reachable and the credentials are valid.
 8773        '''
 8774        self.id = id if id is not None else ''
 8775        '''
 8776         Unique identifier of the Resource.
 8777        '''
 8778        self.name = name if name is not None else ''
 8779        '''
 8780         Unique human-readable name of the Resource.
 8781        '''
 8782        self.password = password if password is not None else ''
 8783        '''
 8784         The password to authenticate with.
 8785        '''
 8786        self.port_override = port_override if port_override is not None else 0
 8787        '''
 8788         The local port used by clients to connect to this resource.
 8789        '''
 8790        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8791        '''
 8792         ID of the proxy cluster for this resource, if any.
 8793        '''
 8794        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8795        '''
 8796         ID of the secret store containing credentials for this resource, if any.
 8797        '''
 8798        self.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.url = url if url is not None else ''
 8803        '''
 8804         The URL to dial to initiate a connection from the egress node 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.ClickHouseHTTP ' + \
 8813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8814            'database: ' + repr(self.database) + ' ' +\
 8815            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8816            'healthy: ' + repr(self.healthy) + ' ' +\
 8817            'id: ' + repr(self.id) + ' ' +\
 8818            'name: ' + repr(self.name) + ' ' +\
 8819            'password: ' + repr(self.password) + ' ' +\
 8820            'port_override: ' + repr(self.port_override) + ' ' +\
 8821            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8822            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8823            'tags: ' + repr(self.tags) + ' ' +\
 8824            'url: ' + repr(self.url) + ' ' +\
 8825            'username: ' + repr(self.username) + ' ' +\
 8826            '>'
 8827
 8828    def to_dict(self):
 8829        return {
 8830            'bind_interface': self.bind_interface,
 8831            'database': self.database,
 8832            'egress_filter': self.egress_filter,
 8833            'healthy': self.healthy,
 8834            'id': self.id,
 8835            'name': self.name,
 8836            'password': self.password,
 8837            'port_override': self.port_override,
 8838            'proxy_cluster_id': self.proxy_cluster_id,
 8839            'secret_store_id': self.secret_store_id,
 8840            'tags': self.tags,
 8841            'url': self.url,
 8842            'username': self.username,
 8843        }
 8844
 8845    @classmethod
 8846    def from_dict(cls, d):
 8847        return cls(
 8848            bind_interface=d.get('bind_interface'),
 8849            database=d.get('database'),
 8850            egress_filter=d.get('egress_filter'),
 8851            healthy=d.get('healthy'),
 8852            id=d.get('id'),
 8853            name=d.get('name'),
 8854            password=d.get('password'),
 8855            port_override=d.get('port_override'),
 8856            proxy_cluster_id=d.get('proxy_cluster_id'),
 8857            secret_store_id=d.get('secret_store_id'),
 8858            tags=d.get('tags'),
 8859            url=d.get('url'),
 8860            username=d.get('username'),
 8861        )
 8862
 8863
 8864class ClickHouseMySQL:
 8865    __slots__ = [
 8866        'bind_interface',
 8867        'database',
 8868        'egress_filter',
 8869        'healthy',
 8870        'hostname',
 8871        'id',
 8872        'name',
 8873        'password',
 8874        'port',
 8875        'port_override',
 8876        'proxy_cluster_id',
 8877        'require_native_auth',
 8878        'secret_store_id',
 8879        'subdomain',
 8880        'tags',
 8881        'username',
 8882    ]
 8883
 8884    def __init__(
 8885        self,
 8886        bind_interface=None,
 8887        database=None,
 8888        egress_filter=None,
 8889        healthy=None,
 8890        hostname=None,
 8891        id=None,
 8892        name=None,
 8893        password=None,
 8894        port=None,
 8895        port_override=None,
 8896        proxy_cluster_id=None,
 8897        require_native_auth=None,
 8898        secret_store_id=None,
 8899        subdomain=None,
 8900        tags=None,
 8901        username=None,
 8902    ):
 8903        self.bind_interface = bind_interface if bind_interface is not None else ''
 8904        '''
 8905         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 8906        '''
 8907        self.database = database if database is not None else ''
 8908        '''
 8909         The database for healthchecks. Does not affect client requests.
 8910        '''
 8911        self.egress_filter = egress_filter if egress_filter is not None else ''
 8912        '''
 8913         A filter applied to the routing logic to pin datasource to nodes.
 8914        '''
 8915        self.healthy = healthy if healthy is not None else False
 8916        '''
 8917         True if the datasource is reachable and the credentials are valid.
 8918        '''
 8919        self.hostname = hostname if hostname is not None else ''
 8920        '''
 8921         The host to dial to initiate a connection from the egress node to this resource.
 8922        '''
 8923        self.id = id if id is not None else ''
 8924        '''
 8925         Unique identifier of the Resource.
 8926        '''
 8927        self.name = name if name is not None else ''
 8928        '''
 8929         Unique human-readable name of the Resource.
 8930        '''
 8931        self.password = password if password is not None else ''
 8932        '''
 8933         The password to authenticate with.
 8934        '''
 8935        self.port = port if port is not None else 0
 8936        '''
 8937         The port to dial to initiate a connection from the egress node to this resource.
 8938        '''
 8939        self.port_override = port_override if port_override is not None else 0
 8940        '''
 8941         The local port used by clients to connect to this resource.
 8942        '''
 8943        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8944        '''
 8945         ID of the proxy cluster for this resource, if any.
 8946        '''
 8947        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8948        '''
 8949         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 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.ClickHouseMySQL ' + \
 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            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 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            'require_native_auth': self.require_native_auth,
 9002            'secret_store_id': self.secret_store_id,
 9003            'subdomain': self.subdomain,
 9004            'tags': self.tags,
 9005            'username': self.username,
 9006        }
 9007
 9008    @classmethod
 9009    def from_dict(cls, d):
 9010        return cls(
 9011            bind_interface=d.get('bind_interface'),
 9012            database=d.get('database'),
 9013            egress_filter=d.get('egress_filter'),
 9014            healthy=d.get('healthy'),
 9015            hostname=d.get('hostname'),
 9016            id=d.get('id'),
 9017            name=d.get('name'),
 9018            password=d.get('password'),
 9019            port=d.get('port'),
 9020            port_override=d.get('port_override'),
 9021            proxy_cluster_id=d.get('proxy_cluster_id'),
 9022            require_native_auth=d.get('require_native_auth'),
 9023            secret_store_id=d.get('secret_store_id'),
 9024            subdomain=d.get('subdomain'),
 9025            tags=d.get('tags'),
 9026            username=d.get('username'),
 9027        )
 9028
 9029
 9030class ClickHouseTCP:
 9031    __slots__ = [
 9032        'bind_interface',
 9033        'database',
 9034        'egress_filter',
 9035        'healthy',
 9036        'hostname',
 9037        'id',
 9038        'name',
 9039        'password',
 9040        'port',
 9041        'port_override',
 9042        'proxy_cluster_id',
 9043        'secret_store_id',
 9044        'subdomain',
 9045        'tags',
 9046        'tls_required',
 9047        'username',
 9048    ]
 9049
 9050    def __init__(
 9051        self,
 9052        bind_interface=None,
 9053        database=None,
 9054        egress_filter=None,
 9055        healthy=None,
 9056        hostname=None,
 9057        id=None,
 9058        name=None,
 9059        password=None,
 9060        port=None,
 9061        port_override=None,
 9062        proxy_cluster_id=None,
 9063        secret_store_id=None,
 9064        subdomain=None,
 9065        tags=None,
 9066        tls_required=None,
 9067        username=None,
 9068    ):
 9069        self.bind_interface = bind_interface if bind_interface is not None else ''
 9070        '''
 9071         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9072        '''
 9073        self.database = database if database is not None else ''
 9074        '''
 9075         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9076        '''
 9077        self.egress_filter = egress_filter if egress_filter is not None else ''
 9078        '''
 9079         A filter applied to the routing logic to pin datasource to nodes.
 9080        '''
 9081        self.healthy = healthy if healthy is not None else False
 9082        '''
 9083         True if the datasource is reachable and the credentials are valid.
 9084        '''
 9085        self.hostname = hostname if hostname is not None else ''
 9086        '''
 9087         The host to dial to initiate a connection from the egress node to this resource.
 9088        '''
 9089        self.id = id if id is not None else ''
 9090        '''
 9091         Unique identifier of the Resource.
 9092        '''
 9093        self.name = name if name is not None else ''
 9094        '''
 9095         Unique human-readable name of the Resource.
 9096        '''
 9097        self.password = password if password is not None else ''
 9098        '''
 9099         The password to authenticate with.
 9100        '''
 9101        self.port = port if port is not None else 0
 9102        '''
 9103         The port to dial to initiate a connection from the egress node to this resource.
 9104        '''
 9105        self.port_override = port_override if port_override is not None else 0
 9106        '''
 9107         The local port used by clients to connect to this resource.
 9108        '''
 9109        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9110        '''
 9111         ID of the proxy cluster for this resource, if any.
 9112        '''
 9113        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9114        '''
 9115         ID of the secret store containing credentials for this resource, if any.
 9116        '''
 9117        self.subdomain = subdomain if subdomain is not None else ''
 9118        '''
 9119         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9120        '''
 9121        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9122        '''
 9123         Tags is a map of key, value pairs.
 9124        '''
 9125        self.tls_required = tls_required if tls_required is not None else False
 9126        '''
 9127         If set, TLS must be used to connect to this resource.
 9128        '''
 9129        self.username = username if username is not None else ''
 9130        '''
 9131         The username to authenticate with.
 9132        '''
 9133
 9134    def __repr__(self):
 9135        return '<sdm.ClickHouseTCP ' + \
 9136            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9137            'database: ' + repr(self.database) + ' ' +\
 9138            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9139            'healthy: ' + repr(self.healthy) + ' ' +\
 9140            'hostname: ' + repr(self.hostname) + ' ' +\
 9141            'id: ' + repr(self.id) + ' ' +\
 9142            'name: ' + repr(self.name) + ' ' +\
 9143            'password: ' + repr(self.password) + ' ' +\
 9144            'port: ' + repr(self.port) + ' ' +\
 9145            'port_override: ' + repr(self.port_override) + ' ' +\
 9146            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9147            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9148            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9149            'tags: ' + repr(self.tags) + ' ' +\
 9150            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9151            'username: ' + repr(self.username) + ' ' +\
 9152            '>'
 9153
 9154    def to_dict(self):
 9155        return {
 9156            'bind_interface': self.bind_interface,
 9157            'database': self.database,
 9158            'egress_filter': self.egress_filter,
 9159            'healthy': self.healthy,
 9160            'hostname': self.hostname,
 9161            'id': self.id,
 9162            'name': self.name,
 9163            'password': self.password,
 9164            'port': self.port,
 9165            'port_override': self.port_override,
 9166            'proxy_cluster_id': self.proxy_cluster_id,
 9167            'secret_store_id': self.secret_store_id,
 9168            'subdomain': self.subdomain,
 9169            'tags': self.tags,
 9170            'tls_required': self.tls_required,
 9171            'username': self.username,
 9172        }
 9173
 9174    @classmethod
 9175    def from_dict(cls, d):
 9176        return cls(
 9177            bind_interface=d.get('bind_interface'),
 9178            database=d.get('database'),
 9179            egress_filter=d.get('egress_filter'),
 9180            healthy=d.get('healthy'),
 9181            hostname=d.get('hostname'),
 9182            id=d.get('id'),
 9183            name=d.get('name'),
 9184            password=d.get('password'),
 9185            port=d.get('port'),
 9186            port_override=d.get('port_override'),
 9187            proxy_cluster_id=d.get('proxy_cluster_id'),
 9188            secret_store_id=d.get('secret_store_id'),
 9189            subdomain=d.get('subdomain'),
 9190            tags=d.get('tags'),
 9191            tls_required=d.get('tls_required'),
 9192            username=d.get('username'),
 9193        )
 9194
 9195
 9196class Clustrix:
 9197    __slots__ = [
 9198        'bind_interface',
 9199        'database',
 9200        'egress_filter',
 9201        'healthy',
 9202        'hostname',
 9203        'id',
 9204        'name',
 9205        'password',
 9206        'port',
 9207        'port_override',
 9208        'proxy_cluster_id',
 9209        'require_native_auth',
 9210        'secret_store_id',
 9211        'subdomain',
 9212        'tags',
 9213        'use_azure_single_server_usernames',
 9214        'username',
 9215    ]
 9216
 9217    def __init__(
 9218        self,
 9219        bind_interface=None,
 9220        database=None,
 9221        egress_filter=None,
 9222        healthy=None,
 9223        hostname=None,
 9224        id=None,
 9225        name=None,
 9226        password=None,
 9227        port=None,
 9228        port_override=None,
 9229        proxy_cluster_id=None,
 9230        require_native_auth=None,
 9231        secret_store_id=None,
 9232        subdomain=None,
 9233        tags=None,
 9234        use_azure_single_server_usernames=None,
 9235        username=None,
 9236    ):
 9237        self.bind_interface = bind_interface if bind_interface is not None else ''
 9238        '''
 9239         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9240        '''
 9241        self.database = database if database is not None else ''
 9242        '''
 9243         The database for healthchecks. Does not affect client requests.
 9244        '''
 9245        self.egress_filter = egress_filter if egress_filter is not None else ''
 9246        '''
 9247         A filter applied to the routing logic to pin datasource to nodes.
 9248        '''
 9249        self.healthy = healthy if healthy is not None else False
 9250        '''
 9251         True if the datasource is reachable and the credentials are valid.
 9252        '''
 9253        self.hostname = hostname if hostname is not None else ''
 9254        '''
 9255         The host to dial to initiate a connection from the egress node to this resource.
 9256        '''
 9257        self.id = id if id is not None else ''
 9258        '''
 9259         Unique identifier of the Resource.
 9260        '''
 9261        self.name = name if name is not None else ''
 9262        '''
 9263         Unique human-readable name of the Resource.
 9264        '''
 9265        self.password = password if password is not None else ''
 9266        '''
 9267         The password to authenticate with.
 9268        '''
 9269        self.port = port if port is not None else 0
 9270        '''
 9271         The port to dial to initiate a connection from the egress node to this resource.
 9272        '''
 9273        self.port_override = port_override if port_override is not None else 0
 9274        '''
 9275         The local port used by clients to connect to this resource.
 9276        '''
 9277        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9278        '''
 9279         ID of the proxy cluster for this resource, if any.
 9280        '''
 9281        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9282        '''
 9283         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9284        '''
 9285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9286        '''
 9287         ID of the secret store containing credentials for this resource, if any.
 9288        '''
 9289        self.subdomain = subdomain if subdomain is not None else ''
 9290        '''
 9291         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9292        '''
 9293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9294        '''
 9295         Tags is a map of key, value pairs.
 9296        '''
 9297        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 9298        '''
 9299         If true, appends the hostname to the username when hitting a database.azure.com address
 9300        '''
 9301        self.username = username if username is not None else ''
 9302        '''
 9303         The username to authenticate with.
 9304        '''
 9305
 9306    def __repr__(self):
 9307        return '<sdm.Clustrix ' + \
 9308            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9309            'database: ' + repr(self.database) + ' ' +\
 9310            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9311            'healthy: ' + repr(self.healthy) + ' ' +\
 9312            'hostname: ' + repr(self.hostname) + ' ' +\
 9313            'id: ' + repr(self.id) + ' ' +\
 9314            'name: ' + repr(self.name) + ' ' +\
 9315            'password: ' + repr(self.password) + ' ' +\
 9316            'port: ' + repr(self.port) + ' ' +\
 9317            'port_override: ' + repr(self.port_override) + ' ' +\
 9318            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9319            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9320            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9321            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9322            'tags: ' + repr(self.tags) + ' ' +\
 9323            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 9324            'username: ' + repr(self.username) + ' ' +\
 9325            '>'
 9326
 9327    def to_dict(self):
 9328        return {
 9329            'bind_interface': self.bind_interface,
 9330            'database': self.database,
 9331            'egress_filter': self.egress_filter,
 9332            'healthy': self.healthy,
 9333            'hostname': self.hostname,
 9334            'id': self.id,
 9335            'name': self.name,
 9336            'password': self.password,
 9337            'port': self.port,
 9338            'port_override': self.port_override,
 9339            'proxy_cluster_id': self.proxy_cluster_id,
 9340            'require_native_auth': self.require_native_auth,
 9341            'secret_store_id': self.secret_store_id,
 9342            'subdomain': self.subdomain,
 9343            'tags': self.tags,
 9344            'use_azure_single_server_usernames':
 9345            self.use_azure_single_server_usernames,
 9346            'username': self.username,
 9347        }
 9348
 9349    @classmethod
 9350    def from_dict(cls, d):
 9351        return cls(
 9352            bind_interface=d.get('bind_interface'),
 9353            database=d.get('database'),
 9354            egress_filter=d.get('egress_filter'),
 9355            healthy=d.get('healthy'),
 9356            hostname=d.get('hostname'),
 9357            id=d.get('id'),
 9358            name=d.get('name'),
 9359            password=d.get('password'),
 9360            port=d.get('port'),
 9361            port_override=d.get('port_override'),
 9362            proxy_cluster_id=d.get('proxy_cluster_id'),
 9363            require_native_auth=d.get('require_native_auth'),
 9364            secret_store_id=d.get('secret_store_id'),
 9365            subdomain=d.get('subdomain'),
 9366            tags=d.get('tags'),
 9367            use_azure_single_server_usernames=d.get(
 9368                'use_azure_single_server_usernames'),
 9369            username=d.get('username'),
 9370        )
 9371
 9372
 9373class Cockroach:
 9374    __slots__ = [
 9375        'bind_interface',
 9376        'database',
 9377        'egress_filter',
 9378        'healthy',
 9379        'hostname',
 9380        'id',
 9381        'name',
 9382        'override_database',
 9383        'password',
 9384        'port',
 9385        'port_override',
 9386        'proxy_cluster_id',
 9387        'secret_store_id',
 9388        'subdomain',
 9389        'tags',
 9390        'username',
 9391    ]
 9392
 9393    def __init__(
 9394        self,
 9395        bind_interface=None,
 9396        database=None,
 9397        egress_filter=None,
 9398        healthy=None,
 9399        hostname=None,
 9400        id=None,
 9401        name=None,
 9402        override_database=None,
 9403        password=None,
 9404        port=None,
 9405        port_override=None,
 9406        proxy_cluster_id=None,
 9407        secret_store_id=None,
 9408        subdomain=None,
 9409        tags=None,
 9410        username=None,
 9411    ):
 9412        self.bind_interface = bind_interface if bind_interface is not None else ''
 9413        '''
 9414         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9415        '''
 9416        self.database = database if database is not None else ''
 9417        '''
 9418         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9419        '''
 9420        self.egress_filter = egress_filter if egress_filter is not None else ''
 9421        '''
 9422         A filter applied to the routing logic to pin datasource to nodes.
 9423        '''
 9424        self.healthy = healthy if healthy is not None else False
 9425        '''
 9426         True if the datasource is reachable and the credentials are valid.
 9427        '''
 9428        self.hostname = hostname if hostname is not None else ''
 9429        '''
 9430         The host to dial to initiate a connection from the egress node to this resource.
 9431        '''
 9432        self.id = id if id is not None else ''
 9433        '''
 9434         Unique identifier of the Resource.
 9435        '''
 9436        self.name = name if name is not None else ''
 9437        '''
 9438         Unique human-readable name of the Resource.
 9439        '''
 9440        self.override_database = override_database if override_database is not None else False
 9441        '''
 9442         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.
 9443        '''
 9444        self.password = password if password is not None else ''
 9445        '''
 9446         The password to authenticate with.
 9447        '''
 9448        self.port = port if port is not None else 0
 9449        '''
 9450         The port to dial to initiate a connection from the egress node to this resource.
 9451        '''
 9452        self.port_override = port_override if port_override is not None else 0
 9453        '''
 9454         The local port used by clients to connect to this resource.
 9455        '''
 9456        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9457        '''
 9458         ID of the proxy cluster for this resource, if any.
 9459        '''
 9460        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9461        '''
 9462         ID of the secret store containing credentials for this resource, if any.
 9463        '''
 9464        self.subdomain = subdomain if subdomain is not None else ''
 9465        '''
 9466         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9467        '''
 9468        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9469        '''
 9470         Tags is a map of key, value pairs.
 9471        '''
 9472        self.username = username if username is not None else ''
 9473        '''
 9474         The username to authenticate with.
 9475        '''
 9476
 9477    def __repr__(self):
 9478        return '<sdm.Cockroach ' + \
 9479            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9480            'database: ' + repr(self.database) + ' ' +\
 9481            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9482            'healthy: ' + repr(self.healthy) + ' ' +\
 9483            'hostname: ' + repr(self.hostname) + ' ' +\
 9484            'id: ' + repr(self.id) + ' ' +\
 9485            'name: ' + repr(self.name) + ' ' +\
 9486            'override_database: ' + repr(self.override_database) + ' ' +\
 9487            'password: ' + repr(self.password) + ' ' +\
 9488            'port: ' + repr(self.port) + ' ' +\
 9489            'port_override: ' + repr(self.port_override) + ' ' +\
 9490            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9491            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9492            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9493            'tags: ' + repr(self.tags) + ' ' +\
 9494            'username: ' + repr(self.username) + ' ' +\
 9495            '>'
 9496
 9497    def to_dict(self):
 9498        return {
 9499            'bind_interface': self.bind_interface,
 9500            'database': self.database,
 9501            'egress_filter': self.egress_filter,
 9502            'healthy': self.healthy,
 9503            'hostname': self.hostname,
 9504            'id': self.id,
 9505            'name': self.name,
 9506            'override_database': self.override_database,
 9507            'password': self.password,
 9508            'port': self.port,
 9509            'port_override': self.port_override,
 9510            'proxy_cluster_id': self.proxy_cluster_id,
 9511            'secret_store_id': self.secret_store_id,
 9512            'subdomain': self.subdomain,
 9513            'tags': self.tags,
 9514            'username': self.username,
 9515        }
 9516
 9517    @classmethod
 9518    def from_dict(cls, d):
 9519        return cls(
 9520            bind_interface=d.get('bind_interface'),
 9521            database=d.get('database'),
 9522            egress_filter=d.get('egress_filter'),
 9523            healthy=d.get('healthy'),
 9524            hostname=d.get('hostname'),
 9525            id=d.get('id'),
 9526            name=d.get('name'),
 9527            override_database=d.get('override_database'),
 9528            password=d.get('password'),
 9529            port=d.get('port'),
 9530            port_override=d.get('port_override'),
 9531            proxy_cluster_id=d.get('proxy_cluster_id'),
 9532            secret_store_id=d.get('secret_store_id'),
 9533            subdomain=d.get('subdomain'),
 9534            tags=d.get('tags'),
 9535            username=d.get('username'),
 9536        )
 9537
 9538
 9539class ControlPanelGetRDPCAPublicKeyResponse:
 9540    '''
 9541         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
 9542     organization's RDP Certificate Authority public key.
 9543    '''
 9544    __slots__ = [
 9545        'meta',
 9546        'public_key',
 9547        'rate_limit',
 9548    ]
 9549
 9550    def __init__(
 9551        self,
 9552        meta=None,
 9553        public_key=None,
 9554        rate_limit=None,
 9555    ):
 9556        self.meta = meta if meta is not None else None
 9557        '''
 9558         Reserved for future use.
 9559        '''
 9560        self.public_key = public_key if public_key is not None else ''
 9561        '''
 9562         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9563         key format.
 9564        '''
 9565        self.rate_limit = rate_limit if rate_limit is not None else None
 9566        '''
 9567         Rate limit information.
 9568        '''
 9569
 9570    def __repr__(self):
 9571        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
 9572            'meta: ' + repr(self.meta) + ' ' +\
 9573            'public_key: ' + repr(self.public_key) + ' ' +\
 9574            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9575            '>'
 9576
 9577    def to_dict(self):
 9578        return {
 9579            'meta': self.meta,
 9580            'public_key': self.public_key,
 9581            'rate_limit': self.rate_limit,
 9582        }
 9583
 9584    @classmethod
 9585    def from_dict(cls, d):
 9586        return cls(
 9587            meta=d.get('meta'),
 9588            public_key=d.get('public_key'),
 9589            rate_limit=d.get('rate_limit'),
 9590        )
 9591
 9592
 9593class ControlPanelGetSSHCAPublicKeyResponse:
 9594    '''
 9595         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
 9596     organization's SSH Certificate Authority public key.
 9597    '''
 9598    __slots__ = [
 9599        'meta',
 9600        'public_key',
 9601        'rate_limit',
 9602    ]
 9603
 9604    def __init__(
 9605        self,
 9606        meta=None,
 9607        public_key=None,
 9608        rate_limit=None,
 9609    ):
 9610        self.meta = meta if meta is not None else None
 9611        '''
 9612         Reserved for future use.
 9613        '''
 9614        self.public_key = public_key if public_key is not None else ''
 9615        '''
 9616         The public key of the SSH Certificate Authority, in OpenSSH RSA public
 9617         key format.
 9618        '''
 9619        self.rate_limit = rate_limit if rate_limit is not None else None
 9620        '''
 9621         Rate limit information.
 9622        '''
 9623
 9624    def __repr__(self):
 9625        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
 9626            'meta: ' + repr(self.meta) + ' ' +\
 9627            'public_key: ' + repr(self.public_key) + ' ' +\
 9628            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9629            '>'
 9630
 9631    def to_dict(self):
 9632        return {
 9633            'meta': self.meta,
 9634            'public_key': self.public_key,
 9635            'rate_limit': self.rate_limit,
 9636        }
 9637
 9638    @classmethod
 9639    def from_dict(cls, d):
 9640        return cls(
 9641            meta=d.get('meta'),
 9642            public_key=d.get('public_key'),
 9643            rate_limit=d.get('rate_limit'),
 9644        )
 9645
 9646
 9647class ControlPanelVerifyJWTResponse:
 9648    '''
 9649         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
 9650    '''
 9651    __slots__ = [
 9652        'meta',
 9653        'rate_limit',
 9654        'valid',
 9655    ]
 9656
 9657    def __init__(
 9658        self,
 9659        meta=None,
 9660        rate_limit=None,
 9661        valid=None,
 9662    ):
 9663        self.meta = meta if meta is not None else None
 9664        '''
 9665         Reserved for future use.
 9666        '''
 9667        self.rate_limit = rate_limit if rate_limit is not None else None
 9668        '''
 9669         Rate limit information.
 9670        '''
 9671        self.valid = valid if valid is not None else False
 9672        '''
 9673         Reports if the given token is valid.
 9674        '''
 9675
 9676    def __repr__(self):
 9677        return '<sdm.ControlPanelVerifyJWTResponse ' + \
 9678            'meta: ' + repr(self.meta) + ' ' +\
 9679            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 9680            'valid: ' + repr(self.valid) + ' ' +\
 9681            '>'
 9682
 9683    def to_dict(self):
 9684        return {
 9685            'meta': self.meta,
 9686            'rate_limit': self.rate_limit,
 9687            'valid': self.valid,
 9688        }
 9689
 9690    @classmethod
 9691    def from_dict(cls, d):
 9692        return cls(
 9693            meta=d.get('meta'),
 9694            rate_limit=d.get('rate_limit'),
 9695            valid=d.get('valid'),
 9696        )
 9697
 9698
 9699class CouchbaseDatabase:
 9700    __slots__ = [
 9701        'bind_interface',
 9702        'egress_filter',
 9703        'healthy',
 9704        'hostname',
 9705        'id',
 9706        'n1ql_port',
 9707        'name',
 9708        'password',
 9709        'port',
 9710        'port_override',
 9711        'proxy_cluster_id',
 9712        'secret_store_id',
 9713        'subdomain',
 9714        'tags',
 9715        'tls_required',
 9716        'username',
 9717    ]
 9718
 9719    def __init__(
 9720        self,
 9721        bind_interface=None,
 9722        egress_filter=None,
 9723        healthy=None,
 9724        hostname=None,
 9725        id=None,
 9726        n1ql_port=None,
 9727        name=None,
 9728        password=None,
 9729        port=None,
 9730        port_override=None,
 9731        proxy_cluster_id=None,
 9732        secret_store_id=None,
 9733        subdomain=None,
 9734        tags=None,
 9735        tls_required=None,
 9736        username=None,
 9737    ):
 9738        self.bind_interface = bind_interface if bind_interface is not None else ''
 9739        '''
 9740         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9741        '''
 9742        self.egress_filter = egress_filter if egress_filter is not None else ''
 9743        '''
 9744         A filter applied to the routing logic to pin datasource to nodes.
 9745        '''
 9746        self.healthy = healthy if healthy is not None else False
 9747        '''
 9748         True if the datasource is reachable and the credentials are valid.
 9749        '''
 9750        self.hostname = hostname if hostname is not None else ''
 9751        '''
 9752         The host to dial to initiate a connection from the egress node to this resource.
 9753        '''
 9754        self.id = id if id is not None else ''
 9755        '''
 9756         Unique identifier of the Resource.
 9757        '''
 9758        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
 9759        '''
 9760         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
 9761        '''
 9762        self.name = name if name is not None else ''
 9763        '''
 9764         Unique human-readable name of the Resource.
 9765        '''
 9766        self.password = password if password is not None else ''
 9767        '''
 9768         The password to authenticate with.
 9769        '''
 9770        self.port = port if port is not None else 0
 9771        '''
 9772         The port to dial to initiate a connection from the egress node to this resource.
 9773        '''
 9774        self.port_override = port_override if port_override is not None else 0
 9775        '''
 9776         The local port used by clients to connect to this resource.
 9777        '''
 9778        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9779        '''
 9780         ID of the proxy cluster for this resource, if any.
 9781        '''
 9782        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9783        '''
 9784         ID of the secret store containing credentials for this resource, if any.
 9785        '''
 9786        self.subdomain = subdomain if subdomain is not None else ''
 9787        '''
 9788         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9789        '''
 9790        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9791        '''
 9792         Tags is a map of key, value pairs.
 9793        '''
 9794        self.tls_required = tls_required if tls_required is not None else False
 9795        '''
 9796         If set, TLS must be used to connect to this resource.
 9797        '''
 9798        self.username = username if username is not None else ''
 9799        '''
 9800         The username to authenticate with.
 9801        '''
 9802
 9803    def __repr__(self):
 9804        return '<sdm.CouchbaseDatabase ' + \
 9805            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9806            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9807            'healthy: ' + repr(self.healthy) + ' ' +\
 9808            'hostname: ' + repr(self.hostname) + ' ' +\
 9809            'id: ' + repr(self.id) + ' ' +\
 9810            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
 9811            'name: ' + repr(self.name) + ' ' +\
 9812            'password: ' + repr(self.password) + ' ' +\
 9813            'port: ' + repr(self.port) + ' ' +\
 9814            'port_override: ' + repr(self.port_override) + ' ' +\
 9815            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9816            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9817            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9818            'tags: ' + repr(self.tags) + ' ' +\
 9819            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9820            'username: ' + repr(self.username) + ' ' +\
 9821            '>'
 9822
 9823    def to_dict(self):
 9824        return {
 9825            'bind_interface': self.bind_interface,
 9826            'egress_filter': self.egress_filter,
 9827            'healthy': self.healthy,
 9828            'hostname': self.hostname,
 9829            'id': self.id,
 9830            'n1ql_port': self.n1ql_port,
 9831            'name': self.name,
 9832            'password': self.password,
 9833            'port': self.port,
 9834            'port_override': self.port_override,
 9835            'proxy_cluster_id': self.proxy_cluster_id,
 9836            'secret_store_id': self.secret_store_id,
 9837            'subdomain': self.subdomain,
 9838            'tags': self.tags,
 9839            'tls_required': self.tls_required,
 9840            'username': self.username,
 9841        }
 9842
 9843    @classmethod
 9844    def from_dict(cls, d):
 9845        return cls(
 9846            bind_interface=d.get('bind_interface'),
 9847            egress_filter=d.get('egress_filter'),
 9848            healthy=d.get('healthy'),
 9849            hostname=d.get('hostname'),
 9850            id=d.get('id'),
 9851            n1ql_port=d.get('n1ql_port'),
 9852            name=d.get('name'),
 9853            password=d.get('password'),
 9854            port=d.get('port'),
 9855            port_override=d.get('port_override'),
 9856            proxy_cluster_id=d.get('proxy_cluster_id'),
 9857            secret_store_id=d.get('secret_store_id'),
 9858            subdomain=d.get('subdomain'),
 9859            tags=d.get('tags'),
 9860            tls_required=d.get('tls_required'),
 9861            username=d.get('username'),
 9862        )
 9863
 9864
 9865class CouchbaseWebUI:
 9866    __slots__ = [
 9867        'bind_interface',
 9868        'egress_filter',
 9869        'healthy',
 9870        'id',
 9871        'name',
 9872        'password',
 9873        'port_override',
 9874        'proxy_cluster_id',
 9875        'secret_store_id',
 9876        'subdomain',
 9877        'tags',
 9878        'url',
 9879        'username',
 9880    ]
 9881
 9882    def __init__(
 9883        self,
 9884        bind_interface=None,
 9885        egress_filter=None,
 9886        healthy=None,
 9887        id=None,
 9888        name=None,
 9889        password=None,
 9890        port_override=None,
 9891        proxy_cluster_id=None,
 9892        secret_store_id=None,
 9893        subdomain=None,
 9894        tags=None,
 9895        url=None,
 9896        username=None,
 9897    ):
 9898        self.bind_interface = bind_interface if bind_interface is not None else ''
 9899        '''
 9900         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 9901        '''
 9902        self.egress_filter = egress_filter if egress_filter is not None else ''
 9903        '''
 9904         A filter applied to the routing logic to pin datasource to nodes.
 9905        '''
 9906        self.healthy = healthy if healthy is not None else False
 9907        '''
 9908         True if the datasource is reachable and the credentials are valid.
 9909        '''
 9910        self.id = id if id is not None else ''
 9911        '''
 9912         Unique identifier of the Resource.
 9913        '''
 9914        self.name = name if name is not None else ''
 9915        '''
 9916         Unique human-readable name of the Resource.
 9917        '''
 9918        self.password = password if password is not None else ''
 9919        '''
 9920         The password to authenticate with.
 9921        '''
 9922        self.port_override = port_override if port_override is not None else 0
 9923        '''
 9924         The local port used by clients to connect to this resource.
 9925        '''
 9926        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9927        '''
 9928         ID of the proxy cluster for this resource, if any.
 9929        '''
 9930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9931        '''
 9932         ID of the secret store containing credentials for this resource, if any.
 9933        '''
 9934        self.subdomain = subdomain if subdomain is not None else ''
 9935        '''
 9936         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 9937        '''
 9938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9939        '''
 9940         Tags is a map of key, value pairs.
 9941        '''
 9942        self.url = url if url is not None else ''
 9943        '''
 9944         The base address of your website without the path.
 9945        '''
 9946        self.username = username if username is not None else ''
 9947        '''
 9948         The username to authenticate with.
 9949        '''
 9950
 9951    def __repr__(self):
 9952        return '<sdm.CouchbaseWebUI ' + \
 9953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9954            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9955            'healthy: ' + repr(self.healthy) + ' ' +\
 9956            'id: ' + repr(self.id) + ' ' +\
 9957            'name: ' + repr(self.name) + ' ' +\
 9958            'password: ' + repr(self.password) + ' ' +\
 9959            'port_override: ' + repr(self.port_override) + ' ' +\
 9960            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9961            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9962            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9963            'tags: ' + repr(self.tags) + ' ' +\
 9964            'url: ' + repr(self.url) + ' ' +\
 9965            'username: ' + repr(self.username) + ' ' +\
 9966            '>'
 9967
 9968    def to_dict(self):
 9969        return {
 9970            'bind_interface': self.bind_interface,
 9971            'egress_filter': self.egress_filter,
 9972            'healthy': self.healthy,
 9973            'id': self.id,
 9974            'name': self.name,
 9975            'password': self.password,
 9976            'port_override': self.port_override,
 9977            'proxy_cluster_id': self.proxy_cluster_id,
 9978            'secret_store_id': self.secret_store_id,
 9979            'subdomain': self.subdomain,
 9980            'tags': self.tags,
 9981            'url': self.url,
 9982            'username': self.username,
 9983        }
 9984
 9985    @classmethod
 9986    def from_dict(cls, d):
 9987        return cls(
 9988            bind_interface=d.get('bind_interface'),
 9989            egress_filter=d.get('egress_filter'),
 9990            healthy=d.get('healthy'),
 9991            id=d.get('id'),
 9992            name=d.get('name'),
 9993            password=d.get('password'),
 9994            port_override=d.get('port_override'),
 9995            proxy_cluster_id=d.get('proxy_cluster_id'),
 9996            secret_store_id=d.get('secret_store_id'),
 9997            subdomain=d.get('subdomain'),
 9998            tags=d.get('tags'),
 9999            url=d.get('url'),
10000            username=d.get('username'),
10001        )
10002
10003
10004class CreateResponseMetadata:
10005    '''
10006         CreateResponseMetadata is reserved for future use.
10007    '''
10008    __slots__ = []
10009
10010    def __init__(self, ):
10011        pass
10012
10013    def __repr__(self):
10014        return '<sdm.CreateResponseMetadata ' + \
10015            '>'
10016
10017    def to_dict(self):
10018        return {}
10019
10020    @classmethod
10021    def from_dict(cls, d):
10022        return cls()
10023
10024
10025class CyberarkConjurStore:
10026    __slots__ = [
10027        'appurl',
10028        'id',
10029        'name',
10030        'tags',
10031    ]
10032
10033    def __init__(
10034        self,
10035        appurl=None,
10036        id=None,
10037        name=None,
10038        tags=None,
10039    ):
10040        self.appurl = appurl if appurl is not None else ''
10041        '''
10042         The URL of the Cyberark instance
10043        '''
10044        self.id = id if id is not None else ''
10045        '''
10046         Unique identifier of the SecretStore.
10047        '''
10048        self.name = name if name is not None else ''
10049        '''
10050         Unique human-readable name of the SecretStore.
10051        '''
10052        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10053        '''
10054         Tags is a map of key, value pairs.
10055        '''
10056
10057    def __repr__(self):
10058        return '<sdm.CyberarkConjurStore ' + \
10059            'appurl: ' + repr(self.appurl) + ' ' +\
10060            'id: ' + repr(self.id) + ' ' +\
10061            'name: ' + repr(self.name) + ' ' +\
10062            'tags: ' + repr(self.tags) + ' ' +\
10063            '>'
10064
10065    def to_dict(self):
10066        return {
10067            'appurl': self.appurl,
10068            'id': self.id,
10069            'name': self.name,
10070            'tags': self.tags,
10071        }
10072
10073    @classmethod
10074    def from_dict(cls, d):
10075        return cls(
10076            appurl=d.get('appurl'),
10077            id=d.get('id'),
10078            name=d.get('name'),
10079            tags=d.get('tags'),
10080        )
10081
10082
10083class CyberarkPAMExperimentalStore:
10084    '''
10085    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10086    without a major version bump.
10087    '''
10088    __slots__ = [
10089        'appurl',
10090        'id',
10091        'name',
10092        'tags',
10093    ]
10094
10095    def __init__(
10096        self,
10097        appurl=None,
10098        id=None,
10099        name=None,
10100        tags=None,
10101    ):
10102        self.appurl = appurl if appurl is not None else ''
10103        '''
10104         The URL of the Cyberark instance
10105        '''
10106        self.id = id if id is not None else ''
10107        '''
10108         Unique identifier of the SecretStore.
10109        '''
10110        self.name = name if name is not None else ''
10111        '''
10112         Unique human-readable name of the SecretStore.
10113        '''
10114        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10115        '''
10116         Tags is a map of key, value pairs.
10117        '''
10118
10119    def __repr__(self):
10120        return '<sdm.CyberarkPAMExperimentalStore ' + \
10121            'appurl: ' + repr(self.appurl) + ' ' +\
10122            'id: ' + repr(self.id) + ' ' +\
10123            'name: ' + repr(self.name) + ' ' +\
10124            'tags: ' + repr(self.tags) + ' ' +\
10125            '>'
10126
10127    def to_dict(self):
10128        return {
10129            'appurl': self.appurl,
10130            'id': self.id,
10131            'name': self.name,
10132            'tags': self.tags,
10133        }
10134
10135    @classmethod
10136    def from_dict(cls, d):
10137        return cls(
10138            appurl=d.get('appurl'),
10139            id=d.get('id'),
10140            name=d.get('name'),
10141            tags=d.get('tags'),
10142        )
10143
10144
10145class CyberarkPAMStore:
10146    __slots__ = [
10147        'appurl',
10148        'id',
10149        'name',
10150        'tags',
10151    ]
10152
10153    def __init__(
10154        self,
10155        appurl=None,
10156        id=None,
10157        name=None,
10158        tags=None,
10159    ):
10160        self.appurl = appurl if appurl is not None else ''
10161        '''
10162         The URL of the Cyberark instance
10163        '''
10164        self.id = id if id is not None else ''
10165        '''
10166         Unique identifier of the SecretStore.
10167        '''
10168        self.name = name if name is not None else ''
10169        '''
10170         Unique human-readable name of the SecretStore.
10171        '''
10172        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10173        '''
10174         Tags is a map of key, value pairs.
10175        '''
10176
10177    def __repr__(self):
10178        return '<sdm.CyberarkPAMStore ' + \
10179            'appurl: ' + repr(self.appurl) + ' ' +\
10180            'id: ' + repr(self.id) + ' ' +\
10181            'name: ' + repr(self.name) + ' ' +\
10182            'tags: ' + repr(self.tags) + ' ' +\
10183            '>'
10184
10185    def to_dict(self):
10186        return {
10187            'appurl': self.appurl,
10188            'id': self.id,
10189            'name': self.name,
10190            'tags': self.tags,
10191        }
10192
10193    @classmethod
10194    def from_dict(cls, d):
10195        return cls(
10196            appurl=d.get('appurl'),
10197            id=d.get('id'),
10198            name=d.get('name'),
10199            tags=d.get('tags'),
10200        )
10201
10202
10203class DB2I:
10204    __slots__ = [
10205        'bind_interface',
10206        'egress_filter',
10207        'healthy',
10208        'hostname',
10209        'id',
10210        'name',
10211        'password',
10212        'port',
10213        'port_override',
10214        'proxy_cluster_id',
10215        'secret_store_id',
10216        'subdomain',
10217        'tags',
10218        'tls_required',
10219        'username',
10220    ]
10221
10222    def __init__(
10223        self,
10224        bind_interface=None,
10225        egress_filter=None,
10226        healthy=None,
10227        hostname=None,
10228        id=None,
10229        name=None,
10230        password=None,
10231        port=None,
10232        port_override=None,
10233        proxy_cluster_id=None,
10234        secret_store_id=None,
10235        subdomain=None,
10236        tags=None,
10237        tls_required=None,
10238        username=None,
10239    ):
10240        self.bind_interface = bind_interface if bind_interface is not None else ''
10241        '''
10242         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10243        '''
10244        self.egress_filter = egress_filter if egress_filter is not None else ''
10245        '''
10246         A filter applied to the routing logic to pin datasource to nodes.
10247        '''
10248        self.healthy = healthy if healthy is not None else False
10249        '''
10250         True if the datasource is reachable and the credentials are valid.
10251        '''
10252        self.hostname = hostname if hostname is not None else ''
10253        '''
10254         The host to dial to initiate a connection from the egress node to this resource.
10255        '''
10256        self.id = id if id is not None else ''
10257        '''
10258         Unique identifier of the Resource.
10259        '''
10260        self.name = name if name is not None else ''
10261        '''
10262         Unique human-readable name of the Resource.
10263        '''
10264        self.password = password if password is not None else ''
10265        '''
10266         The password to authenticate with.
10267        '''
10268        self.port = port if port is not None else 0
10269        '''
10270         The port to dial to initiate a connection from the egress node to this resource.
10271        '''
10272        self.port_override = port_override if port_override is not None else 0
10273        '''
10274         The local port used by clients to connect to this resource.
10275        '''
10276        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10277        '''
10278         ID of the proxy cluster for this resource, if any.
10279        '''
10280        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10281        '''
10282         ID of the secret store containing credentials for this resource, if any.
10283        '''
10284        self.subdomain = subdomain if subdomain is not None else ''
10285        '''
10286         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10287        '''
10288        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10289        '''
10290         Tags is a map of key, value pairs.
10291        '''
10292        self.tls_required = tls_required if tls_required is not None else False
10293        '''
10294         If set, TLS must be used to connect to this resource.
10295        '''
10296        self.username = username if username is not None else ''
10297        '''
10298         The username to authenticate with.
10299        '''
10300
10301    def __repr__(self):
10302        return '<sdm.DB2I ' + \
10303            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10304            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10305            'healthy: ' + repr(self.healthy) + ' ' +\
10306            'hostname: ' + repr(self.hostname) + ' ' +\
10307            'id: ' + repr(self.id) + ' ' +\
10308            'name: ' + repr(self.name) + ' ' +\
10309            'password: ' + repr(self.password) + ' ' +\
10310            'port: ' + repr(self.port) + ' ' +\
10311            'port_override: ' + repr(self.port_override) + ' ' +\
10312            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10313            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10314            'subdomain: ' + repr(self.subdomain) + ' ' +\
10315            'tags: ' + repr(self.tags) + ' ' +\
10316            'tls_required: ' + repr(self.tls_required) + ' ' +\
10317            'username: ' + repr(self.username) + ' ' +\
10318            '>'
10319
10320    def to_dict(self):
10321        return {
10322            'bind_interface': self.bind_interface,
10323            'egress_filter': self.egress_filter,
10324            'healthy': self.healthy,
10325            'hostname': self.hostname,
10326            'id': self.id,
10327            'name': self.name,
10328            'password': self.password,
10329            'port': self.port,
10330            'port_override': self.port_override,
10331            'proxy_cluster_id': self.proxy_cluster_id,
10332            'secret_store_id': self.secret_store_id,
10333            'subdomain': self.subdomain,
10334            'tags': self.tags,
10335            'tls_required': self.tls_required,
10336            'username': self.username,
10337        }
10338
10339    @classmethod
10340    def from_dict(cls, d):
10341        return cls(
10342            bind_interface=d.get('bind_interface'),
10343            egress_filter=d.get('egress_filter'),
10344            healthy=d.get('healthy'),
10345            hostname=d.get('hostname'),
10346            id=d.get('id'),
10347            name=d.get('name'),
10348            password=d.get('password'),
10349            port=d.get('port'),
10350            port_override=d.get('port_override'),
10351            proxy_cluster_id=d.get('proxy_cluster_id'),
10352            secret_store_id=d.get('secret_store_id'),
10353            subdomain=d.get('subdomain'),
10354            tags=d.get('tags'),
10355            tls_required=d.get('tls_required'),
10356            username=d.get('username'),
10357        )
10358
10359
10360class DB2LUW:
10361    __slots__ = [
10362        'bind_interface',
10363        'database',
10364        'egress_filter',
10365        'healthy',
10366        'hostname',
10367        'id',
10368        'name',
10369        'password',
10370        'port',
10371        'port_override',
10372        'proxy_cluster_id',
10373        'secret_store_id',
10374        'subdomain',
10375        'tags',
10376        'username',
10377    ]
10378
10379    def __init__(
10380        self,
10381        bind_interface=None,
10382        database=None,
10383        egress_filter=None,
10384        healthy=None,
10385        hostname=None,
10386        id=None,
10387        name=None,
10388        password=None,
10389        port=None,
10390        port_override=None,
10391        proxy_cluster_id=None,
10392        secret_store_id=None,
10393        subdomain=None,
10394        tags=None,
10395        username=None,
10396    ):
10397        self.bind_interface = bind_interface if bind_interface is not None else ''
10398        '''
10399         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10400        '''
10401        self.database = database if database is not None else ''
10402        '''
10403         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10404        '''
10405        self.egress_filter = egress_filter if egress_filter is not None else ''
10406        '''
10407         A filter applied to the routing logic to pin datasource to nodes.
10408        '''
10409        self.healthy = healthy if healthy is not None else False
10410        '''
10411         True if the datasource is reachable and the credentials are valid.
10412        '''
10413        self.hostname = hostname if hostname is not None else ''
10414        '''
10415         The host to dial to initiate a connection from the egress node to this resource.
10416        '''
10417        self.id = id if id is not None else ''
10418        '''
10419         Unique identifier of the Resource.
10420        '''
10421        self.name = name if name is not None else ''
10422        '''
10423         Unique human-readable name of the Resource.
10424        '''
10425        self.password = password if password is not None else ''
10426        '''
10427         The password to authenticate with.
10428        '''
10429        self.port = port if port is not None else 0
10430        '''
10431         The port to dial to initiate a connection from the egress node to this resource.
10432        '''
10433        self.port_override = port_override if port_override is not None else 0
10434        '''
10435         The local port used by clients to connect to this resource.
10436        '''
10437        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10438        '''
10439         ID of the proxy cluster for this resource, if any.
10440        '''
10441        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10442        '''
10443         ID of the secret store containing credentials for this resource, if any.
10444        '''
10445        self.subdomain = subdomain if subdomain is not None else ''
10446        '''
10447         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10448        '''
10449        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10450        '''
10451         Tags is a map of key, value pairs.
10452        '''
10453        self.username = username if username is not None else ''
10454        '''
10455         The username to authenticate with.
10456        '''
10457
10458    def __repr__(self):
10459        return '<sdm.DB2LUW ' + \
10460            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10461            'database: ' + repr(self.database) + ' ' +\
10462            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10463            'healthy: ' + repr(self.healthy) + ' ' +\
10464            'hostname: ' + repr(self.hostname) + ' ' +\
10465            'id: ' + repr(self.id) + ' ' +\
10466            'name: ' + repr(self.name) + ' ' +\
10467            'password: ' + repr(self.password) + ' ' +\
10468            'port: ' + repr(self.port) + ' ' +\
10469            'port_override: ' + repr(self.port_override) + ' ' +\
10470            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10471            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10472            'subdomain: ' + repr(self.subdomain) + ' ' +\
10473            'tags: ' + repr(self.tags) + ' ' +\
10474            'username: ' + repr(self.username) + ' ' +\
10475            '>'
10476
10477    def to_dict(self):
10478        return {
10479            'bind_interface': self.bind_interface,
10480            'database': self.database,
10481            'egress_filter': self.egress_filter,
10482            'healthy': self.healthy,
10483            'hostname': self.hostname,
10484            'id': self.id,
10485            'name': self.name,
10486            'password': self.password,
10487            'port': self.port,
10488            'port_override': self.port_override,
10489            'proxy_cluster_id': self.proxy_cluster_id,
10490            'secret_store_id': self.secret_store_id,
10491            'subdomain': self.subdomain,
10492            'tags': self.tags,
10493            'username': self.username,
10494        }
10495
10496    @classmethod
10497    def from_dict(cls, d):
10498        return cls(
10499            bind_interface=d.get('bind_interface'),
10500            database=d.get('database'),
10501            egress_filter=d.get('egress_filter'),
10502            healthy=d.get('healthy'),
10503            hostname=d.get('hostname'),
10504            id=d.get('id'),
10505            name=d.get('name'),
10506            password=d.get('password'),
10507            port=d.get('port'),
10508            port_override=d.get('port_override'),
10509            proxy_cluster_id=d.get('proxy_cluster_id'),
10510            secret_store_id=d.get('secret_store_id'),
10511            subdomain=d.get('subdomain'),
10512            tags=d.get('tags'),
10513            username=d.get('username'),
10514        )
10515
10516
10517class DeleteResponseMetadata:
10518    '''
10519         DeleteResponseMetadata is reserved for future use.
10520    '''
10521    __slots__ = []
10522
10523    def __init__(self, ):
10524        pass
10525
10526    def __repr__(self):
10527        return '<sdm.DeleteResponseMetadata ' + \
10528            '>'
10529
10530    def to_dict(self):
10531        return {}
10532
10533    @classmethod
10534    def from_dict(cls, d):
10535        return cls()
10536
10537
10538class DelineaStore:
10539    __slots__ = [
10540        'id',
10541        'name',
10542        'server_url',
10543        'tags',
10544        'tenant_name',
10545    ]
10546
10547    def __init__(
10548        self,
10549        id=None,
10550        name=None,
10551        server_url=None,
10552        tags=None,
10553        tenant_name=None,
10554    ):
10555        self.id = id if id is not None else ''
10556        '''
10557         Unique identifier of the SecretStore.
10558        '''
10559        self.name = name if name is not None else ''
10560        '''
10561         Unique human-readable name of the SecretStore.
10562        '''
10563        self.server_url = server_url if server_url is not None else ''
10564        '''
10565         The URL of the Delinea instance
10566        '''
10567        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10568        '''
10569         Tags is a map of key, value pairs.
10570        '''
10571        self.tenant_name = tenant_name if tenant_name is not None else ''
10572        '''
10573         The tenant name to target
10574        '''
10575
10576    def __repr__(self):
10577        return '<sdm.DelineaStore ' + \
10578            'id: ' + repr(self.id) + ' ' +\
10579            'name: ' + repr(self.name) + ' ' +\
10580            'server_url: ' + repr(self.server_url) + ' ' +\
10581            'tags: ' + repr(self.tags) + ' ' +\
10582            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10583            '>'
10584
10585    def to_dict(self):
10586        return {
10587            'id': self.id,
10588            'name': self.name,
10589            'server_url': self.server_url,
10590            'tags': self.tags,
10591            'tenant_name': self.tenant_name,
10592        }
10593
10594    @classmethod
10595    def from_dict(cls, d):
10596        return cls(
10597            id=d.get('id'),
10598            name=d.get('name'),
10599            server_url=d.get('server_url'),
10600            tags=d.get('tags'),
10601            tenant_name=d.get('tenant_name'),
10602        )
10603
10604
10605class DocumentDBHost:
10606    __slots__ = [
10607        'auth_database',
10608        'bind_interface',
10609        'egress_filter',
10610        'healthy',
10611        'hostname',
10612        'id',
10613        'name',
10614        'password',
10615        'port',
10616        'port_override',
10617        'proxy_cluster_id',
10618        'secret_store_id',
10619        'subdomain',
10620        'tags',
10621        'username',
10622    ]
10623
10624    def __init__(
10625        self,
10626        auth_database=None,
10627        bind_interface=None,
10628        egress_filter=None,
10629        healthy=None,
10630        hostname=None,
10631        id=None,
10632        name=None,
10633        password=None,
10634        port=None,
10635        port_override=None,
10636        proxy_cluster_id=None,
10637        secret_store_id=None,
10638        subdomain=None,
10639        tags=None,
10640        username=None,
10641    ):
10642        self.auth_database = auth_database if auth_database is not None else ''
10643        '''
10644         The authentication database to use.
10645        '''
10646        self.bind_interface = bind_interface if bind_interface is not None else ''
10647        '''
10648         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10649        '''
10650        self.egress_filter = egress_filter if egress_filter is not None else ''
10651        '''
10652         A filter applied to the routing logic to pin datasource to nodes.
10653        '''
10654        self.healthy = healthy if healthy is not None else False
10655        '''
10656         True if the datasource is reachable and the credentials are valid.
10657        '''
10658        self.hostname = hostname if hostname is not None else ''
10659        '''
10660         The host to dial to initiate a connection from the egress node to this resource.
10661        '''
10662        self.id = id if id is not None else ''
10663        '''
10664         Unique identifier of the Resource.
10665        '''
10666        self.name = name if name is not None else ''
10667        '''
10668         Unique human-readable name of the Resource.
10669        '''
10670        self.password = password if password is not None else ''
10671        '''
10672         The password to authenticate with.
10673        '''
10674        self.port = port if port is not None else 0
10675        '''
10676         The port to dial to initiate a connection from the egress node to this resource.
10677        '''
10678        self.port_override = port_override if port_override is not None else 0
10679        '''
10680         The local port used by clients to connect to this resource.
10681        '''
10682        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10683        '''
10684         ID of the proxy cluster for this resource, if any.
10685        '''
10686        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10687        '''
10688         ID of the secret store containing credentials for this resource, if any.
10689        '''
10690        self.subdomain = subdomain if subdomain is not None else ''
10691        '''
10692         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10693        '''
10694        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10695        '''
10696         Tags is a map of key, value pairs.
10697        '''
10698        self.username = username if username is not None else ''
10699        '''
10700         The username to authenticate with.
10701        '''
10702
10703    def __repr__(self):
10704        return '<sdm.DocumentDBHost ' + \
10705            'auth_database: ' + repr(self.auth_database) + ' ' +\
10706            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10707            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10708            'healthy: ' + repr(self.healthy) + ' ' +\
10709            'hostname: ' + repr(self.hostname) + ' ' +\
10710            'id: ' + repr(self.id) + ' ' +\
10711            'name: ' + repr(self.name) + ' ' +\
10712            'password: ' + repr(self.password) + ' ' +\
10713            'port: ' + repr(self.port) + ' ' +\
10714            'port_override: ' + repr(self.port_override) + ' ' +\
10715            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10716            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10717            'subdomain: ' + repr(self.subdomain) + ' ' +\
10718            'tags: ' + repr(self.tags) + ' ' +\
10719            'username: ' + repr(self.username) + ' ' +\
10720            '>'
10721
10722    def to_dict(self):
10723        return {
10724            'auth_database': self.auth_database,
10725            'bind_interface': self.bind_interface,
10726            'egress_filter': self.egress_filter,
10727            'healthy': self.healthy,
10728            'hostname': self.hostname,
10729            'id': self.id,
10730            'name': self.name,
10731            'password': self.password,
10732            'port': self.port,
10733            'port_override': self.port_override,
10734            'proxy_cluster_id': self.proxy_cluster_id,
10735            'secret_store_id': self.secret_store_id,
10736            'subdomain': self.subdomain,
10737            'tags': self.tags,
10738            'username': self.username,
10739        }
10740
10741    @classmethod
10742    def from_dict(cls, d):
10743        return cls(
10744            auth_database=d.get('auth_database'),
10745            bind_interface=d.get('bind_interface'),
10746            egress_filter=d.get('egress_filter'),
10747            healthy=d.get('healthy'),
10748            hostname=d.get('hostname'),
10749            id=d.get('id'),
10750            name=d.get('name'),
10751            password=d.get('password'),
10752            port=d.get('port'),
10753            port_override=d.get('port_override'),
10754            proxy_cluster_id=d.get('proxy_cluster_id'),
10755            secret_store_id=d.get('secret_store_id'),
10756            subdomain=d.get('subdomain'),
10757            tags=d.get('tags'),
10758            username=d.get('username'),
10759        )
10760
10761
10762class DocumentDBHostIAM:
10763    __slots__ = [
10764        'bind_interface',
10765        'egress_filter',
10766        'healthy',
10767        'hostname',
10768        'id',
10769        'name',
10770        'port',
10771        'port_override',
10772        'proxy_cluster_id',
10773        'region',
10774        'secret_store_id',
10775        'subdomain',
10776        'tags',
10777    ]
10778
10779    def __init__(
10780        self,
10781        bind_interface=None,
10782        egress_filter=None,
10783        healthy=None,
10784        hostname=None,
10785        id=None,
10786        name=None,
10787        port=None,
10788        port_override=None,
10789        proxy_cluster_id=None,
10790        region=None,
10791        secret_store_id=None,
10792        subdomain=None,
10793        tags=None,
10794    ):
10795        self.bind_interface = bind_interface if bind_interface is not None else ''
10796        '''
10797         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10798        '''
10799        self.egress_filter = egress_filter if egress_filter is not None else ''
10800        '''
10801         A filter applied to the routing logic to pin datasource to nodes.
10802        '''
10803        self.healthy = healthy if healthy is not None else False
10804        '''
10805         True if the datasource is reachable and the credentials are valid.
10806        '''
10807        self.hostname = hostname if hostname is not None else ''
10808        '''
10809         The host to dial to initiate a connection from the egress node to this resource.
10810        '''
10811        self.id = id if id is not None else ''
10812        '''
10813         Unique identifier of the Resource.
10814        '''
10815        self.name = name if name is not None else ''
10816        '''
10817         Unique human-readable name of the Resource.
10818        '''
10819        self.port = port if port is not None else 0
10820        '''
10821         The port to dial to initiate a connection from the egress node to this resource.
10822        '''
10823        self.port_override = port_override if port_override is not None else 0
10824        '''
10825         The local port used by clients to connect to this resource.
10826        '''
10827        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10828        '''
10829         ID of the proxy cluster for this resource, if any.
10830        '''
10831        self.region = region if region is not None else ''
10832        '''
10833         The AWS region to connect to.
10834        '''
10835        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10836        '''
10837         ID of the secret store containing credentials for this resource, if any.
10838        '''
10839        self.subdomain = subdomain if subdomain is not None else ''
10840        '''
10841         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10842        '''
10843        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10844        '''
10845         Tags is a map of key, value pairs.
10846        '''
10847
10848    def __repr__(self):
10849        return '<sdm.DocumentDBHostIAM ' + \
10850            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10851            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10852            'healthy: ' + repr(self.healthy) + ' ' +\
10853            'hostname: ' + repr(self.hostname) + ' ' +\
10854            'id: ' + repr(self.id) + ' ' +\
10855            'name: ' + repr(self.name) + ' ' +\
10856            'port: ' + repr(self.port) + ' ' +\
10857            'port_override: ' + repr(self.port_override) + ' ' +\
10858            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10859            'region: ' + repr(self.region) + ' ' +\
10860            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10861            'subdomain: ' + repr(self.subdomain) + ' ' +\
10862            'tags: ' + repr(self.tags) + ' ' +\
10863            '>'
10864
10865    def to_dict(self):
10866        return {
10867            'bind_interface': self.bind_interface,
10868            'egress_filter': self.egress_filter,
10869            'healthy': self.healthy,
10870            'hostname': self.hostname,
10871            'id': self.id,
10872            'name': self.name,
10873            'port': self.port,
10874            'port_override': self.port_override,
10875            'proxy_cluster_id': self.proxy_cluster_id,
10876            'region': self.region,
10877            'secret_store_id': self.secret_store_id,
10878            'subdomain': self.subdomain,
10879            'tags': self.tags,
10880        }
10881
10882    @classmethod
10883    def from_dict(cls, d):
10884        return cls(
10885            bind_interface=d.get('bind_interface'),
10886            egress_filter=d.get('egress_filter'),
10887            healthy=d.get('healthy'),
10888            hostname=d.get('hostname'),
10889            id=d.get('id'),
10890            name=d.get('name'),
10891            port=d.get('port'),
10892            port_override=d.get('port_override'),
10893            proxy_cluster_id=d.get('proxy_cluster_id'),
10894            region=d.get('region'),
10895            secret_store_id=d.get('secret_store_id'),
10896            subdomain=d.get('subdomain'),
10897            tags=d.get('tags'),
10898        )
10899
10900
10901class DocumentDBReplicaSet:
10902    __slots__ = [
10903        'auth_database',
10904        'bind_interface',
10905        'connect_to_replica',
10906        'egress_filter',
10907        'healthy',
10908        'hostname',
10909        'id',
10910        'name',
10911        'password',
10912        'port_override',
10913        'proxy_cluster_id',
10914        'replica_set',
10915        'secret_store_id',
10916        'subdomain',
10917        'tags',
10918        'username',
10919    ]
10920
10921    def __init__(
10922        self,
10923        auth_database=None,
10924        bind_interface=None,
10925        connect_to_replica=None,
10926        egress_filter=None,
10927        healthy=None,
10928        hostname=None,
10929        id=None,
10930        name=None,
10931        password=None,
10932        port_override=None,
10933        proxy_cluster_id=None,
10934        replica_set=None,
10935        secret_store_id=None,
10936        subdomain=None,
10937        tags=None,
10938        username=None,
10939    ):
10940        self.auth_database = auth_database if auth_database is not None else ''
10941        '''
10942         The authentication database to use.
10943        '''
10944        self.bind_interface = bind_interface if bind_interface is not None else ''
10945        '''
10946         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10947        '''
10948        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
10949        '''
10950         Set to connect to a replica instead of the primary node.
10951        '''
10952        self.egress_filter = egress_filter if egress_filter is not None else ''
10953        '''
10954         A filter applied to the routing logic to pin datasource to nodes.
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.hostname = hostname if hostname is not None else ''
10961        '''
10962         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
10963        '''
10964        self.id = id if id is not None else ''
10965        '''
10966         Unique identifier of the Resource.
10967        '''
10968        self.name = name if name is not None else ''
10969        '''
10970         Unique human-readable name of the Resource.
10971        '''
10972        self.password = password if password is not None else ''
10973        '''
10974         The password to authenticate with.
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.replica_set = replica_set if replica_set is not None else ''
10985        '''
10986         The name of the mongo replicaset.
10987        '''
10988        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10989        '''
10990         ID of the secret store containing credentials for this resource, if any.
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        self.username = username if username is not None else ''
11001        '''
11002         The username to authenticate with.
11003        '''
11004
11005    def __repr__(self):
11006        return '<sdm.DocumentDBReplicaSet ' + \
11007            'auth_database: ' + repr(self.auth_database) + ' ' +\
11008            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11009            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11010            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11011            'healthy: ' + repr(self.healthy) + ' ' +\
11012            'hostname: ' + repr(self.hostname) + ' ' +\
11013            'id: ' + repr(self.id) + ' ' +\
11014            'name: ' + repr(self.name) + ' ' +\
11015            'password: ' + repr(self.password) + ' ' +\
11016            'port_override: ' + repr(self.port_override) + ' ' +\
11017            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11018            'replica_set: ' + repr(self.replica_set) + ' ' +\
11019            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11020            'subdomain: ' + repr(self.subdomain) + ' ' +\
11021            'tags: ' + repr(self.tags) + ' ' +\
11022            'username: ' + repr(self.username) + ' ' +\
11023            '>'
11024
11025    def to_dict(self):
11026        return {
11027            'auth_database': self.auth_database,
11028            'bind_interface': self.bind_interface,
11029            'connect_to_replica': self.connect_to_replica,
11030            'egress_filter': self.egress_filter,
11031            'healthy': self.healthy,
11032            'hostname': self.hostname,
11033            'id': self.id,
11034            'name': self.name,
11035            'password': self.password,
11036            'port_override': self.port_override,
11037            'proxy_cluster_id': self.proxy_cluster_id,
11038            'replica_set': self.replica_set,
11039            'secret_store_id': self.secret_store_id,
11040            'subdomain': self.subdomain,
11041            'tags': self.tags,
11042            'username': self.username,
11043        }
11044
11045    @classmethod
11046    def from_dict(cls, d):
11047        return cls(
11048            auth_database=d.get('auth_database'),
11049            bind_interface=d.get('bind_interface'),
11050            connect_to_replica=d.get('connect_to_replica'),
11051            egress_filter=d.get('egress_filter'),
11052            healthy=d.get('healthy'),
11053            hostname=d.get('hostname'),
11054            id=d.get('id'),
11055            name=d.get('name'),
11056            password=d.get('password'),
11057            port_override=d.get('port_override'),
11058            proxy_cluster_id=d.get('proxy_cluster_id'),
11059            replica_set=d.get('replica_set'),
11060            secret_store_id=d.get('secret_store_id'),
11061            subdomain=d.get('subdomain'),
11062            tags=d.get('tags'),
11063            username=d.get('username'),
11064        )
11065
11066
11067class DocumentDBReplicaSetIAM:
11068    '''
11069    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11070    without a major version bump.
11071    '''
11072    __slots__ = [
11073        'bind_interface',
11074        'connect_to_replica',
11075        'egress_filter',
11076        'healthy',
11077        'hostname',
11078        'id',
11079        'name',
11080        'port_override',
11081        'proxy_cluster_id',
11082        'region',
11083        'secret_store_id',
11084        'subdomain',
11085        'tags',
11086    ]
11087
11088    def __init__(
11089        self,
11090        bind_interface=None,
11091        connect_to_replica=None,
11092        egress_filter=None,
11093        healthy=None,
11094        hostname=None,
11095        id=None,
11096        name=None,
11097        port_override=None,
11098        proxy_cluster_id=None,
11099        region=None,
11100        secret_store_id=None,
11101        subdomain=None,
11102        tags=None,
11103    ):
11104        self.bind_interface = bind_interface if bind_interface is not None else ''
11105        '''
11106         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11107        '''
11108        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11109        '''
11110         Set to connect to a replica instead of the primary node.
11111        '''
11112        self.egress_filter = egress_filter if egress_filter is not None else ''
11113        '''
11114         A filter applied to the routing logic to pin datasource to nodes.
11115        '''
11116        self.healthy = healthy if healthy is not None else False
11117        '''
11118         True if the datasource is reachable and the credentials are valid.
11119        '''
11120        self.hostname = hostname if hostname is not None else ''
11121        '''
11122         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11123        '''
11124        self.id = id if id is not None else ''
11125        '''
11126         Unique identifier of the Resource.
11127        '''
11128        self.name = name if name is not None else ''
11129        '''
11130         Unique human-readable name of the Resource.
11131        '''
11132        self.port_override = port_override if port_override is not None else 0
11133        '''
11134         The local port used by clients to connect to this resource.
11135        '''
11136        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11137        '''
11138         ID of the proxy cluster for this resource, if any.
11139        '''
11140        self.region = region if region is not None else ''
11141        '''
11142         The region of the document db cluster
11143        '''
11144        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11145        '''
11146         ID of the secret store containing credentials for this resource, if any.
11147        '''
11148        self.subdomain = subdomain if subdomain is not None else ''
11149        '''
11150         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11151        '''
11152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11153        '''
11154         Tags is a map of key, value pairs.
11155        '''
11156
11157    def __repr__(self):
11158        return '<sdm.DocumentDBReplicaSetIAM ' + \
11159            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11160            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11161            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11162            'healthy: ' + repr(self.healthy) + ' ' +\
11163            'hostname: ' + repr(self.hostname) + ' ' +\
11164            'id: ' + repr(self.id) + ' ' +\
11165            'name: ' + repr(self.name) + ' ' +\
11166            'port_override: ' + repr(self.port_override) + ' ' +\
11167            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11168            'region: ' + repr(self.region) + ' ' +\
11169            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11170            'subdomain: ' + repr(self.subdomain) + ' ' +\
11171            'tags: ' + repr(self.tags) + ' ' +\
11172            '>'
11173
11174    def to_dict(self):
11175        return {
11176            'bind_interface': self.bind_interface,
11177            'connect_to_replica': self.connect_to_replica,
11178            'egress_filter': self.egress_filter,
11179            'healthy': self.healthy,
11180            'hostname': self.hostname,
11181            'id': self.id,
11182            'name': self.name,
11183            'port_override': self.port_override,
11184            'proxy_cluster_id': self.proxy_cluster_id,
11185            'region': self.region,
11186            'secret_store_id': self.secret_store_id,
11187            'subdomain': self.subdomain,
11188            'tags': self.tags,
11189        }
11190
11191    @classmethod
11192    def from_dict(cls, d):
11193        return cls(
11194            bind_interface=d.get('bind_interface'),
11195            connect_to_replica=d.get('connect_to_replica'),
11196            egress_filter=d.get('egress_filter'),
11197            healthy=d.get('healthy'),
11198            hostname=d.get('hostname'),
11199            id=d.get('id'),
11200            name=d.get('name'),
11201            port_override=d.get('port_override'),
11202            proxy_cluster_id=d.get('proxy_cluster_id'),
11203            region=d.get('region'),
11204            secret_store_id=d.get('secret_store_id'),
11205            subdomain=d.get('subdomain'),
11206            tags=d.get('tags'),
11207        )
11208
11209
11210class Druid:
11211    __slots__ = [
11212        'bind_interface',
11213        'egress_filter',
11214        'healthy',
11215        'hostname',
11216        'id',
11217        'name',
11218        'password',
11219        'port',
11220        'port_override',
11221        'proxy_cluster_id',
11222        'secret_store_id',
11223        'subdomain',
11224        'tags',
11225        'username',
11226    ]
11227
11228    def __init__(
11229        self,
11230        bind_interface=None,
11231        egress_filter=None,
11232        healthy=None,
11233        hostname=None,
11234        id=None,
11235        name=None,
11236        password=None,
11237        port=None,
11238        port_override=None,
11239        proxy_cluster_id=None,
11240        secret_store_id=None,
11241        subdomain=None,
11242        tags=None,
11243        username=None,
11244    ):
11245        self.bind_interface = bind_interface if bind_interface is not None else ''
11246        '''
11247         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11248        '''
11249        self.egress_filter = egress_filter if egress_filter is not None else ''
11250        '''
11251         A filter applied to the routing logic to pin datasource to nodes.
11252        '''
11253        self.healthy = healthy if healthy is not None else False
11254        '''
11255         True if the datasource is reachable and the credentials are valid.
11256        '''
11257        self.hostname = hostname if hostname is not None else ''
11258        '''
11259         The host to dial to initiate a connection from the egress node to this resource.
11260        '''
11261        self.id = id if id is not None else ''
11262        '''
11263         Unique identifier of the Resource.
11264        '''
11265        self.name = name if name is not None else ''
11266        '''
11267         Unique human-readable name of the Resource.
11268        '''
11269        self.password = password if password is not None else ''
11270        '''
11271         The password to authenticate with.
11272        '''
11273        self.port = port if port is not None else 0
11274        '''
11275         The port to dial to initiate a connection from the egress node to this resource.
11276        '''
11277        self.port_override = port_override if port_override is not None else 0
11278        '''
11279         The local port used by clients to connect to this resource.
11280        '''
11281        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11282        '''
11283         ID of the proxy cluster for this resource, if any.
11284        '''
11285        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11286        '''
11287         ID of the secret store containing credentials for this resource, if any.
11288        '''
11289        self.subdomain = subdomain if subdomain is not None else ''
11290        '''
11291         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11292        '''
11293        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11294        '''
11295         Tags is a map of key, value pairs.
11296        '''
11297        self.username = username if username is not None else ''
11298        '''
11299         The username to authenticate with.
11300        '''
11301
11302    def __repr__(self):
11303        return '<sdm.Druid ' + \
11304            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11305            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11306            'healthy: ' + repr(self.healthy) + ' ' +\
11307            'hostname: ' + repr(self.hostname) + ' ' +\
11308            'id: ' + repr(self.id) + ' ' +\
11309            'name: ' + repr(self.name) + ' ' +\
11310            'password: ' + repr(self.password) + ' ' +\
11311            'port: ' + repr(self.port) + ' ' +\
11312            'port_override: ' + repr(self.port_override) + ' ' +\
11313            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11314            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11315            'subdomain: ' + repr(self.subdomain) + ' ' +\
11316            'tags: ' + repr(self.tags) + ' ' +\
11317            'username: ' + repr(self.username) + ' ' +\
11318            '>'
11319
11320    def to_dict(self):
11321        return {
11322            'bind_interface': self.bind_interface,
11323            'egress_filter': self.egress_filter,
11324            'healthy': self.healthy,
11325            'hostname': self.hostname,
11326            'id': self.id,
11327            'name': self.name,
11328            'password': self.password,
11329            'port': self.port,
11330            'port_override': self.port_override,
11331            'proxy_cluster_id': self.proxy_cluster_id,
11332            'secret_store_id': self.secret_store_id,
11333            'subdomain': self.subdomain,
11334            'tags': self.tags,
11335            'username': self.username,
11336        }
11337
11338    @classmethod
11339    def from_dict(cls, d):
11340        return cls(
11341            bind_interface=d.get('bind_interface'),
11342            egress_filter=d.get('egress_filter'),
11343            healthy=d.get('healthy'),
11344            hostname=d.get('hostname'),
11345            id=d.get('id'),
11346            name=d.get('name'),
11347            password=d.get('password'),
11348            port=d.get('port'),
11349            port_override=d.get('port_override'),
11350            proxy_cluster_id=d.get('proxy_cluster_id'),
11351            secret_store_id=d.get('secret_store_id'),
11352            subdomain=d.get('subdomain'),
11353            tags=d.get('tags'),
11354            username=d.get('username'),
11355        )
11356
11357
11358class DynamoDB:
11359    __slots__ = [
11360        'access_key',
11361        'bind_interface',
11362        'egress_filter',
11363        'endpoint',
11364        'healthy',
11365        'id',
11366        'name',
11367        'port_override',
11368        'proxy_cluster_id',
11369        'region',
11370        'role_arn',
11371        'role_external_id',
11372        'secret_access_key',
11373        'secret_store_id',
11374        'subdomain',
11375        'tags',
11376    ]
11377
11378    def __init__(
11379        self,
11380        access_key=None,
11381        bind_interface=None,
11382        egress_filter=None,
11383        endpoint=None,
11384        healthy=None,
11385        id=None,
11386        name=None,
11387        port_override=None,
11388        proxy_cluster_id=None,
11389        region=None,
11390        role_arn=None,
11391        role_external_id=None,
11392        secret_access_key=None,
11393        secret_store_id=None,
11394        subdomain=None,
11395        tags=None,
11396    ):
11397        self.access_key = access_key if access_key is not None else ''
11398        '''
11399         The Access Key ID to use to authenticate.
11400        '''
11401        self.bind_interface = bind_interface if bind_interface is not None else ''
11402        '''
11403         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11404        '''
11405        self.egress_filter = egress_filter if egress_filter is not None else ''
11406        '''
11407         A filter applied to the routing logic to pin datasource to nodes.
11408        '''
11409        self.endpoint = endpoint if endpoint is not None else ''
11410        '''
11411         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11412        '''
11413        self.healthy = healthy if healthy is not None else False
11414        '''
11415         True if the datasource is reachable and the credentials are valid.
11416        '''
11417        self.id = id if id is not None else ''
11418        '''
11419         Unique identifier of the Resource.
11420        '''
11421        self.name = name if name is not None else ''
11422        '''
11423         Unique human-readable name of the Resource.
11424        '''
11425        self.port_override = port_override if port_override is not None else 0
11426        '''
11427         The local port used by clients to connect to this resource.
11428        '''
11429        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11430        '''
11431         ID of the proxy cluster for this resource, if any.
11432        '''
11433        self.region = region if region is not None else ''
11434        '''
11435         The region to authenticate requests against e.g. us-east-1
11436        '''
11437        self.role_arn = role_arn if role_arn is not None else ''
11438        '''
11439         The role to assume after logging in.
11440        '''
11441        self.role_external_id = role_external_id if role_external_id is not None else ''
11442        '''
11443         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11444        '''
11445        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11446        '''
11447         The Secret Access Key to use to authenticate.
11448        '''
11449        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11450        '''
11451         ID of the secret store containing credentials for this resource, if any.
11452        '''
11453        self.subdomain = subdomain if subdomain is not None else ''
11454        '''
11455         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11456        '''
11457        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11458        '''
11459         Tags is a map of key, value pairs.
11460        '''
11461
11462    def __repr__(self):
11463        return '<sdm.DynamoDB ' + \
11464            'access_key: ' + repr(self.access_key) + ' ' +\
11465            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11466            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11467            'endpoint: ' + repr(self.endpoint) + ' ' +\
11468            'healthy: ' + repr(self.healthy) + ' ' +\
11469            'id: ' + repr(self.id) + ' ' +\
11470            'name: ' + repr(self.name) + ' ' +\
11471            'port_override: ' + repr(self.port_override) + ' ' +\
11472            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11473            'region: ' + repr(self.region) + ' ' +\
11474            'role_arn: ' + repr(self.role_arn) + ' ' +\
11475            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11476            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11477            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11478            'subdomain: ' + repr(self.subdomain) + ' ' +\
11479            'tags: ' + repr(self.tags) + ' ' +\
11480            '>'
11481
11482    def to_dict(self):
11483        return {
11484            'access_key': self.access_key,
11485            'bind_interface': self.bind_interface,
11486            'egress_filter': self.egress_filter,
11487            'endpoint': self.endpoint,
11488            'healthy': self.healthy,
11489            'id': self.id,
11490            'name': self.name,
11491            'port_override': self.port_override,
11492            'proxy_cluster_id': self.proxy_cluster_id,
11493            'region': self.region,
11494            'role_arn': self.role_arn,
11495            'role_external_id': self.role_external_id,
11496            'secret_access_key': self.secret_access_key,
11497            'secret_store_id': self.secret_store_id,
11498            'subdomain': self.subdomain,
11499            'tags': self.tags,
11500        }
11501
11502    @classmethod
11503    def from_dict(cls, d):
11504        return cls(
11505            access_key=d.get('access_key'),
11506            bind_interface=d.get('bind_interface'),
11507            egress_filter=d.get('egress_filter'),
11508            endpoint=d.get('endpoint'),
11509            healthy=d.get('healthy'),
11510            id=d.get('id'),
11511            name=d.get('name'),
11512            port_override=d.get('port_override'),
11513            proxy_cluster_id=d.get('proxy_cluster_id'),
11514            region=d.get('region'),
11515            role_arn=d.get('role_arn'),
11516            role_external_id=d.get('role_external_id'),
11517            secret_access_key=d.get('secret_access_key'),
11518            secret_store_id=d.get('secret_store_id'),
11519            subdomain=d.get('subdomain'),
11520            tags=d.get('tags'),
11521        )
11522
11523
11524class DynamoDBIAM:
11525    __slots__ = [
11526        'bind_interface',
11527        'egress_filter',
11528        'endpoint',
11529        'healthy',
11530        'id',
11531        'name',
11532        'port_override',
11533        'proxy_cluster_id',
11534        'region',
11535        'role_arn',
11536        'role_external_id',
11537        'secret_store_id',
11538        'subdomain',
11539        'tags',
11540    ]
11541
11542    def __init__(
11543        self,
11544        bind_interface=None,
11545        egress_filter=None,
11546        endpoint=None,
11547        healthy=None,
11548        id=None,
11549        name=None,
11550        port_override=None,
11551        proxy_cluster_id=None,
11552        region=None,
11553        role_arn=None,
11554        role_external_id=None,
11555        secret_store_id=None,
11556        subdomain=None,
11557        tags=None,
11558    ):
11559        self.bind_interface = bind_interface if bind_interface is not None else ''
11560        '''
11561         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11562        '''
11563        self.egress_filter = egress_filter if egress_filter is not None else ''
11564        '''
11565         A filter applied to the routing logic to pin datasource to nodes.
11566        '''
11567        self.endpoint = endpoint if endpoint is not None else ''
11568        '''
11569         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11570        '''
11571        self.healthy = healthy if healthy is not None else False
11572        '''
11573         True if the datasource is reachable and the credentials are valid.
11574        '''
11575        self.id = id if id is not None else ''
11576        '''
11577         Unique identifier of the Resource.
11578        '''
11579        self.name = name if name is not None else ''
11580        '''
11581         Unique human-readable name of the Resource.
11582        '''
11583        self.port_override = port_override if port_override is not None else 0
11584        '''
11585         The local port used by clients to connect to this resource.
11586        '''
11587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11588        '''
11589         ID of the proxy cluster for this resource, if any.
11590        '''
11591        self.region = region if region is not None else ''
11592        '''
11593         The region to authenticate requests against e.g. us-east-1
11594        '''
11595        self.role_arn = role_arn if role_arn is not None else ''
11596        '''
11597         The role to assume after logging in.
11598        '''
11599        self.role_external_id = role_external_id if role_external_id is not None else ''
11600        '''
11601         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11602        '''
11603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11604        '''
11605         ID of the secret store containing credentials for this resource, if any.
11606        '''
11607        self.subdomain = subdomain if subdomain is not None else ''
11608        '''
11609         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11610        '''
11611        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11612        '''
11613         Tags is a map of key, value pairs.
11614        '''
11615
11616    def __repr__(self):
11617        return '<sdm.DynamoDBIAM ' + \
11618            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11619            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11620            'endpoint: ' + repr(self.endpoint) + ' ' +\
11621            'healthy: ' + repr(self.healthy) + ' ' +\
11622            'id: ' + repr(self.id) + ' ' +\
11623            'name: ' + repr(self.name) + ' ' +\
11624            'port_override: ' + repr(self.port_override) + ' ' +\
11625            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11626            'region: ' + repr(self.region) + ' ' +\
11627            'role_arn: ' + repr(self.role_arn) + ' ' +\
11628            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11629            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11630            'subdomain: ' + repr(self.subdomain) + ' ' +\
11631            'tags: ' + repr(self.tags) + ' ' +\
11632            '>'
11633
11634    def to_dict(self):
11635        return {
11636            'bind_interface': self.bind_interface,
11637            'egress_filter': self.egress_filter,
11638            'endpoint': self.endpoint,
11639            'healthy': self.healthy,
11640            'id': self.id,
11641            'name': self.name,
11642            'port_override': self.port_override,
11643            'proxy_cluster_id': self.proxy_cluster_id,
11644            'region': self.region,
11645            'role_arn': self.role_arn,
11646            'role_external_id': self.role_external_id,
11647            'secret_store_id': self.secret_store_id,
11648            'subdomain': self.subdomain,
11649            'tags': self.tags,
11650        }
11651
11652    @classmethod
11653    def from_dict(cls, d):
11654        return cls(
11655            bind_interface=d.get('bind_interface'),
11656            egress_filter=d.get('egress_filter'),
11657            endpoint=d.get('endpoint'),
11658            healthy=d.get('healthy'),
11659            id=d.get('id'),
11660            name=d.get('name'),
11661            port_override=d.get('port_override'),
11662            proxy_cluster_id=d.get('proxy_cluster_id'),
11663            region=d.get('region'),
11664            role_arn=d.get('role_arn'),
11665            role_external_id=d.get('role_external_id'),
11666            secret_store_id=d.get('secret_store_id'),
11667            subdomain=d.get('subdomain'),
11668            tags=d.get('tags'),
11669        )
11670
11671
11672class Elastic:
11673    __slots__ = [
11674        'bind_interface',
11675        'egress_filter',
11676        'healthy',
11677        'hostname',
11678        'id',
11679        'name',
11680        'password',
11681        'port',
11682        'port_override',
11683        'proxy_cluster_id',
11684        'secret_store_id',
11685        'subdomain',
11686        'tags',
11687        'tls_required',
11688        'username',
11689    ]
11690
11691    def __init__(
11692        self,
11693        bind_interface=None,
11694        egress_filter=None,
11695        healthy=None,
11696        hostname=None,
11697        id=None,
11698        name=None,
11699        password=None,
11700        port=None,
11701        port_override=None,
11702        proxy_cluster_id=None,
11703        secret_store_id=None,
11704        subdomain=None,
11705        tags=None,
11706        tls_required=None,
11707        username=None,
11708    ):
11709        self.bind_interface = bind_interface if bind_interface is not None else ''
11710        '''
11711         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11712        '''
11713        self.egress_filter = egress_filter if egress_filter is not None else ''
11714        '''
11715         A filter applied to the routing logic to pin datasource to nodes.
11716        '''
11717        self.healthy = healthy if healthy is not None else False
11718        '''
11719         True if the datasource is reachable and the credentials are valid.
11720        '''
11721        self.hostname = hostname if hostname is not None else ''
11722        '''
11723         The host to dial to initiate a connection from the egress node to this resource.
11724        '''
11725        self.id = id if id is not None else ''
11726        '''
11727         Unique identifier of the Resource.
11728        '''
11729        self.name = name if name is not None else ''
11730        '''
11731         Unique human-readable name of the Resource.
11732        '''
11733        self.password = password if password is not None else ''
11734        '''
11735         The password to authenticate with.
11736        '''
11737        self.port = port if port is not None else 0
11738        '''
11739         The port to dial to initiate a connection from the egress node to this resource.
11740        '''
11741        self.port_override = port_override if port_override is not None else 0
11742        '''
11743         The local port used by clients to connect to this resource.
11744        '''
11745        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11746        '''
11747         ID of the proxy cluster for this resource, if any.
11748        '''
11749        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11750        '''
11751         ID of the secret store containing credentials for this resource, if any.
11752        '''
11753        self.subdomain = subdomain if subdomain is not None else ''
11754        '''
11755         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11756        '''
11757        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11758        '''
11759         Tags is a map of key, value pairs.
11760        '''
11761        self.tls_required = tls_required if tls_required is not None else False
11762        '''
11763         If set, TLS must be used to connect to this resource.
11764        '''
11765        self.username = username if username is not None else ''
11766        '''
11767         The username to authenticate with.
11768        '''
11769
11770    def __repr__(self):
11771        return '<sdm.Elastic ' + \
11772            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11773            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11774            'healthy: ' + repr(self.healthy) + ' ' +\
11775            'hostname: ' + repr(self.hostname) + ' ' +\
11776            'id: ' + repr(self.id) + ' ' +\
11777            'name: ' + repr(self.name) + ' ' +\
11778            'password: ' + repr(self.password) + ' ' +\
11779            'port: ' + repr(self.port) + ' ' +\
11780            'port_override: ' + repr(self.port_override) + ' ' +\
11781            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11782            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11783            'subdomain: ' + repr(self.subdomain) + ' ' +\
11784            'tags: ' + repr(self.tags) + ' ' +\
11785            'tls_required: ' + repr(self.tls_required) + ' ' +\
11786            'username: ' + repr(self.username) + ' ' +\
11787            '>'
11788
11789    def to_dict(self):
11790        return {
11791            'bind_interface': self.bind_interface,
11792            'egress_filter': self.egress_filter,
11793            'healthy': self.healthy,
11794            'hostname': self.hostname,
11795            'id': self.id,
11796            'name': self.name,
11797            'password': self.password,
11798            'port': self.port,
11799            'port_override': self.port_override,
11800            'proxy_cluster_id': self.proxy_cluster_id,
11801            'secret_store_id': self.secret_store_id,
11802            'subdomain': self.subdomain,
11803            'tags': self.tags,
11804            'tls_required': self.tls_required,
11805            'username': self.username,
11806        }
11807
11808    @classmethod
11809    def from_dict(cls, d):
11810        return cls(
11811            bind_interface=d.get('bind_interface'),
11812            egress_filter=d.get('egress_filter'),
11813            healthy=d.get('healthy'),
11814            hostname=d.get('hostname'),
11815            id=d.get('id'),
11816            name=d.get('name'),
11817            password=d.get('password'),
11818            port=d.get('port'),
11819            port_override=d.get('port_override'),
11820            proxy_cluster_id=d.get('proxy_cluster_id'),
11821            secret_store_id=d.get('secret_store_id'),
11822            subdomain=d.get('subdomain'),
11823            tags=d.get('tags'),
11824            tls_required=d.get('tls_required'),
11825            username=d.get('username'),
11826        )
11827
11828
11829class ElasticacheRedis:
11830    __slots__ = [
11831        'bind_interface',
11832        'egress_filter',
11833        'healthy',
11834        'hostname',
11835        'id',
11836        'name',
11837        'password',
11838        'port',
11839        'port_override',
11840        'proxy_cluster_id',
11841        'secret_store_id',
11842        'subdomain',
11843        'tags',
11844        'tls_required',
11845        'username',
11846    ]
11847
11848    def __init__(
11849        self,
11850        bind_interface=None,
11851        egress_filter=None,
11852        healthy=None,
11853        hostname=None,
11854        id=None,
11855        name=None,
11856        password=None,
11857        port=None,
11858        port_override=None,
11859        proxy_cluster_id=None,
11860        secret_store_id=None,
11861        subdomain=None,
11862        tags=None,
11863        tls_required=None,
11864        username=None,
11865    ):
11866        self.bind_interface = bind_interface if bind_interface is not None else ''
11867        '''
11868         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11869        '''
11870        self.egress_filter = egress_filter if egress_filter is not None else ''
11871        '''
11872         A filter applied to the routing logic to pin datasource to nodes.
11873        '''
11874        self.healthy = healthy if healthy is not None else False
11875        '''
11876         True if the datasource is reachable and the credentials are valid.
11877        '''
11878        self.hostname = hostname if hostname is not None else ''
11879        '''
11880         The host to dial to initiate a connection from the egress node to this resource.
11881        '''
11882        self.id = id if id is not None else ''
11883        '''
11884         Unique identifier of the Resource.
11885        '''
11886        self.name = name if name is not None else ''
11887        '''
11888         Unique human-readable name of the Resource.
11889        '''
11890        self.password = password if password is not None else ''
11891        '''
11892         The password to authenticate with.
11893        '''
11894        self.port = port if port is not None else 0
11895        '''
11896         The port to dial to initiate a connection from the egress node to this resource.
11897        '''
11898        self.port_override = port_override if port_override is not None else 0
11899        '''
11900         The local port used by clients to connect to this resource.
11901        '''
11902        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11903        '''
11904         ID of the proxy cluster for this resource, if any.
11905        '''
11906        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11907        '''
11908         ID of the secret store containing credentials for this resource, if any.
11909        '''
11910        self.subdomain = subdomain if subdomain is not None else ''
11911        '''
11912         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11913        '''
11914        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11915        '''
11916         Tags is a map of key, value pairs.
11917        '''
11918        self.tls_required = tls_required if tls_required is not None else False
11919        '''
11920         If set, TLS must be used to connect to this resource.
11921        '''
11922        self.username = username if username is not None else ''
11923        '''
11924         The username to authenticate with.
11925        '''
11926
11927    def __repr__(self):
11928        return '<sdm.ElasticacheRedis ' + \
11929            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11930            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11931            'healthy: ' + repr(self.healthy) + ' ' +\
11932            'hostname: ' + repr(self.hostname) + ' ' +\
11933            'id: ' + repr(self.id) + ' ' +\
11934            'name: ' + repr(self.name) + ' ' +\
11935            'password: ' + repr(self.password) + ' ' +\
11936            'port: ' + repr(self.port) + ' ' +\
11937            'port_override: ' + repr(self.port_override) + ' ' +\
11938            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11939            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11940            'subdomain: ' + repr(self.subdomain) + ' ' +\
11941            'tags: ' + repr(self.tags) + ' ' +\
11942            'tls_required: ' + repr(self.tls_required) + ' ' +\
11943            'username: ' + repr(self.username) + ' ' +\
11944            '>'
11945
11946    def to_dict(self):
11947        return {
11948            'bind_interface': self.bind_interface,
11949            'egress_filter': self.egress_filter,
11950            'healthy': self.healthy,
11951            'hostname': self.hostname,
11952            'id': self.id,
11953            'name': self.name,
11954            'password': self.password,
11955            'port': self.port,
11956            'port_override': self.port_override,
11957            'proxy_cluster_id': self.proxy_cluster_id,
11958            'secret_store_id': self.secret_store_id,
11959            'subdomain': self.subdomain,
11960            'tags': self.tags,
11961            'tls_required': self.tls_required,
11962            'username': self.username,
11963        }
11964
11965    @classmethod
11966    def from_dict(cls, d):
11967        return cls(
11968            bind_interface=d.get('bind_interface'),
11969            egress_filter=d.get('egress_filter'),
11970            healthy=d.get('healthy'),
11971            hostname=d.get('hostname'),
11972            id=d.get('id'),
11973            name=d.get('name'),
11974            password=d.get('password'),
11975            port=d.get('port'),
11976            port_override=d.get('port_override'),
11977            proxy_cluster_id=d.get('proxy_cluster_id'),
11978            secret_store_id=d.get('secret_store_id'),
11979            subdomain=d.get('subdomain'),
11980            tags=d.get('tags'),
11981            tls_required=d.get('tls_required'),
11982            username=d.get('username'),
11983        )
11984
11985
11986class GCP:
11987    __slots__ = [
11988        'bind_interface',
11989        'egress_filter',
11990        'healthy',
11991        'id',
11992        'keyfile',
11993        'name',
11994        'port_override',
11995        'proxy_cluster_id',
11996        'scopes',
11997        'secret_store_id',
11998        'subdomain',
11999        'tags',
12000    ]
12001
12002    def __init__(
12003        self,
12004        bind_interface=None,
12005        egress_filter=None,
12006        healthy=None,
12007        id=None,
12008        keyfile=None,
12009        name=None,
12010        port_override=None,
12011        proxy_cluster_id=None,
12012        scopes=None,
12013        secret_store_id=None,
12014        subdomain=None,
12015        tags=None,
12016    ):
12017        self.bind_interface = bind_interface if bind_interface is not None else ''
12018        '''
12019         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12020        '''
12021        self.egress_filter = egress_filter if egress_filter is not None else ''
12022        '''
12023         A filter applied to the routing logic to pin datasource to nodes.
12024        '''
12025        self.healthy = healthy if healthy is not None else False
12026        '''
12027         True if the datasource is reachable and the credentials are valid.
12028        '''
12029        self.id = id if id is not None else ''
12030        '''
12031         Unique identifier of the Resource.
12032        '''
12033        self.keyfile = keyfile if keyfile is not None else ''
12034        '''
12035         The service account keyfile to authenticate with.
12036        '''
12037        self.name = name if name is not None else ''
12038        '''
12039         Unique human-readable name of the Resource.
12040        '''
12041        self.port_override = port_override if port_override is not None else 0
12042        '''
12043         The local port used by clients to connect to this resource.
12044        '''
12045        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12046        '''
12047         ID of the proxy cluster for this resource, if any.
12048        '''
12049        self.scopes = scopes if scopes is not None else ''
12050        '''
12051         Space separated scopes that this login should assume into when authenticating.
12052        '''
12053        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12054        '''
12055         ID of the secret store containing credentials for this resource, if any.
12056        '''
12057        self.subdomain = subdomain if subdomain is not None else ''
12058        '''
12059         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12060        '''
12061        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12062        '''
12063         Tags is a map of key, value pairs.
12064        '''
12065
12066    def __repr__(self):
12067        return '<sdm.GCP ' + \
12068            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12069            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12070            'healthy: ' + repr(self.healthy) + ' ' +\
12071            'id: ' + repr(self.id) + ' ' +\
12072            'keyfile: ' + repr(self.keyfile) + ' ' +\
12073            'name: ' + repr(self.name) + ' ' +\
12074            'port_override: ' + repr(self.port_override) + ' ' +\
12075            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12076            'scopes: ' + repr(self.scopes) + ' ' +\
12077            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12078            'subdomain: ' + repr(self.subdomain) + ' ' +\
12079            'tags: ' + repr(self.tags) + ' ' +\
12080            '>'
12081
12082    def to_dict(self):
12083        return {
12084            'bind_interface': self.bind_interface,
12085            'egress_filter': self.egress_filter,
12086            'healthy': self.healthy,
12087            'id': self.id,
12088            'keyfile': self.keyfile,
12089            'name': self.name,
12090            'port_override': self.port_override,
12091            'proxy_cluster_id': self.proxy_cluster_id,
12092            'scopes': self.scopes,
12093            'secret_store_id': self.secret_store_id,
12094            'subdomain': self.subdomain,
12095            'tags': self.tags,
12096        }
12097
12098    @classmethod
12099    def from_dict(cls, d):
12100        return cls(
12101            bind_interface=d.get('bind_interface'),
12102            egress_filter=d.get('egress_filter'),
12103            healthy=d.get('healthy'),
12104            id=d.get('id'),
12105            keyfile=d.get('keyfile'),
12106            name=d.get('name'),
12107            port_override=d.get('port_override'),
12108            proxy_cluster_id=d.get('proxy_cluster_id'),
12109            scopes=d.get('scopes'),
12110            secret_store_id=d.get('secret_store_id'),
12111            subdomain=d.get('subdomain'),
12112            tags=d.get('tags'),
12113        )
12114
12115
12116class GCPCertX509Store:
12117    __slots__ = [
12118        'caid',
12119        'capoolid',
12120        'id',
12121        'issuedcertttlminutes',
12122        'location',
12123        'name',
12124        'projectid',
12125        'tags',
12126    ]
12127
12128    def __init__(
12129        self,
12130        caid=None,
12131        capoolid=None,
12132        id=None,
12133        issuedcertttlminutes=None,
12134        location=None,
12135        name=None,
12136        projectid=None,
12137        tags=None,
12138    ):
12139        self.caid = caid if caid is not None else ''
12140        '''
12141         The ID of the target CA
12142        '''
12143        self.capoolid = capoolid if capoolid is not None else ''
12144        '''
12145         The ID of the target CA pool
12146        '''
12147        self.id = id if id is not None else ''
12148        '''
12149         Unique identifier of the SecretStore.
12150        '''
12151        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12152        '''
12153         The lifetime of certificates issued by this CA represented in minutes.
12154        '''
12155        self.location = location if location is not None else ''
12156        '''
12157         The Region for the CA in GCP format e.g. us-west1
12158        '''
12159        self.name = name if name is not None else ''
12160        '''
12161         Unique human-readable name of the SecretStore.
12162        '''
12163        self.projectid = projectid if projectid is not None else ''
12164        '''
12165         The GCP project ID to target.
12166        '''
12167        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12168        '''
12169         Tags is a map of key, value pairs.
12170        '''
12171
12172    def __repr__(self):
12173        return '<sdm.GCPCertX509Store ' + \
12174            'caid: ' + repr(self.caid) + ' ' +\
12175            'capoolid: ' + repr(self.capoolid) + ' ' +\
12176            'id: ' + repr(self.id) + ' ' +\
12177            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12178            'location: ' + repr(self.location) + ' ' +\
12179            'name: ' + repr(self.name) + ' ' +\
12180            'projectid: ' + repr(self.projectid) + ' ' +\
12181            'tags: ' + repr(self.tags) + ' ' +\
12182            '>'
12183
12184    def to_dict(self):
12185        return {
12186            'caid': self.caid,
12187            'capoolid': self.capoolid,
12188            'id': self.id,
12189            'issuedcertttlminutes': self.issuedcertttlminutes,
12190            'location': self.location,
12191            'name': self.name,
12192            'projectid': self.projectid,
12193            'tags': self.tags,
12194        }
12195
12196    @classmethod
12197    def from_dict(cls, d):
12198        return cls(
12199            caid=d.get('caid'),
12200            capoolid=d.get('capoolid'),
12201            id=d.get('id'),
12202            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12203            location=d.get('location'),
12204            name=d.get('name'),
12205            projectid=d.get('projectid'),
12206            tags=d.get('tags'),
12207        )
12208
12209
12210class GCPConsole:
12211    __slots__ = [
12212        'bind_interface',
12213        'egress_filter',
12214        'healthy',
12215        'id',
12216        'identity_alias_healthcheck_username',
12217        'identity_set_id',
12218        'name',
12219        'port_override',
12220        'proxy_cluster_id',
12221        'secret_store_id',
12222        'session_expiry',
12223        'subdomain',
12224        'tags',
12225        'workforce_pool_id',
12226        'workforce_provider_id',
12227    ]
12228
12229    def __init__(
12230        self,
12231        bind_interface=None,
12232        egress_filter=None,
12233        healthy=None,
12234        id=None,
12235        identity_alias_healthcheck_username=None,
12236        identity_set_id=None,
12237        name=None,
12238        port_override=None,
12239        proxy_cluster_id=None,
12240        secret_store_id=None,
12241        session_expiry=None,
12242        subdomain=None,
12243        tags=None,
12244        workforce_pool_id=None,
12245        workforce_provider_id=None,
12246    ):
12247        self.bind_interface = bind_interface if bind_interface is not None else ''
12248        '''
12249         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12250        '''
12251        self.egress_filter = egress_filter if egress_filter is not None else ''
12252        '''
12253         A filter applied to the routing logic to pin datasource to nodes.
12254        '''
12255        self.healthy = healthy if healthy is not None else False
12256        '''
12257         True if the datasource is reachable and the credentials are valid.
12258        '''
12259        self.id = id if id is not None else ''
12260        '''
12261         Unique identifier of the Resource.
12262        '''
12263        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12264        '''
12265         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12266        '''
12267        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12268        '''
12269         The ID of the identity set to use for identity connections.
12270        '''
12271        self.name = name if name is not None else ''
12272        '''
12273         Unique human-readable name of the Resource.
12274        '''
12275        self.port_override = port_override if port_override is not None else 0
12276        '''
12277         The local port used by clients to connect to this resource.
12278        '''
12279        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12280        '''
12281         ID of the proxy cluster for this resource, if any.
12282        '''
12283        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12284        '''
12285         ID of the secret store containing credentials for this resource, if any.
12286        '''
12287        self.session_expiry = session_expiry if session_expiry is not None else 0
12288        '''
12289         The length of time in seconds console sessions will live before needing to reauthenticate.
12290        '''
12291        self.subdomain = subdomain if subdomain is not None else ''
12292        '''
12293         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12294        '''
12295        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12296        '''
12297         Tags is a map of key, value pairs.
12298        '''
12299        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12300        '''
12301         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12302        '''
12303        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12304        '''
12305         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12306        '''
12307
12308    def __repr__(self):
12309        return '<sdm.GCPConsole ' + \
12310            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12311            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12312            'healthy: ' + repr(self.healthy) + ' ' +\
12313            'id: ' + repr(self.id) + ' ' +\
12314            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12315            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12316            'name: ' + repr(self.name) + ' ' +\
12317            'port_override: ' + repr(self.port_override) + ' ' +\
12318            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12319            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12320            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12321            'subdomain: ' + repr(self.subdomain) + ' ' +\
12322            'tags: ' + repr(self.tags) + ' ' +\
12323            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12324            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12325            '>'
12326
12327    def to_dict(self):
12328        return {
12329            'bind_interface': self.bind_interface,
12330            'egress_filter': self.egress_filter,
12331            'healthy': self.healthy,
12332            'id': self.id,
12333            'identity_alias_healthcheck_username':
12334            self.identity_alias_healthcheck_username,
12335            'identity_set_id': self.identity_set_id,
12336            'name': self.name,
12337            'port_override': self.port_override,
12338            'proxy_cluster_id': self.proxy_cluster_id,
12339            'secret_store_id': self.secret_store_id,
12340            'session_expiry': self.session_expiry,
12341            'subdomain': self.subdomain,
12342            'tags': self.tags,
12343            'workforce_pool_id': self.workforce_pool_id,
12344            'workforce_provider_id': self.workforce_provider_id,
12345        }
12346
12347    @classmethod
12348    def from_dict(cls, d):
12349        return cls(
12350            bind_interface=d.get('bind_interface'),
12351            egress_filter=d.get('egress_filter'),
12352            healthy=d.get('healthy'),
12353            id=d.get('id'),
12354            identity_alias_healthcheck_username=d.get(
12355                'identity_alias_healthcheck_username'),
12356            identity_set_id=d.get('identity_set_id'),
12357            name=d.get('name'),
12358            port_override=d.get('port_override'),
12359            proxy_cluster_id=d.get('proxy_cluster_id'),
12360            secret_store_id=d.get('secret_store_id'),
12361            session_expiry=d.get('session_expiry'),
12362            subdomain=d.get('subdomain'),
12363            tags=d.get('tags'),
12364            workforce_pool_id=d.get('workforce_pool_id'),
12365            workforce_provider_id=d.get('workforce_provider_id'),
12366        )
12367
12368
12369class GCPStore:
12370    __slots__ = [
12371        'id',
12372        'name',
12373        'projectid',
12374        'tags',
12375    ]
12376
12377    def __init__(
12378        self,
12379        id=None,
12380        name=None,
12381        projectid=None,
12382        tags=None,
12383    ):
12384        self.id = id if id is not None else ''
12385        '''
12386         Unique identifier of the SecretStore.
12387        '''
12388        self.name = name if name is not None else ''
12389        '''
12390         Unique human-readable name of the SecretStore.
12391        '''
12392        self.projectid = projectid if projectid is not None else ''
12393        '''
12394         The GCP project ID to target.
12395        '''
12396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12397        '''
12398         Tags is a map of key, value pairs.
12399        '''
12400
12401    def __repr__(self):
12402        return '<sdm.GCPStore ' + \
12403            'id: ' + repr(self.id) + ' ' +\
12404            'name: ' + repr(self.name) + ' ' +\
12405            'projectid: ' + repr(self.projectid) + ' ' +\
12406            'tags: ' + repr(self.tags) + ' ' +\
12407            '>'
12408
12409    def to_dict(self):
12410        return {
12411            'id': self.id,
12412            'name': self.name,
12413            'projectid': self.projectid,
12414            'tags': self.tags,
12415        }
12416
12417    @classmethod
12418    def from_dict(cls, d):
12419        return cls(
12420            id=d.get('id'),
12421            name=d.get('name'),
12422            projectid=d.get('projectid'),
12423            tags=d.get('tags'),
12424        )
12425
12426
12427class GCPWIF:
12428    __slots__ = [
12429        'bind_interface',
12430        'egress_filter',
12431        'healthy',
12432        'id',
12433        'identity_alias_healthcheck_username',
12434        'identity_set_id',
12435        'name',
12436        'port_override',
12437        'project_id',
12438        'proxy_cluster_id',
12439        'scopes',
12440        'secret_store_id',
12441        'session_expiry',
12442        'subdomain',
12443        'tags',
12444        'workforce_pool_id',
12445        'workforce_provider_id',
12446    ]
12447
12448    def __init__(
12449        self,
12450        bind_interface=None,
12451        egress_filter=None,
12452        healthy=None,
12453        id=None,
12454        identity_alias_healthcheck_username=None,
12455        identity_set_id=None,
12456        name=None,
12457        port_override=None,
12458        project_id=None,
12459        proxy_cluster_id=None,
12460        scopes=None,
12461        secret_store_id=None,
12462        session_expiry=None,
12463        subdomain=None,
12464        tags=None,
12465        workforce_pool_id=None,
12466        workforce_provider_id=None,
12467    ):
12468        self.bind_interface = bind_interface if bind_interface is not None else ''
12469        '''
12470         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12471        '''
12472        self.egress_filter = egress_filter if egress_filter is not None else ''
12473        '''
12474         A filter applied to the routing logic to pin datasource to nodes.
12475        '''
12476        self.healthy = healthy if healthy is not None else False
12477        '''
12478         True if the datasource is reachable and the credentials are valid.
12479        '''
12480        self.id = id if id is not None else ''
12481        '''
12482         Unique identifier of the Resource.
12483        '''
12484        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12485        '''
12486         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12487        '''
12488        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12489        '''
12490         The ID of the identity set to use for identity connections.
12491        '''
12492        self.name = name if name is not None else ''
12493        '''
12494         Unique human-readable name of the Resource.
12495        '''
12496        self.port_override = port_override if port_override is not None else 0
12497        '''
12498         The local port used by clients to connect to this resource.
12499        '''
12500        self.project_id = project_id if project_id is not None else ''
12501        '''
12502         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12503        '''
12504        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12505        '''
12506         ID of the proxy cluster for this resource, if any.
12507        '''
12508        self.scopes = scopes if scopes is not None else ''
12509        '''
12510         Space separated scopes that this login should assume into when authenticating.
12511        '''
12512        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12513        '''
12514         ID of the secret store containing credentials for this resource, if any.
12515        '''
12516        self.session_expiry = session_expiry if session_expiry is not None else 0
12517        '''
12518         The length of time in seconds console sessions will live before needing to reauthenticate.
12519        '''
12520        self.subdomain = subdomain if subdomain is not None else ''
12521        '''
12522         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12523        '''
12524        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12525        '''
12526         Tags is a map of key, value pairs.
12527        '''
12528        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12529        '''
12530         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12531        '''
12532        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12533        '''
12534         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12535        '''
12536
12537    def __repr__(self):
12538        return '<sdm.GCPWIF ' + \
12539            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12540            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12541            'healthy: ' + repr(self.healthy) + ' ' +\
12542            'id: ' + repr(self.id) + ' ' +\
12543            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12544            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12545            'name: ' + repr(self.name) + ' ' +\
12546            'port_override: ' + repr(self.port_override) + ' ' +\
12547            'project_id: ' + repr(self.project_id) + ' ' +\
12548            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12549            'scopes: ' + repr(self.scopes) + ' ' +\
12550            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12551            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12552            'subdomain: ' + repr(self.subdomain) + ' ' +\
12553            'tags: ' + repr(self.tags) + ' ' +\
12554            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12555            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12556            '>'
12557
12558    def to_dict(self):
12559        return {
12560            'bind_interface': self.bind_interface,
12561            'egress_filter': self.egress_filter,
12562            'healthy': self.healthy,
12563            'id': self.id,
12564            'identity_alias_healthcheck_username':
12565            self.identity_alias_healthcheck_username,
12566            'identity_set_id': self.identity_set_id,
12567            'name': self.name,
12568            'port_override': self.port_override,
12569            'project_id': self.project_id,
12570            'proxy_cluster_id': self.proxy_cluster_id,
12571            'scopes': self.scopes,
12572            'secret_store_id': self.secret_store_id,
12573            'session_expiry': self.session_expiry,
12574            'subdomain': self.subdomain,
12575            'tags': self.tags,
12576            'workforce_pool_id': self.workforce_pool_id,
12577            'workforce_provider_id': self.workforce_provider_id,
12578        }
12579
12580    @classmethod
12581    def from_dict(cls, d):
12582        return cls(
12583            bind_interface=d.get('bind_interface'),
12584            egress_filter=d.get('egress_filter'),
12585            healthy=d.get('healthy'),
12586            id=d.get('id'),
12587            identity_alias_healthcheck_username=d.get(
12588                'identity_alias_healthcheck_username'),
12589            identity_set_id=d.get('identity_set_id'),
12590            name=d.get('name'),
12591            port_override=d.get('port_override'),
12592            project_id=d.get('project_id'),
12593            proxy_cluster_id=d.get('proxy_cluster_id'),
12594            scopes=d.get('scopes'),
12595            secret_store_id=d.get('secret_store_id'),
12596            session_expiry=d.get('session_expiry'),
12597            subdomain=d.get('subdomain'),
12598            tags=d.get('tags'),
12599            workforce_pool_id=d.get('workforce_pool_id'),
12600            workforce_provider_id=d.get('workforce_provider_id'),
12601        )
12602
12603
12604class Gateway:
12605    '''
12606         Gateway represents a StrongDM CLI installation running in gateway mode.
12607    '''
12608    __slots__ = [
12609        'bind_address',
12610        'device',
12611        'gateway_filter',
12612        'id',
12613        'listen_address',
12614        'location',
12615        'maintenance_windows',
12616        'name',
12617        'state',
12618        'tags',
12619        'version',
12620    ]
12621
12622    def __init__(
12623        self,
12624        bind_address=None,
12625        device=None,
12626        gateway_filter=None,
12627        id=None,
12628        listen_address=None,
12629        location=None,
12630        maintenance_windows=None,
12631        name=None,
12632        state=None,
12633        tags=None,
12634        version=None,
12635    ):
12636        self.bind_address = bind_address if bind_address is not None else ''
12637        '''
12638         The hostname/port tuple which the gateway daemon will bind to.
12639         If not provided on create, set to "0.0.0.0:listen_address_port".
12640        '''
12641        self.device = device if device is not None else ''
12642        '''
12643         Device is a read only device name uploaded by the gateway process when
12644         it comes online.
12645        '''
12646        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12647        '''
12648         GatewayFilter can be used to restrict the peering between relays and
12649         gateways. Deprecated.
12650        '''
12651        self.id = id if id is not None else ''
12652        '''
12653         Unique identifier of the Gateway.
12654        '''
12655        self.listen_address = listen_address if listen_address is not None else ''
12656        '''
12657         The public hostname/port tuple at which the gateway will be accessible to clients.
12658        '''
12659        self.location = location if location is not None else ''
12660        '''
12661         Location is a read only network location uploaded by the gateway process
12662         when it comes online.
12663        '''
12664        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12665        '''
12666         Maintenance Windows define when this node is allowed to restart. If a node
12667         is requested to restart, it will check each window to determine if any of
12668         them permit it to restart, and if any do, it will. This check is repeated
12669         per window until the restart is successfully completed.
12670         
12671         If not set here, may be set on the command line or via an environment variable
12672         on the process itself; any server setting will take precedence over local
12673         settings. This setting is ineffective for nodes below version 38.44.0.
12674         
12675         If this setting is not applied via this remote configuration or via local
12676         configuration, the default setting is used: always allow restarts if serving
12677         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12678        '''
12679        self.name = name if name is not None else ''
12680        '''
12681         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.
12682        '''
12683        self.state = state if state is not None else ''
12684        '''
12685         The current state of the gateway. One of: "new", "verifying_restart",
12686         "restarting", "started", "stopped", "dead", "unknown"
12687        '''
12688        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12689        '''
12690         Tags is a map of key, value pairs.
12691        '''
12692        self.version = version if version is not None else ''
12693        '''
12694         Version is a read only sdm binary version uploaded by the gateway process
12695         when it comes online.
12696        '''
12697
12698    def __repr__(self):
12699        return '<sdm.Gateway ' + \
12700            'bind_address: ' + repr(self.bind_address) + ' ' +\
12701            'device: ' + repr(self.device) + ' ' +\
12702            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12703            'id: ' + repr(self.id) + ' ' +\
12704            'listen_address: ' + repr(self.listen_address) + ' ' +\
12705            'location: ' + repr(self.location) + ' ' +\
12706            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12707            'name: ' + repr(self.name) + ' ' +\
12708            'state: ' + repr(self.state) + ' ' +\
12709            'tags: ' + repr(self.tags) + ' ' +\
12710            'version: ' + repr(self.version) + ' ' +\
12711            '>'
12712
12713    def to_dict(self):
12714        return {
12715            'bind_address': self.bind_address,
12716            'device': self.device,
12717            'gateway_filter': self.gateway_filter,
12718            'id': self.id,
12719            'listen_address': self.listen_address,
12720            'location': self.location,
12721            'maintenance_windows': self.maintenance_windows,
12722            'name': self.name,
12723            'state': self.state,
12724            'tags': self.tags,
12725            'version': self.version,
12726        }
12727
12728    @classmethod
12729    def from_dict(cls, d):
12730        return cls(
12731            bind_address=d.get('bind_address'),
12732            device=d.get('device'),
12733            gateway_filter=d.get('gateway_filter'),
12734            id=d.get('id'),
12735            listen_address=d.get('listen_address'),
12736            location=d.get('location'),
12737            maintenance_windows=d.get('maintenance_windows'),
12738            name=d.get('name'),
12739            state=d.get('state'),
12740            tags=d.get('tags'),
12741            version=d.get('version'),
12742        )
12743
12744
12745class GenerateKeysRequest:
12746    __slots__ = [
12747        'secret_engine_id',
12748    ]
12749
12750    def __init__(
12751        self,
12752        secret_engine_id=None,
12753    ):
12754        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12755        '''
12756         required
12757        '''
12758
12759    def __repr__(self):
12760        return '<sdm.GenerateKeysRequest ' + \
12761            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12762            '>'
12763
12764    def to_dict(self):
12765        return {
12766            'secret_engine_id': self.secret_engine_id,
12767        }
12768
12769    @classmethod
12770    def from_dict(cls, d):
12771        return cls(secret_engine_id=d.get('secret_engine_id'), )
12772
12773
12774class GenerateKeysResponse:
12775    __slots__ = [
12776        'rate_limit',
12777    ]
12778
12779    def __init__(
12780        self,
12781        rate_limit=None,
12782    ):
12783        self.rate_limit = rate_limit if rate_limit is not None else None
12784        '''
12785         Rate limit information.
12786        '''
12787
12788    def __repr__(self):
12789        return '<sdm.GenerateKeysResponse ' + \
12790            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12791            '>'
12792
12793    def to_dict(self):
12794        return {
12795            'rate_limit': self.rate_limit,
12796        }
12797
12798    @classmethod
12799    def from_dict(cls, d):
12800        return cls(rate_limit=d.get('rate_limit'), )
12801
12802
12803class GenericResponseMetadata:
12804    '''
12805         GenericResponseMetadata contains common headers for generic request
12806     responses.
12807    '''
12808    __slots__ = []
12809
12810    def __init__(self, ):
12811        pass
12812
12813    def __repr__(self):
12814        return '<sdm.GenericResponseMetadata ' + \
12815            '>'
12816
12817    def to_dict(self):
12818        return {}
12819
12820    @classmethod
12821    def from_dict(cls, d):
12822        return cls()
12823
12824
12825class GetResponseMetadata:
12826    '''
12827         GetResponseMetadata is reserved for future use.
12828    '''
12829    __slots__ = []
12830
12831    def __init__(self, ):
12832        pass
12833
12834    def __repr__(self):
12835        return '<sdm.GetResponseMetadata ' + \
12836            '>'
12837
12838    def to_dict(self):
12839        return {}
12840
12841    @classmethod
12842    def from_dict(cls, d):
12843        return cls()
12844
12845
12846class GoogleGKE:
12847    __slots__ = [
12848        'allow_resource_role_bypass',
12849        'bind_interface',
12850        'certificate_authority',
12851        'discovery_enabled',
12852        'discovery_username',
12853        'egress_filter',
12854        'endpoint',
12855        'healthcheck_namespace',
12856        'healthy',
12857        'id',
12858        'identity_alias_healthcheck_username',
12859        'identity_set_id',
12860        'name',
12861        'port_override',
12862        'proxy_cluster_id',
12863        'secret_store_id',
12864        'service_account_key',
12865        'subdomain',
12866        'tags',
12867    ]
12868
12869    def __init__(
12870        self,
12871        allow_resource_role_bypass=None,
12872        bind_interface=None,
12873        certificate_authority=None,
12874        discovery_enabled=None,
12875        discovery_username=None,
12876        egress_filter=None,
12877        endpoint=None,
12878        healthcheck_namespace=None,
12879        healthy=None,
12880        id=None,
12881        identity_alias_healthcheck_username=None,
12882        identity_set_id=None,
12883        name=None,
12884        port_override=None,
12885        proxy_cluster_id=None,
12886        secret_store_id=None,
12887        service_account_key=None,
12888        subdomain=None,
12889        tags=None,
12890    ):
12891        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12892        '''
12893         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12894         when a resource role is not provided.
12895        '''
12896        self.bind_interface = bind_interface if bind_interface is not None else ''
12897        '''
12898         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12899        '''
12900        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12901        '''
12902         The CA to authenticate TLS connections with.
12903        '''
12904        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12905        '''
12906         If true, configures discovery of a cluster to be run from a node.
12907        '''
12908        self.discovery_username = discovery_username if discovery_username is not None else ''
12909        '''
12910         If a cluster is configured for user impersonation, this is the user to impersonate when
12911         running discovery.
12912        '''
12913        self.egress_filter = egress_filter if egress_filter is not None else ''
12914        '''
12915         A filter applied to the routing logic to pin datasource to nodes.
12916        '''
12917        self.endpoint = endpoint if endpoint is not None else ''
12918        '''
12919         The endpoint to dial.
12920        '''
12921        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12922        '''
12923         The path used to check the health of your connection.  Defaults to `default`.
12924        '''
12925        self.healthy = healthy if healthy is not None else False
12926        '''
12927         True if the datasource is reachable and the credentials are valid.
12928        '''
12929        self.id = id if id is not None else ''
12930        '''
12931         Unique identifier of the Resource.
12932        '''
12933        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12934        '''
12935         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12936        '''
12937        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12938        '''
12939         The ID of the identity set to use for identity connections.
12940        '''
12941        self.name = name if name is not None else ''
12942        '''
12943         Unique human-readable name of the Resource.
12944        '''
12945        self.port_override = port_override if port_override is not None else 0
12946        '''
12947         The local port used by clients to connect to this resource.
12948        '''
12949        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12950        '''
12951         ID of the proxy cluster for this resource, if any.
12952        '''
12953        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12954        '''
12955         ID of the secret store containing credentials for this resource, if any.
12956        '''
12957        self.service_account_key = service_account_key if service_account_key is not None else ''
12958        '''
12959         The service account key to authenticate with.
12960        '''
12961        self.subdomain = subdomain if subdomain is not None else ''
12962        '''
12963         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12964        '''
12965        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12966        '''
12967         Tags is a map of key, value pairs.
12968        '''
12969
12970    def __repr__(self):
12971        return '<sdm.GoogleGKE ' + \
12972            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
12973            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12974            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12975            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12976            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
12977            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12978            'endpoint: ' + repr(self.endpoint) + ' ' +\
12979            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12980            'healthy: ' + repr(self.healthy) + ' ' +\
12981            'id: ' + repr(self.id) + ' ' +\
12982            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12983            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12984            'name: ' + repr(self.name) + ' ' +\
12985            'port_override: ' + repr(self.port_override) + ' ' +\
12986            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12987            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12988            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12989            'subdomain: ' + repr(self.subdomain) + ' ' +\
12990            'tags: ' + repr(self.tags) + ' ' +\
12991            '>'
12992
12993    def to_dict(self):
12994        return {
12995            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12996            'bind_interface': self.bind_interface,
12997            'certificate_authority': self.certificate_authority,
12998            'discovery_enabled': self.discovery_enabled,
12999            'discovery_username': self.discovery_username,
13000            'egress_filter': self.egress_filter,
13001            'endpoint': self.endpoint,
13002            'healthcheck_namespace': self.healthcheck_namespace,
13003            'healthy': self.healthy,
13004            'id': self.id,
13005            'identity_alias_healthcheck_username':
13006            self.identity_alias_healthcheck_username,
13007            'identity_set_id': self.identity_set_id,
13008            'name': self.name,
13009            'port_override': self.port_override,
13010            'proxy_cluster_id': self.proxy_cluster_id,
13011            'secret_store_id': self.secret_store_id,
13012            'service_account_key': self.service_account_key,
13013            'subdomain': self.subdomain,
13014            'tags': self.tags,
13015        }
13016
13017    @classmethod
13018    def from_dict(cls, d):
13019        return cls(
13020            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13021            bind_interface=d.get('bind_interface'),
13022            certificate_authority=d.get('certificate_authority'),
13023            discovery_enabled=d.get('discovery_enabled'),
13024            discovery_username=d.get('discovery_username'),
13025            egress_filter=d.get('egress_filter'),
13026            endpoint=d.get('endpoint'),
13027            healthcheck_namespace=d.get('healthcheck_namespace'),
13028            healthy=d.get('healthy'),
13029            id=d.get('id'),
13030            identity_alias_healthcheck_username=d.get(
13031                'identity_alias_healthcheck_username'),
13032            identity_set_id=d.get('identity_set_id'),
13033            name=d.get('name'),
13034            port_override=d.get('port_override'),
13035            proxy_cluster_id=d.get('proxy_cluster_id'),
13036            secret_store_id=d.get('secret_store_id'),
13037            service_account_key=d.get('service_account_key'),
13038            subdomain=d.get('subdomain'),
13039            tags=d.get('tags'),
13040        )
13041
13042
13043class GoogleGKEUserImpersonation:
13044    __slots__ = [
13045        'bind_interface',
13046        'certificate_authority',
13047        'egress_filter',
13048        'endpoint',
13049        'healthcheck_namespace',
13050        'healthy',
13051        'id',
13052        'name',
13053        'port_override',
13054        'proxy_cluster_id',
13055        'secret_store_id',
13056        'service_account_key',
13057        'subdomain',
13058        'tags',
13059    ]
13060
13061    def __init__(
13062        self,
13063        bind_interface=None,
13064        certificate_authority=None,
13065        egress_filter=None,
13066        endpoint=None,
13067        healthcheck_namespace=None,
13068        healthy=None,
13069        id=None,
13070        name=None,
13071        port_override=None,
13072        proxy_cluster_id=None,
13073        secret_store_id=None,
13074        service_account_key=None,
13075        subdomain=None,
13076        tags=None,
13077    ):
13078        self.bind_interface = bind_interface if bind_interface is not None else ''
13079        '''
13080         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13081        '''
13082        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13083        '''
13084         The CA to authenticate TLS connections with.
13085        '''
13086        self.egress_filter = egress_filter if egress_filter is not None else ''
13087        '''
13088         A filter applied to the routing logic to pin datasource to nodes.
13089        '''
13090        self.endpoint = endpoint if endpoint is not None else ''
13091        '''
13092         The endpoint to dial.
13093        '''
13094        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13095        '''
13096         The path used to check the health of your connection.  Defaults to `default`.
13097        '''
13098        self.healthy = healthy if healthy is not None else False
13099        '''
13100         True if the datasource is reachable and the credentials are valid.
13101        '''
13102        self.id = id if id is not None else ''
13103        '''
13104         Unique identifier of the Resource.
13105        '''
13106        self.name = name if name is not None else ''
13107        '''
13108         Unique human-readable name of the Resource.
13109        '''
13110        self.port_override = port_override if port_override is not None else 0
13111        '''
13112         The local port used by clients to connect to this resource.
13113        '''
13114        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13115        '''
13116         ID of the proxy cluster for this resource, if any.
13117        '''
13118        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13119        '''
13120         ID of the secret store containing credentials for this resource, if any.
13121        '''
13122        self.service_account_key = service_account_key if service_account_key is not None else ''
13123        '''
13124         The service account key to authenticate with.
13125        '''
13126        self.subdomain = subdomain if subdomain is not None else ''
13127        '''
13128         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13129        '''
13130        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13131        '''
13132         Tags is a map of key, value pairs.
13133        '''
13134
13135    def __repr__(self):
13136        return '<sdm.GoogleGKEUserImpersonation ' + \
13137            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13138            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13139            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13140            'endpoint: ' + repr(self.endpoint) + ' ' +\
13141            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13142            'healthy: ' + repr(self.healthy) + ' ' +\
13143            'id: ' + repr(self.id) + ' ' +\
13144            'name: ' + repr(self.name) + ' ' +\
13145            'port_override: ' + repr(self.port_override) + ' ' +\
13146            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13147            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13148            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13149            'subdomain: ' + repr(self.subdomain) + ' ' +\
13150            'tags: ' + repr(self.tags) + ' ' +\
13151            '>'
13152
13153    def to_dict(self):
13154        return {
13155            'bind_interface': self.bind_interface,
13156            'certificate_authority': self.certificate_authority,
13157            'egress_filter': self.egress_filter,
13158            'endpoint': self.endpoint,
13159            'healthcheck_namespace': self.healthcheck_namespace,
13160            'healthy': self.healthy,
13161            'id': self.id,
13162            'name': self.name,
13163            'port_override': self.port_override,
13164            'proxy_cluster_id': self.proxy_cluster_id,
13165            'secret_store_id': self.secret_store_id,
13166            'service_account_key': self.service_account_key,
13167            'subdomain': self.subdomain,
13168            'tags': self.tags,
13169        }
13170
13171    @classmethod
13172    def from_dict(cls, d):
13173        return cls(
13174            bind_interface=d.get('bind_interface'),
13175            certificate_authority=d.get('certificate_authority'),
13176            egress_filter=d.get('egress_filter'),
13177            endpoint=d.get('endpoint'),
13178            healthcheck_namespace=d.get('healthcheck_namespace'),
13179            healthy=d.get('healthy'),
13180            id=d.get('id'),
13181            name=d.get('name'),
13182            port_override=d.get('port_override'),
13183            proxy_cluster_id=d.get('proxy_cluster_id'),
13184            secret_store_id=d.get('secret_store_id'),
13185            service_account_key=d.get('service_account_key'),
13186            subdomain=d.get('subdomain'),
13187            tags=d.get('tags'),
13188        )
13189
13190
13191class Greenplum:
13192    __slots__ = [
13193        'bind_interface',
13194        'database',
13195        'egress_filter',
13196        'healthy',
13197        'hostname',
13198        'id',
13199        'name',
13200        'override_database',
13201        'password',
13202        'port',
13203        'port_override',
13204        'proxy_cluster_id',
13205        'secret_store_id',
13206        'subdomain',
13207        'tags',
13208        'username',
13209    ]
13210
13211    def __init__(
13212        self,
13213        bind_interface=None,
13214        database=None,
13215        egress_filter=None,
13216        healthy=None,
13217        hostname=None,
13218        id=None,
13219        name=None,
13220        override_database=None,
13221        password=None,
13222        port=None,
13223        port_override=None,
13224        proxy_cluster_id=None,
13225        secret_store_id=None,
13226        subdomain=None,
13227        tags=None,
13228        username=None,
13229    ):
13230        self.bind_interface = bind_interface if bind_interface is not None else ''
13231        '''
13232         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13233        '''
13234        self.database = database if database is not None else ''
13235        '''
13236         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
13237        '''
13238        self.egress_filter = egress_filter if egress_filter is not None else ''
13239        '''
13240         A filter applied to the routing logic to pin datasource to nodes.
13241        '''
13242        self.healthy = healthy if healthy is not None else False
13243        '''
13244         True if the datasource is reachable and the credentials are valid.
13245        '''
13246        self.hostname = hostname if hostname is not None else ''
13247        '''
13248         The host to dial to initiate a connection from the egress node to this resource.
13249        '''
13250        self.id = id if id is not None else ''
13251        '''
13252         Unique identifier of the Resource.
13253        '''
13254        self.name = name if name is not None else ''
13255        '''
13256         Unique human-readable name of the Resource.
13257        '''
13258        self.override_database = override_database if override_database is not None else False
13259        '''
13260         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.
13261        '''
13262        self.password = password if password is not None else ''
13263        '''
13264         The password to authenticate with.
13265        '''
13266        self.port = port if port is not None else 0
13267        '''
13268         The port to dial to initiate a connection from the egress node to this resource.
13269        '''
13270        self.port_override = port_override if port_override is not None else 0
13271        '''
13272         The local port used by clients to connect to this resource.
13273        '''
13274        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13275        '''
13276         ID of the proxy cluster for this resource, if any.
13277        '''
13278        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13279        '''
13280         ID of the secret store containing credentials for this resource, if any.
13281        '''
13282        self.subdomain = subdomain if subdomain is not None else ''
13283        '''
13284         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13285        '''
13286        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13287        '''
13288         Tags is a map of key, value pairs.
13289        '''
13290        self.username = username if username is not None else ''
13291        '''
13292         The username to authenticate with.
13293        '''
13294
13295    def __repr__(self):
13296        return '<sdm.Greenplum ' + \
13297            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13298            'database: ' + repr(self.database) + ' ' +\
13299            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13300            'healthy: ' + repr(self.healthy) + ' ' +\
13301            'hostname: ' + repr(self.hostname) + ' ' +\
13302            'id: ' + repr(self.id) + ' ' +\
13303            'name: ' + repr(self.name) + ' ' +\
13304            'override_database: ' + repr(self.override_database) + ' ' +\
13305            'password: ' + repr(self.password) + ' ' +\
13306            'port: ' + repr(self.port) + ' ' +\
13307            'port_override: ' + repr(self.port_override) + ' ' +\
13308            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13309            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13310            'subdomain: ' + repr(self.subdomain) + ' ' +\
13311            'tags: ' + repr(self.tags) + ' ' +\
13312            'username: ' + repr(self.username) + ' ' +\
13313            '>'
13314
13315    def to_dict(self):
13316        return {
13317            'bind_interface': self.bind_interface,
13318            'database': self.database,
13319            'egress_filter': self.egress_filter,
13320            'healthy': self.healthy,
13321            'hostname': self.hostname,
13322            'id': self.id,
13323            'name': self.name,
13324            'override_database': self.override_database,
13325            'password': self.password,
13326            'port': self.port,
13327            'port_override': self.port_override,
13328            'proxy_cluster_id': self.proxy_cluster_id,
13329            'secret_store_id': self.secret_store_id,
13330            'subdomain': self.subdomain,
13331            'tags': self.tags,
13332            'username': self.username,
13333        }
13334
13335    @classmethod
13336    def from_dict(cls, d):
13337        return cls(
13338            bind_interface=d.get('bind_interface'),
13339            database=d.get('database'),
13340            egress_filter=d.get('egress_filter'),
13341            healthy=d.get('healthy'),
13342            hostname=d.get('hostname'),
13343            id=d.get('id'),
13344            name=d.get('name'),
13345            override_database=d.get('override_database'),
13346            password=d.get('password'),
13347            port=d.get('port'),
13348            port_override=d.get('port_override'),
13349            proxy_cluster_id=d.get('proxy_cluster_id'),
13350            secret_store_id=d.get('secret_store_id'),
13351            subdomain=d.get('subdomain'),
13352            tags=d.get('tags'),
13353            username=d.get('username'),
13354        )
13355
13356
13357class HTTPAuth:
13358    __slots__ = [
13359        'auth_header',
13360        'bind_interface',
13361        'default_path',
13362        'egress_filter',
13363        'headers_blacklist',
13364        'healthcheck_path',
13365        'healthy',
13366        'host_override',
13367        'id',
13368        'name',
13369        'proxy_cluster_id',
13370        'secret_store_id',
13371        'subdomain',
13372        'tags',
13373        'url',
13374    ]
13375
13376    def __init__(
13377        self,
13378        auth_header=None,
13379        bind_interface=None,
13380        default_path=None,
13381        egress_filter=None,
13382        headers_blacklist=None,
13383        healthcheck_path=None,
13384        healthy=None,
13385        host_override=None,
13386        id=None,
13387        name=None,
13388        proxy_cluster_id=None,
13389        secret_store_id=None,
13390        subdomain=None,
13391        tags=None,
13392        url=None,
13393    ):
13394        self.auth_header = auth_header if auth_header is not None else ''
13395        '''
13396         The content to set as the authorization header.
13397        '''
13398        self.bind_interface = bind_interface if bind_interface is not None else ''
13399        '''
13400         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13401        '''
13402        self.default_path = default_path if default_path is not None else ''
13403        '''
13404         Automatically redirect to this path upon connecting.
13405        '''
13406        self.egress_filter = egress_filter if egress_filter is not None else ''
13407        '''
13408         A filter applied to the routing logic to pin datasource to nodes.
13409        '''
13410        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13411        '''
13412         Header names (e.g. Authorization), to omit from logs.
13413        '''
13414        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13415        '''
13416         This path will be used to check the health of your site.
13417        '''
13418        self.healthy = healthy if healthy is not None else False
13419        '''
13420         True if the datasource is reachable and the credentials are valid.
13421        '''
13422        self.host_override = host_override if host_override is not None else ''
13423        '''
13424         The host header will be overwritten with this field if provided.
13425        '''
13426        self.id = id if id is not None else ''
13427        '''
13428         Unique identifier of the Resource.
13429        '''
13430        self.name = name if name is not None else ''
13431        '''
13432         Unique human-readable name of the Resource.
13433        '''
13434        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13435        '''
13436         ID of the proxy cluster for this resource, if any.
13437        '''
13438        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13439        '''
13440         ID of the secret store containing credentials for this resource, if any.
13441        '''
13442        self.subdomain = subdomain if subdomain is not None else ''
13443        '''
13444         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13445        '''
13446        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13447        '''
13448         Tags is a map of key, value pairs.
13449        '''
13450        self.url = url if url is not None else ''
13451        '''
13452         The base address of your website without the path.
13453        '''
13454
13455    def __repr__(self):
13456        return '<sdm.HTTPAuth ' + \
13457            'auth_header: ' + repr(self.auth_header) + ' ' +\
13458            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13459            'default_path: ' + repr(self.default_path) + ' ' +\
13460            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13461            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13462            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13463            'healthy: ' + repr(self.healthy) + ' ' +\
13464            'host_override: ' + repr(self.host_override) + ' ' +\
13465            'id: ' + repr(self.id) + ' ' +\
13466            'name: ' + repr(self.name) + ' ' +\
13467            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13469            'subdomain: ' + repr(self.subdomain) + ' ' +\
13470            'tags: ' + repr(self.tags) + ' ' +\
13471            'url: ' + repr(self.url) + ' ' +\
13472            '>'
13473
13474    def to_dict(self):
13475        return {
13476            'auth_header': self.auth_header,
13477            'bind_interface': self.bind_interface,
13478            'default_path': self.default_path,
13479            'egress_filter': self.egress_filter,
13480            'headers_blacklist': self.headers_blacklist,
13481            'healthcheck_path': self.healthcheck_path,
13482            'healthy': self.healthy,
13483            'host_override': self.host_override,
13484            'id': self.id,
13485            'name': self.name,
13486            'proxy_cluster_id': self.proxy_cluster_id,
13487            'secret_store_id': self.secret_store_id,
13488            'subdomain': self.subdomain,
13489            'tags': self.tags,
13490            'url': self.url,
13491        }
13492
13493    @classmethod
13494    def from_dict(cls, d):
13495        return cls(
13496            auth_header=d.get('auth_header'),
13497            bind_interface=d.get('bind_interface'),
13498            default_path=d.get('default_path'),
13499            egress_filter=d.get('egress_filter'),
13500            headers_blacklist=d.get('headers_blacklist'),
13501            healthcheck_path=d.get('healthcheck_path'),
13502            healthy=d.get('healthy'),
13503            host_override=d.get('host_override'),
13504            id=d.get('id'),
13505            name=d.get('name'),
13506            proxy_cluster_id=d.get('proxy_cluster_id'),
13507            secret_store_id=d.get('secret_store_id'),
13508            subdomain=d.get('subdomain'),
13509            tags=d.get('tags'),
13510            url=d.get('url'),
13511        )
13512
13513
13514class HTTPBasicAuth:
13515    __slots__ = [
13516        'bind_interface',
13517        'default_path',
13518        'egress_filter',
13519        'headers_blacklist',
13520        'healthcheck_path',
13521        'healthy',
13522        'host_override',
13523        'id',
13524        'name',
13525        'password',
13526        'proxy_cluster_id',
13527        'secret_store_id',
13528        'subdomain',
13529        'tags',
13530        'url',
13531        'username',
13532    ]
13533
13534    def __init__(
13535        self,
13536        bind_interface=None,
13537        default_path=None,
13538        egress_filter=None,
13539        headers_blacklist=None,
13540        healthcheck_path=None,
13541        healthy=None,
13542        host_override=None,
13543        id=None,
13544        name=None,
13545        password=None,
13546        proxy_cluster_id=None,
13547        secret_store_id=None,
13548        subdomain=None,
13549        tags=None,
13550        url=None,
13551        username=None,
13552    ):
13553        self.bind_interface = bind_interface if bind_interface is not None else ''
13554        '''
13555         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13556        '''
13557        self.default_path = default_path if default_path is not None else ''
13558        '''
13559         Automatically redirect to this path upon connecting.
13560        '''
13561        self.egress_filter = egress_filter if egress_filter is not None else ''
13562        '''
13563         A filter applied to the routing logic to pin datasource to nodes.
13564        '''
13565        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13566        '''
13567         Header names (e.g. Authorization), to omit from logs.
13568        '''
13569        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13570        '''
13571         This path will be used to check the health of your site.
13572        '''
13573        self.healthy = healthy if healthy is not None else False
13574        '''
13575         True if the datasource is reachable and the credentials are valid.
13576        '''
13577        self.host_override = host_override if host_override is not None else ''
13578        '''
13579         The host header will be overwritten with this field if provided.
13580        '''
13581        self.id = id if id is not None else ''
13582        '''
13583         Unique identifier of the Resource.
13584        '''
13585        self.name = name if name is not None else ''
13586        '''
13587         Unique human-readable name of the Resource.
13588        '''
13589        self.password = password if password is not None else ''
13590        '''
13591         The password to authenticate with.
13592        '''
13593        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13594        '''
13595         ID of the proxy cluster for this resource, if any.
13596        '''
13597        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13598        '''
13599         ID of the secret store containing credentials for this resource, if any.
13600        '''
13601        self.subdomain = subdomain if subdomain is not None else ''
13602        '''
13603         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13604        '''
13605        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13606        '''
13607         Tags is a map of key, value pairs.
13608        '''
13609        self.url = url if url is not None else ''
13610        '''
13611         The base address of your website without the path.
13612        '''
13613        self.username = username if username is not None else ''
13614        '''
13615         The username to authenticate with.
13616        '''
13617
13618    def __repr__(self):
13619        return '<sdm.HTTPBasicAuth ' + \
13620            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13621            'default_path: ' + repr(self.default_path) + ' ' +\
13622            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13623            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13624            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13625            'healthy: ' + repr(self.healthy) + ' ' +\
13626            'host_override: ' + repr(self.host_override) + ' ' +\
13627            'id: ' + repr(self.id) + ' ' +\
13628            'name: ' + repr(self.name) + ' ' +\
13629            'password: ' + repr(self.password) + ' ' +\
13630            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13631            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13632            'subdomain: ' + repr(self.subdomain) + ' ' +\
13633            'tags: ' + repr(self.tags) + ' ' +\
13634            'url: ' + repr(self.url) + ' ' +\
13635            'username: ' + repr(self.username) + ' ' +\
13636            '>'
13637
13638    def to_dict(self):
13639        return {
13640            'bind_interface': self.bind_interface,
13641            'default_path': self.default_path,
13642            'egress_filter': self.egress_filter,
13643            'headers_blacklist': self.headers_blacklist,
13644            'healthcheck_path': self.healthcheck_path,
13645            'healthy': self.healthy,
13646            'host_override': self.host_override,
13647            'id': self.id,
13648            'name': self.name,
13649            'password': self.password,
13650            'proxy_cluster_id': self.proxy_cluster_id,
13651            'secret_store_id': self.secret_store_id,
13652            'subdomain': self.subdomain,
13653            'tags': self.tags,
13654            'url': self.url,
13655            'username': self.username,
13656        }
13657
13658    @classmethod
13659    def from_dict(cls, d):
13660        return cls(
13661            bind_interface=d.get('bind_interface'),
13662            default_path=d.get('default_path'),
13663            egress_filter=d.get('egress_filter'),
13664            headers_blacklist=d.get('headers_blacklist'),
13665            healthcheck_path=d.get('healthcheck_path'),
13666            healthy=d.get('healthy'),
13667            host_override=d.get('host_override'),
13668            id=d.get('id'),
13669            name=d.get('name'),
13670            password=d.get('password'),
13671            proxy_cluster_id=d.get('proxy_cluster_id'),
13672            secret_store_id=d.get('secret_store_id'),
13673            subdomain=d.get('subdomain'),
13674            tags=d.get('tags'),
13675            url=d.get('url'),
13676            username=d.get('username'),
13677        )
13678
13679
13680class HTTPNoAuth:
13681    __slots__ = [
13682        'bind_interface',
13683        'default_path',
13684        'egress_filter',
13685        'headers_blacklist',
13686        'healthcheck_path',
13687        'healthy',
13688        'host_override',
13689        'id',
13690        'name',
13691        'proxy_cluster_id',
13692        'secret_store_id',
13693        'subdomain',
13694        'tags',
13695        'url',
13696    ]
13697
13698    def __init__(
13699        self,
13700        bind_interface=None,
13701        default_path=None,
13702        egress_filter=None,
13703        headers_blacklist=None,
13704        healthcheck_path=None,
13705        healthy=None,
13706        host_override=None,
13707        id=None,
13708        name=None,
13709        proxy_cluster_id=None,
13710        secret_store_id=None,
13711        subdomain=None,
13712        tags=None,
13713        url=None,
13714    ):
13715        self.bind_interface = bind_interface if bind_interface is not None else ''
13716        '''
13717         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13718        '''
13719        self.default_path = default_path if default_path is not None else ''
13720        '''
13721         Automatically redirect to this path upon connecting.
13722        '''
13723        self.egress_filter = egress_filter if egress_filter is not None else ''
13724        '''
13725         A filter applied to the routing logic to pin datasource to nodes.
13726        '''
13727        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13728        '''
13729         Header names (e.g. Authorization), to omit from logs.
13730        '''
13731        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13732        '''
13733         This path will be used to check the health of your site.
13734        '''
13735        self.healthy = healthy if healthy is not None else False
13736        '''
13737         True if the datasource is reachable and the credentials are valid.
13738        '''
13739        self.host_override = host_override if host_override is not None else ''
13740        '''
13741         The host header will be overwritten with this field if provided.
13742        '''
13743        self.id = id if id is not None else ''
13744        '''
13745         Unique identifier of the Resource.
13746        '''
13747        self.name = name if name is not None else ''
13748        '''
13749         Unique human-readable name of the Resource.
13750        '''
13751        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13752        '''
13753         ID of the proxy cluster for this resource, if any.
13754        '''
13755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13756        '''
13757         ID of the secret store containing credentials for this resource, if any.
13758        '''
13759        self.subdomain = subdomain if subdomain is not None else ''
13760        '''
13761         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13762        '''
13763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13764        '''
13765         Tags is a map of key, value pairs.
13766        '''
13767        self.url = url if url is not None else ''
13768        '''
13769         The base address of your website without the path.
13770        '''
13771
13772    def __repr__(self):
13773        return '<sdm.HTTPNoAuth ' + \
13774            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13775            'default_path: ' + repr(self.default_path) + ' ' +\
13776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13777            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13778            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13779            'healthy: ' + repr(self.healthy) + ' ' +\
13780            'host_override: ' + repr(self.host_override) + ' ' +\
13781            'id: ' + repr(self.id) + ' ' +\
13782            'name: ' + repr(self.name) + ' ' +\
13783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13784            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13785            'subdomain: ' + repr(self.subdomain) + ' ' +\
13786            'tags: ' + repr(self.tags) + ' ' +\
13787            'url: ' + repr(self.url) + ' ' +\
13788            '>'
13789
13790    def to_dict(self):
13791        return {
13792            'bind_interface': self.bind_interface,
13793            'default_path': self.default_path,
13794            'egress_filter': self.egress_filter,
13795            'headers_blacklist': self.headers_blacklist,
13796            'healthcheck_path': self.healthcheck_path,
13797            'healthy': self.healthy,
13798            'host_override': self.host_override,
13799            'id': self.id,
13800            'name': self.name,
13801            'proxy_cluster_id': self.proxy_cluster_id,
13802            'secret_store_id': self.secret_store_id,
13803            'subdomain': self.subdomain,
13804            'tags': self.tags,
13805            'url': self.url,
13806        }
13807
13808    @classmethod
13809    def from_dict(cls, d):
13810        return cls(
13811            bind_interface=d.get('bind_interface'),
13812            default_path=d.get('default_path'),
13813            egress_filter=d.get('egress_filter'),
13814            headers_blacklist=d.get('headers_blacklist'),
13815            healthcheck_path=d.get('healthcheck_path'),
13816            healthy=d.get('healthy'),
13817            host_override=d.get('host_override'),
13818            id=d.get('id'),
13819            name=d.get('name'),
13820            proxy_cluster_id=d.get('proxy_cluster_id'),
13821            secret_store_id=d.get('secret_store_id'),
13822            subdomain=d.get('subdomain'),
13823            tags=d.get('tags'),
13824            url=d.get('url'),
13825        )
13826
13827
13828class Healthcheck:
13829    '''
13830         Healthcheck defines the status of the link between a node and a resource
13831    '''
13832    __slots__ = [
13833        'error_msg',
13834        'healthy',
13835        'id',
13836        'node_id',
13837        'node_name',
13838        'resource_id',
13839        'resource_name',
13840        'timestamp',
13841    ]
13842
13843    def __init__(
13844        self,
13845        error_msg=None,
13846        healthy=None,
13847        id=None,
13848        node_id=None,
13849        node_name=None,
13850        resource_id=None,
13851        resource_name=None,
13852        timestamp=None,
13853    ):
13854        self.error_msg = error_msg if error_msg is not None else ''
13855        '''
13856         The error if unhealthy
13857        '''
13858        self.healthy = healthy if healthy is not None else False
13859        '''
13860         Whether the healthcheck succeeded.
13861        '''
13862        self.id = id if id is not None else ''
13863        '''
13864         Unique identifier of the healthcheck.
13865        '''
13866        self.node_id = node_id if node_id is not None else ''
13867        '''
13868         Unique identifier of the healthcheck node.
13869        '''
13870        self.node_name = node_name if node_name is not None else ''
13871        '''
13872         The name of the node.
13873        '''
13874        self.resource_id = resource_id if resource_id is not None else ''
13875        '''
13876         Unique identifier of the healthcheck resource.
13877        '''
13878        self.resource_name = resource_name if resource_name is not None else ''
13879        '''
13880         The name of the resource.
13881        '''
13882        self.timestamp = timestamp if timestamp is not None else None
13883        '''
13884         The time at which the healthcheck state was recorded.
13885        '''
13886
13887    def __repr__(self):
13888        return '<sdm.Healthcheck ' + \
13889            'error_msg: ' + repr(self.error_msg) + ' ' +\
13890            'healthy: ' + repr(self.healthy) + ' ' +\
13891            'id: ' + repr(self.id) + ' ' +\
13892            'node_id: ' + repr(self.node_id) + ' ' +\
13893            'node_name: ' + repr(self.node_name) + ' ' +\
13894            'resource_id: ' + repr(self.resource_id) + ' ' +\
13895            'resource_name: ' + repr(self.resource_name) + ' ' +\
13896            'timestamp: ' + repr(self.timestamp) + ' ' +\
13897            '>'
13898
13899    def to_dict(self):
13900        return {
13901            'error_msg': self.error_msg,
13902            'healthy': self.healthy,
13903            'id': self.id,
13904            'node_id': self.node_id,
13905            'node_name': self.node_name,
13906            'resource_id': self.resource_id,
13907            'resource_name': self.resource_name,
13908            'timestamp': self.timestamp,
13909        }
13910
13911    @classmethod
13912    def from_dict(cls, d):
13913        return cls(
13914            error_msg=d.get('error_msg'),
13915            healthy=d.get('healthy'),
13916            id=d.get('id'),
13917            node_id=d.get('node_id'),
13918            node_name=d.get('node_name'),
13919            resource_id=d.get('resource_id'),
13920            resource_name=d.get('resource_name'),
13921            timestamp=d.get('timestamp'),
13922        )
13923
13924
13925class HealthcheckListResponse:
13926    '''
13927         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13928     HealthcheckListRequest.
13929    '''
13930    __slots__ = [
13931        'rate_limit',
13932    ]
13933
13934    def __init__(
13935        self,
13936        rate_limit=None,
13937    ):
13938        self.rate_limit = rate_limit if rate_limit is not None else None
13939        '''
13940         Rate limit information.
13941        '''
13942
13943    def __repr__(self):
13944        return '<sdm.HealthcheckListResponse ' + \
13945            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13946            '>'
13947
13948    def to_dict(self):
13949        return {
13950            'rate_limit': self.rate_limit,
13951        }
13952
13953    @classmethod
13954    def from_dict(cls, d):
13955        return cls(rate_limit=d.get('rate_limit'), )
13956
13957
13958class HealthcheckRequest:
13959    __slots__ = [
13960        'secret_engine_id',
13961    ]
13962
13963    def __init__(
13964        self,
13965        secret_engine_id=None,
13966    ):
13967        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13968        '''
13969         required
13970        '''
13971
13972    def __repr__(self):
13973        return '<sdm.HealthcheckRequest ' + \
13974            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13975            '>'
13976
13977    def to_dict(self):
13978        return {
13979            'secret_engine_id': self.secret_engine_id,
13980        }
13981
13982    @classmethod
13983    def from_dict(cls, d):
13984        return cls(secret_engine_id=d.get('secret_engine_id'), )
13985
13986
13987class HealthcheckResponse:
13988    __slots__ = [
13989        'rate_limit',
13990        'status',
13991    ]
13992
13993    def __init__(
13994        self,
13995        rate_limit=None,
13996        status=None,
13997    ):
13998        self.rate_limit = rate_limit if rate_limit is not None else None
13999        '''
14000         Rate limit information.
14001        '''
14002        self.status = status if status is not None else []
14003        '''
14004         Array of statuses of all nodes serving a secret engine
14005        '''
14006
14007    def __repr__(self):
14008        return '<sdm.HealthcheckResponse ' + \
14009            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14010            'status: ' + repr(self.status) + ' ' +\
14011            '>'
14012
14013    def to_dict(self):
14014        return {
14015            'rate_limit': self.rate_limit,
14016            'status': self.status,
14017        }
14018
14019    @classmethod
14020    def from_dict(cls, d):
14021        return cls(
14022            rate_limit=d.get('rate_limit'),
14023            status=d.get('status'),
14024        )
14025
14026
14027class HealthcheckStatus:
14028    '''
14029         HealthcheckStatus contains status of a node health
14030    '''
14031    __slots__ = [
14032        'node_id',
14033        'status',
14034    ]
14035
14036    def __init__(
14037        self,
14038        node_id=None,
14039        status=None,
14040    ):
14041        self.node_id = node_id if node_id is not None else ''
14042        '''
14043         ID of node
14044        '''
14045        self.status = status if status is not None else ''
14046        '''
14047         Status of node's health
14048        '''
14049
14050    def __repr__(self):
14051        return '<sdm.HealthcheckStatus ' + \
14052            'node_id: ' + repr(self.node_id) + ' ' +\
14053            'status: ' + repr(self.status) + ' ' +\
14054            '>'
14055
14056    def to_dict(self):
14057        return {
14058            'node_id': self.node_id,
14059            'status': self.status,
14060        }
14061
14062    @classmethod
14063    def from_dict(cls, d):
14064        return cls(
14065            node_id=d.get('node_id'),
14066            status=d.get('status'),
14067        )
14068
14069
14070class IdentityAlias:
14071    '''
14072         IdentityAliases define the username to be used for a specific account
14073     when connecting to a remote resource using that identity set.
14074    '''
14075    __slots__ = [
14076        'account_id',
14077        'id',
14078        'identity_set_id',
14079        'username',
14080    ]
14081
14082    def __init__(
14083        self,
14084        account_id=None,
14085        id=None,
14086        identity_set_id=None,
14087        username=None,
14088    ):
14089        self.account_id = account_id if account_id is not None else ''
14090        '''
14091         The account for this identity alias.
14092        '''
14093        self.id = id if id is not None else ''
14094        '''
14095         Unique identifier of the IdentityAlias.
14096        '''
14097        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14098        '''
14099         The identity set.
14100        '''
14101        self.username = username if username is not None else ''
14102        '''
14103         The username to be used as the identity alias for this account.
14104        '''
14105
14106    def __repr__(self):
14107        return '<sdm.IdentityAlias ' + \
14108            'account_id: ' + repr(self.account_id) + ' ' +\
14109            'id: ' + repr(self.id) + ' ' +\
14110            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14111            'username: ' + repr(self.username) + ' ' +\
14112            '>'
14113
14114    def to_dict(self):
14115        return {
14116            'account_id': self.account_id,
14117            'id': self.id,
14118            'identity_set_id': self.identity_set_id,
14119            'username': self.username,
14120        }
14121
14122    @classmethod
14123    def from_dict(cls, d):
14124        return cls(
14125            account_id=d.get('account_id'),
14126            id=d.get('id'),
14127            identity_set_id=d.get('identity_set_id'),
14128            username=d.get('username'),
14129        )
14130
14131
14132class IdentityAliasCreateResponse:
14133    '''
14134         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14135    '''
14136    __slots__ = [
14137        'identity_alias',
14138        'meta',
14139        'rate_limit',
14140    ]
14141
14142    def __init__(
14143        self,
14144        identity_alias=None,
14145        meta=None,
14146        rate_limit=None,
14147    ):
14148        self.identity_alias = identity_alias if identity_alias is not None else None
14149        '''
14150         The created IdentityAlias.
14151        '''
14152        self.meta = meta if meta is not None else None
14153        '''
14154         Reserved for future use.
14155        '''
14156        self.rate_limit = rate_limit if rate_limit is not None else None
14157        '''
14158         Rate limit information.
14159        '''
14160
14161    def __repr__(self):
14162        return '<sdm.IdentityAliasCreateResponse ' + \
14163            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14164            'meta: ' + repr(self.meta) + ' ' +\
14165            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14166            '>'
14167
14168    def to_dict(self):
14169        return {
14170            'identity_alias': self.identity_alias,
14171            'meta': self.meta,
14172            'rate_limit': self.rate_limit,
14173        }
14174
14175    @classmethod
14176    def from_dict(cls, d):
14177        return cls(
14178            identity_alias=d.get('identity_alias'),
14179            meta=d.get('meta'),
14180            rate_limit=d.get('rate_limit'),
14181        )
14182
14183
14184class IdentityAliasDeleteResponse:
14185    '''
14186         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14187    '''
14188    __slots__ = [
14189        'meta',
14190        'rate_limit',
14191    ]
14192
14193    def __init__(
14194        self,
14195        meta=None,
14196        rate_limit=None,
14197    ):
14198        self.meta = meta if meta is not None else None
14199        '''
14200         Reserved for future use.
14201        '''
14202        self.rate_limit = rate_limit if rate_limit is not None else None
14203        '''
14204         Rate limit information.
14205        '''
14206
14207    def __repr__(self):
14208        return '<sdm.IdentityAliasDeleteResponse ' + \
14209            'meta: ' + repr(self.meta) + ' ' +\
14210            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14211            '>'
14212
14213    def to_dict(self):
14214        return {
14215            'meta': self.meta,
14216            'rate_limit': self.rate_limit,
14217        }
14218
14219    @classmethod
14220    def from_dict(cls, d):
14221        return cls(
14222            meta=d.get('meta'),
14223            rate_limit=d.get('rate_limit'),
14224        )
14225
14226
14227class IdentityAliasGetResponse:
14228    '''
14229         IdentityAliasGetResponse returns a requested IdentityAlias.
14230    '''
14231    __slots__ = [
14232        'identity_alias',
14233        'meta',
14234        'rate_limit',
14235    ]
14236
14237    def __init__(
14238        self,
14239        identity_alias=None,
14240        meta=None,
14241        rate_limit=None,
14242    ):
14243        self.identity_alias = identity_alias if identity_alias is not None else None
14244        '''
14245         The requested IdentityAlias.
14246        '''
14247        self.meta = meta if meta is not None else None
14248        '''
14249         Reserved for future use.
14250        '''
14251        self.rate_limit = rate_limit if rate_limit is not None else None
14252        '''
14253         Rate limit information.
14254        '''
14255
14256    def __repr__(self):
14257        return '<sdm.IdentityAliasGetResponse ' + \
14258            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14259            'meta: ' + repr(self.meta) + ' ' +\
14260            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14261            '>'
14262
14263    def to_dict(self):
14264        return {
14265            'identity_alias': self.identity_alias,
14266            'meta': self.meta,
14267            'rate_limit': self.rate_limit,
14268        }
14269
14270    @classmethod
14271    def from_dict(cls, d):
14272        return cls(
14273            identity_alias=d.get('identity_alias'),
14274            meta=d.get('meta'),
14275            rate_limit=d.get('rate_limit'),
14276        )
14277
14278
14279class IdentityAliasHistory:
14280    '''
14281         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14282     where every change (create, update and delete) to a IdentityAlias produces an
14283     IdentityAliasHistory record.
14284    '''
14285    __slots__ = [
14286        'activity_id',
14287        'deleted_at',
14288        'identity_alias',
14289        'timestamp',
14290    ]
14291
14292    def __init__(
14293        self,
14294        activity_id=None,
14295        deleted_at=None,
14296        identity_alias=None,
14297        timestamp=None,
14298    ):
14299        self.activity_id = activity_id if activity_id is not None else ''
14300        '''
14301         The unique identifier of the Activity that produced this change to the IdentityAlias.
14302         May be empty for some system-initiated updates.
14303        '''
14304        self.deleted_at = deleted_at if deleted_at is not None else None
14305        '''
14306         If this IdentityAlias was deleted, the time it was deleted.
14307        '''
14308        self.identity_alias = identity_alias if identity_alias is not None else None
14309        '''
14310         The complete IdentityAlias state at this time.
14311        '''
14312        self.timestamp = timestamp if timestamp is not None else None
14313        '''
14314         The time at which the IdentityAlias state was recorded.
14315        '''
14316
14317    def __repr__(self):
14318        return '<sdm.IdentityAliasHistory ' + \
14319            'activity_id: ' + repr(self.activity_id) + ' ' +\
14320            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14321            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14322            'timestamp: ' + repr(self.timestamp) + ' ' +\
14323            '>'
14324
14325    def to_dict(self):
14326        return {
14327            'activity_id': self.activity_id,
14328            'deleted_at': self.deleted_at,
14329            'identity_alias': self.identity_alias,
14330            'timestamp': self.timestamp,
14331        }
14332
14333    @classmethod
14334    def from_dict(cls, d):
14335        return cls(
14336            activity_id=d.get('activity_id'),
14337            deleted_at=d.get('deleted_at'),
14338            identity_alias=d.get('identity_alias'),
14339            timestamp=d.get('timestamp'),
14340        )
14341
14342
14343class IdentityAliasUpdateResponse:
14344    '''
14345         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14346     a IdentityAliasUpdateRequest.
14347    '''
14348    __slots__ = [
14349        'identity_alias',
14350        'meta',
14351        'rate_limit',
14352    ]
14353
14354    def __init__(
14355        self,
14356        identity_alias=None,
14357        meta=None,
14358        rate_limit=None,
14359    ):
14360        self.identity_alias = identity_alias if identity_alias is not None else None
14361        '''
14362         The updated IdentityAlias.
14363        '''
14364        self.meta = meta if meta is not None else None
14365        '''
14366         Reserved for future use.
14367        '''
14368        self.rate_limit = rate_limit if rate_limit is not None else None
14369        '''
14370         Rate limit information.
14371        '''
14372
14373    def __repr__(self):
14374        return '<sdm.IdentityAliasUpdateResponse ' + \
14375            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14376            'meta: ' + repr(self.meta) + ' ' +\
14377            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14378            '>'
14379
14380    def to_dict(self):
14381        return {
14382            'identity_alias': self.identity_alias,
14383            'meta': self.meta,
14384            'rate_limit': self.rate_limit,
14385        }
14386
14387    @classmethod
14388    def from_dict(cls, d):
14389        return cls(
14390            identity_alias=d.get('identity_alias'),
14391            meta=d.get('meta'),
14392            rate_limit=d.get('rate_limit'),
14393        )
14394
14395
14396class IdentitySet:
14397    '''
14398         A IdentitySet defines a group of identity aliases.
14399    '''
14400    __slots__ = [
14401        'id',
14402        'name',
14403    ]
14404
14405    def __init__(
14406        self,
14407        id=None,
14408        name=None,
14409    ):
14410        self.id = id if id is not None else ''
14411        '''
14412         Unique identifier of the IdentitySet.
14413        '''
14414        self.name = name if name is not None else ''
14415        '''
14416         Unique human-readable name of the IdentitySet.
14417        '''
14418
14419    def __repr__(self):
14420        return '<sdm.IdentitySet ' + \
14421            'id: ' + repr(self.id) + ' ' +\
14422            'name: ' + repr(self.name) + ' ' +\
14423            '>'
14424
14425    def to_dict(self):
14426        return {
14427            'id': self.id,
14428            'name': self.name,
14429        }
14430
14431    @classmethod
14432    def from_dict(cls, d):
14433        return cls(
14434            id=d.get('id'),
14435            name=d.get('name'),
14436        )
14437
14438
14439class IdentitySetCreateResponse:
14440    '''
14441         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14442     communicate partial successes or failures.
14443    '''
14444    __slots__ = [
14445        'identity_set',
14446        'meta',
14447        'rate_limit',
14448    ]
14449
14450    def __init__(
14451        self,
14452        identity_set=None,
14453        meta=None,
14454        rate_limit=None,
14455    ):
14456        self.identity_set = identity_set if identity_set is not None else None
14457        '''
14458         The created IdentitySet.
14459        '''
14460        self.meta = meta if meta is not None else None
14461        '''
14462         Reserved for future use.
14463        '''
14464        self.rate_limit = rate_limit if rate_limit is not None else None
14465        '''
14466         Rate limit information.
14467        '''
14468
14469    def __repr__(self):
14470        return '<sdm.IdentitySetCreateResponse ' + \
14471            'identity_set: ' + repr(self.identity_set) + ' ' +\
14472            'meta: ' + repr(self.meta) + ' ' +\
14473            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14474            '>'
14475
14476    def to_dict(self):
14477        return {
14478            'identity_set': self.identity_set,
14479            'meta': self.meta,
14480            'rate_limit': self.rate_limit,
14481        }
14482
14483    @classmethod
14484    def from_dict(cls, d):
14485        return cls(
14486            identity_set=d.get('identity_set'),
14487            meta=d.get('meta'),
14488            rate_limit=d.get('rate_limit'),
14489        )
14490
14491
14492class IdentitySetDeleteResponse:
14493    '''
14494         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14495    '''
14496    __slots__ = [
14497        'meta',
14498        'rate_limit',
14499    ]
14500
14501    def __init__(
14502        self,
14503        meta=None,
14504        rate_limit=None,
14505    ):
14506        self.meta = meta if meta is not None else None
14507        '''
14508         Reserved for future use.
14509        '''
14510        self.rate_limit = rate_limit if rate_limit is not None else None
14511        '''
14512         Rate limit information.
14513        '''
14514
14515    def __repr__(self):
14516        return '<sdm.IdentitySetDeleteResponse ' + \
14517            'meta: ' + repr(self.meta) + ' ' +\
14518            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14519            '>'
14520
14521    def to_dict(self):
14522        return {
14523            'meta': self.meta,
14524            'rate_limit': self.rate_limit,
14525        }
14526
14527    @classmethod
14528    def from_dict(cls, d):
14529        return cls(
14530            meta=d.get('meta'),
14531            rate_limit=d.get('rate_limit'),
14532        )
14533
14534
14535class IdentitySetGetResponse:
14536    '''
14537         IdentitySetGetResponse returns a requested IdentitySet.
14538    '''
14539    __slots__ = [
14540        'identity_set',
14541        'meta',
14542        'rate_limit',
14543    ]
14544
14545    def __init__(
14546        self,
14547        identity_set=None,
14548        meta=None,
14549        rate_limit=None,
14550    ):
14551        self.identity_set = identity_set if identity_set is not None else None
14552        '''
14553         The requested IdentitySet.
14554        '''
14555        self.meta = meta if meta is not None else None
14556        '''
14557         Reserved for future use.
14558        '''
14559        self.rate_limit = rate_limit if rate_limit is not None else None
14560        '''
14561         Rate limit information.
14562        '''
14563
14564    def __repr__(self):
14565        return '<sdm.IdentitySetGetResponse ' + \
14566            'identity_set: ' + repr(self.identity_set) + ' ' +\
14567            'meta: ' + repr(self.meta) + ' ' +\
14568            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14569            '>'
14570
14571    def to_dict(self):
14572        return {
14573            'identity_set': self.identity_set,
14574            'meta': self.meta,
14575            'rate_limit': self.rate_limit,
14576        }
14577
14578    @classmethod
14579    def from_dict(cls, d):
14580        return cls(
14581            identity_set=d.get('identity_set'),
14582            meta=d.get('meta'),
14583            rate_limit=d.get('rate_limit'),
14584        )
14585
14586
14587class IdentitySetHistory:
14588    '''
14589         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14590     where every change (create, update and delete) to a IdentitySet produces an
14591     IdentitySetHistory record.
14592    '''
14593    __slots__ = [
14594        'activity_id',
14595        'deleted_at',
14596        'identity_set',
14597        'timestamp',
14598    ]
14599
14600    def __init__(
14601        self,
14602        activity_id=None,
14603        deleted_at=None,
14604        identity_set=None,
14605        timestamp=None,
14606    ):
14607        self.activity_id = activity_id if activity_id is not None else ''
14608        '''
14609         The unique identifier of the Activity that produced this change to the IdentitySet.
14610         May be empty for some system-initiated updates.
14611        '''
14612        self.deleted_at = deleted_at if deleted_at is not None else None
14613        '''
14614         If this IdentitySet was deleted, the time it was deleted.
14615        '''
14616        self.identity_set = identity_set if identity_set is not None else None
14617        '''
14618         The complete IdentitySet state at this time.
14619        '''
14620        self.timestamp = timestamp if timestamp is not None else None
14621        '''
14622         The time at which the IdentitySet state was recorded.
14623        '''
14624
14625    def __repr__(self):
14626        return '<sdm.IdentitySetHistory ' + \
14627            'activity_id: ' + repr(self.activity_id) + ' ' +\
14628            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14629            'identity_set: ' + repr(self.identity_set) + ' ' +\
14630            'timestamp: ' + repr(self.timestamp) + ' ' +\
14631            '>'
14632
14633    def to_dict(self):
14634        return {
14635            'activity_id': self.activity_id,
14636            'deleted_at': self.deleted_at,
14637            'identity_set': self.identity_set,
14638            'timestamp': self.timestamp,
14639        }
14640
14641    @classmethod
14642    def from_dict(cls, d):
14643        return cls(
14644            activity_id=d.get('activity_id'),
14645            deleted_at=d.get('deleted_at'),
14646            identity_set=d.get('identity_set'),
14647            timestamp=d.get('timestamp'),
14648        )
14649
14650
14651class IdentitySetUpdateResponse:
14652    '''
14653         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14654     a IdentitySetUpdateRequest.
14655    '''
14656    __slots__ = [
14657        'identity_set',
14658        'meta',
14659        'rate_limit',
14660    ]
14661
14662    def __init__(
14663        self,
14664        identity_set=None,
14665        meta=None,
14666        rate_limit=None,
14667    ):
14668        self.identity_set = identity_set if identity_set is not None else None
14669        '''
14670         The updated IdentitySet.
14671        '''
14672        self.meta = meta if meta is not None else None
14673        '''
14674         Reserved for future use.
14675        '''
14676        self.rate_limit = rate_limit if rate_limit is not None else None
14677        '''
14678         Rate limit information.
14679        '''
14680
14681    def __repr__(self):
14682        return '<sdm.IdentitySetUpdateResponse ' + \
14683            'identity_set: ' + repr(self.identity_set) + ' ' +\
14684            'meta: ' + repr(self.meta) + ' ' +\
14685            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14686            '>'
14687
14688    def to_dict(self):
14689        return {
14690            'identity_set': self.identity_set,
14691            'meta': self.meta,
14692            'rate_limit': self.rate_limit,
14693        }
14694
14695    @classmethod
14696    def from_dict(cls, d):
14697        return cls(
14698            identity_set=d.get('identity_set'),
14699            meta=d.get('meta'),
14700            rate_limit=d.get('rate_limit'),
14701        )
14702
14703
14704class KeyValueEngine:
14705    '''
14706    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14707    without a major version bump.
14708    '''
14709    __slots__ = [
14710        'id',
14711        'key_rotation_interval_days',
14712        'name',
14713        'public_key',
14714        'secret_store_id',
14715        'secret_store_root_path',
14716        'tags',
14717    ]
14718
14719    def __init__(
14720        self,
14721        id=None,
14722        key_rotation_interval_days=None,
14723        name=None,
14724        public_key=None,
14725        secret_store_id=None,
14726        secret_store_root_path=None,
14727        tags=None,
14728    ):
14729        self.id = id if id is not None else ''
14730        '''
14731         Unique identifier of the Secret Engine.
14732        '''
14733        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14734        '''
14735         An interval of public/private key rotation for secret engine in days
14736        '''
14737        self.name = name if name is not None else ''
14738        '''
14739         Unique human-readable name of the Secret Engine.
14740        '''
14741        self.public_key = public_key if public_key is not None else b''
14742        '''
14743         Public key linked with a secret engine
14744        '''
14745        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14746        '''
14747         Backing secret store identifier
14748        '''
14749        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14750        '''
14751         Backing Secret Store root path where managed secrets are going to be stored
14752        '''
14753        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14754        '''
14755         Tags is a map of key, value pairs.
14756        '''
14757
14758    def __repr__(self):
14759        return '<sdm.KeyValueEngine ' + \
14760            'id: ' + repr(self.id) + ' ' +\
14761            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14762            'name: ' + repr(self.name) + ' ' +\
14763            'public_key: ' + repr(self.public_key) + ' ' +\
14764            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14765            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14766            'tags: ' + repr(self.tags) + ' ' +\
14767            '>'
14768
14769    def to_dict(self):
14770        return {
14771            'id': self.id,
14772            'key_rotation_interval_days': self.key_rotation_interval_days,
14773            'name': self.name,
14774            'public_key': self.public_key,
14775            'secret_store_id': self.secret_store_id,
14776            'secret_store_root_path': self.secret_store_root_path,
14777            'tags': self.tags,
14778        }
14779
14780    @classmethod
14781    def from_dict(cls, d):
14782        return cls(
14783            id=d.get('id'),
14784            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14785            name=d.get('name'),
14786            public_key=d.get('public_key'),
14787            secret_store_id=d.get('secret_store_id'),
14788            secret_store_root_path=d.get('secret_store_root_path'),
14789            tags=d.get('tags'),
14790        )
14791
14792
14793class KeyfactorSSHStore:
14794    __slots__ = [
14795        'ca_file_path',
14796        'certificate_file_path',
14797        'default_certificate_authority_name',
14798        'default_certificate_profile_name',
14799        'default_end_entity_profile_name',
14800        'enrollment_code_env_var',
14801        'enrollment_username_env_var',
14802        'id',
14803        'key_file_path',
14804        'name',
14805        'server_address',
14806        'tags',
14807    ]
14808
14809    def __init__(
14810        self,
14811        ca_file_path=None,
14812        certificate_file_path=None,
14813        default_certificate_authority_name=None,
14814        default_certificate_profile_name=None,
14815        default_end_entity_profile_name=None,
14816        enrollment_code_env_var=None,
14817        enrollment_username_env_var=None,
14818        id=None,
14819        key_file_path=None,
14820        name=None,
14821        server_address=None,
14822        tags=None,
14823    ):
14824        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14825        '''
14826         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14827         This is not required if the CA is trusted by the host operating system. This should be a PEM
14828         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14829        '''
14830        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14831        '''
14832         Path to client certificate in PEM format. This certificate must contain a client certificate that
14833         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14834         key associated with the certificate, but KeyFile can also be set to configure the private key.
14835        '''
14836        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14837        '''
14838         Name of EJBCA certificate authority that will enroll CSR.
14839        '''
14840        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14841        '''
14842         Certificate profile name that EJBCA will enroll the CSR with.
14843        '''
14844        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14845        '''
14846         End entity profile that EJBCA will enroll the CSR with.
14847        '''
14848        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14849        '''
14850         code used by EJBCA during enrollment. May be left blank if no code is required.
14851        '''
14852        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14853        '''
14854         username that used by the EJBCA during enrollment. This can be left out. 
14855         If so, the username must be auto-generated on the Keyfactor side.
14856        '''
14857        self.id = id if id is not None else ''
14858        '''
14859         Unique identifier of the SecretStore.
14860        '''
14861        self.key_file_path = key_file_path if key_file_path is not None else ''
14862        '''
14863         Path to private key in PEM format. This file should contain the private key associated with the
14864         client certificate configured in CertificateFile.
14865        '''
14866        self.name = name if name is not None else ''
14867        '''
14868         Unique human-readable name of the SecretStore.
14869        '''
14870        self.server_address = server_address if server_address is not None else ''
14871        '''
14872         the host of the Key Factor CA
14873        '''
14874        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14875        '''
14876         Tags is a map of key, value pairs.
14877        '''
14878
14879    def __repr__(self):
14880        return '<sdm.KeyfactorSSHStore ' + \
14881            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
14882            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
14883            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
14884            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
14885            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
14886            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
14887            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
14888            'id: ' + repr(self.id) + ' ' +\
14889            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
14890            'name: ' + repr(self.name) + ' ' +\
14891            'server_address: ' + repr(self.server_address) + ' ' +\
14892            'tags: ' + repr(self.tags) + ' ' +\
14893            '>'
14894
14895    def to_dict(self):
14896        return {
14897            'ca_file_path': self.ca_file_path,
14898            'certificate_file_path': self.certificate_file_path,
14899            'default_certificate_authority_name':
14900            self.default_certificate_authority_name,
14901            'default_certificate_profile_name':
14902            self.default_certificate_profile_name,
14903            'default_end_entity_profile_name':
14904            self.default_end_entity_profile_name,
14905            'enrollment_code_env_var': self.enrollment_code_env_var,
14906            'enrollment_username_env_var': self.enrollment_username_env_var,
14907            'id': self.id,
14908            'key_file_path': self.key_file_path,
14909            'name': self.name,
14910            'server_address': self.server_address,
14911            'tags': self.tags,
14912        }
14913
14914    @classmethod
14915    def from_dict(cls, d):
14916        return cls(
14917            ca_file_path=d.get('ca_file_path'),
14918            certificate_file_path=d.get('certificate_file_path'),
14919            default_certificate_authority_name=d.get(
14920                'default_certificate_authority_name'),
14921            default_certificate_profile_name=d.get(
14922                'default_certificate_profile_name'),
14923            default_end_entity_profile_name=d.get(
14924                'default_end_entity_profile_name'),
14925            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14926            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14927            id=d.get('id'),
14928            key_file_path=d.get('key_file_path'),
14929            name=d.get('name'),
14930            server_address=d.get('server_address'),
14931            tags=d.get('tags'),
14932        )
14933
14934
14935class KeyfactorX509Store:
14936    __slots__ = [
14937        'ca_file_path',
14938        'certificate_file_path',
14939        'default_certificate_authority_name',
14940        'default_certificate_profile_name',
14941        'default_end_entity_profile_name',
14942        'enrollment_code_env_var',
14943        'enrollment_username_env_var',
14944        'id',
14945        'key_file_path',
14946        'name',
14947        'server_address',
14948        'tags',
14949    ]
14950
14951    def __init__(
14952        self,
14953        ca_file_path=None,
14954        certificate_file_path=None,
14955        default_certificate_authority_name=None,
14956        default_certificate_profile_name=None,
14957        default_end_entity_profile_name=None,
14958        enrollment_code_env_var=None,
14959        enrollment_username_env_var=None,
14960        id=None,
14961        key_file_path=None,
14962        name=None,
14963        server_address=None,
14964        tags=None,
14965    ):
14966        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14967        '''
14968         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14969         This is not required if the CA is trusted by the host operating system. This should be a PEM
14970         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14971        '''
14972        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14973        '''
14974         Path to client certificate in PEM format. This certificate must contain a client certificate that
14975         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14976         key associated with the certificate, but KeyFile can also be set to configure the private key.
14977        '''
14978        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14979        '''
14980         Name of EJBCA certificate authority that will enroll CSR.
14981        '''
14982        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14983        '''
14984         Certificate profile name that EJBCA will enroll the CSR with.
14985        '''
14986        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14987        '''
14988         End entity profile that EJBCA will enroll the CSR with.
14989        '''
14990        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14991        '''
14992         code used by EJBCA during enrollment. May be left blank if no code is required.
14993        '''
14994        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14995        '''
14996         username that used by the EJBCA during enrollment. This can be left out. 
14997         If so, the username must be auto-generated on the Keyfactor side.
14998        '''
14999        self.id = id if id is not None else ''
15000        '''
15001         Unique identifier of the SecretStore.
15002        '''
15003        self.key_file_path = key_file_path if key_file_path is not None else ''
15004        '''
15005         Path to private key in PEM format. This file should contain the private key associated with the
15006         client certificate configured in CertificateFile.
15007        '''
15008        self.name = name if name is not None else ''
15009        '''
15010         Unique human-readable name of the SecretStore.
15011        '''
15012        self.server_address = server_address if server_address is not None else ''
15013        '''
15014         the host of the Key Factor CA
15015        '''
15016        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15017        '''
15018         Tags is a map of key, value pairs.
15019        '''
15020
15021    def __repr__(self):
15022        return '<sdm.KeyfactorX509Store ' + \
15023            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15024            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15025            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15026            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15027            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15028            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15029            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15030            'id: ' + repr(self.id) + ' ' +\
15031            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15032            'name: ' + repr(self.name) + ' ' +\
15033            'server_address: ' + repr(self.server_address) + ' ' +\
15034            'tags: ' + repr(self.tags) + ' ' +\
15035            '>'
15036
15037    def to_dict(self):
15038        return {
15039            'ca_file_path': self.ca_file_path,
15040            'certificate_file_path': self.certificate_file_path,
15041            'default_certificate_authority_name':
15042            self.default_certificate_authority_name,
15043            'default_certificate_profile_name':
15044            self.default_certificate_profile_name,
15045            'default_end_entity_profile_name':
15046            self.default_end_entity_profile_name,
15047            'enrollment_code_env_var': self.enrollment_code_env_var,
15048            'enrollment_username_env_var': self.enrollment_username_env_var,
15049            'id': self.id,
15050            'key_file_path': self.key_file_path,
15051            'name': self.name,
15052            'server_address': self.server_address,
15053            'tags': self.tags,
15054        }
15055
15056    @classmethod
15057    def from_dict(cls, d):
15058        return cls(
15059            ca_file_path=d.get('ca_file_path'),
15060            certificate_file_path=d.get('certificate_file_path'),
15061            default_certificate_authority_name=d.get(
15062                'default_certificate_authority_name'),
15063            default_certificate_profile_name=d.get(
15064                'default_certificate_profile_name'),
15065            default_end_entity_profile_name=d.get(
15066                'default_end_entity_profile_name'),
15067            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15068            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15069            id=d.get('id'),
15070            key_file_path=d.get('key_file_path'),
15071            name=d.get('name'),
15072            server_address=d.get('server_address'),
15073            tags=d.get('tags'),
15074        )
15075
15076
15077class Kubernetes:
15078    __slots__ = [
15079        'allow_resource_role_bypass',
15080        'bind_interface',
15081        'certificate_authority',
15082        'client_certificate',
15083        'client_key',
15084        'discovery_enabled',
15085        'discovery_username',
15086        'egress_filter',
15087        'healthcheck_namespace',
15088        'healthy',
15089        'hostname',
15090        'id',
15091        'identity_alias_healthcheck_username',
15092        'identity_set_id',
15093        'name',
15094        'port',
15095        'port_override',
15096        'proxy_cluster_id',
15097        'secret_store_id',
15098        'subdomain',
15099        'tags',
15100    ]
15101
15102    def __init__(
15103        self,
15104        allow_resource_role_bypass=None,
15105        bind_interface=None,
15106        certificate_authority=None,
15107        client_certificate=None,
15108        client_key=None,
15109        discovery_enabled=None,
15110        discovery_username=None,
15111        egress_filter=None,
15112        healthcheck_namespace=None,
15113        healthy=None,
15114        hostname=None,
15115        id=None,
15116        identity_alias_healthcheck_username=None,
15117        identity_set_id=None,
15118        name=None,
15119        port=None,
15120        port_override=None,
15121        proxy_cluster_id=None,
15122        secret_store_id=None,
15123        subdomain=None,
15124        tags=None,
15125    ):
15126        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15127        '''
15128         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15129         when a resource role is not provided.
15130        '''
15131        self.bind_interface = bind_interface if bind_interface is not None else ''
15132        '''
15133         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15134        '''
15135        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15136        '''
15137         The CA to authenticate TLS connections with.
15138        '''
15139        self.client_certificate = client_certificate if client_certificate is not None else ''
15140        '''
15141         The certificate to authenticate TLS connections with.
15142        '''
15143        self.client_key = client_key if client_key is not None else ''
15144        '''
15145         The key to authenticate TLS connections with.
15146        '''
15147        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15148        '''
15149         If true, configures discovery of a cluster to be run from a node.
15150        '''
15151        self.discovery_username = discovery_username if discovery_username is not None else ''
15152        '''
15153         If a cluster is configured for user impersonation, this is the user to impersonate when
15154         running discovery.
15155        '''
15156        self.egress_filter = egress_filter if egress_filter is not None else ''
15157        '''
15158         A filter applied to the routing logic to pin datasource to nodes.
15159        '''
15160        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15161        '''
15162         The path used to check the health of your connection.  Defaults to `default`.
15163        '''
15164        self.healthy = healthy if healthy is not None else False
15165        '''
15166         True if the datasource is reachable and the credentials are valid.
15167        '''
15168        self.hostname = hostname if hostname is not None else ''
15169        '''
15170         The host to dial to initiate a connection from the egress node to this resource.
15171        '''
15172        self.id = id if id is not None else ''
15173        '''
15174         Unique identifier of the Resource.
15175        '''
15176        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15177        '''
15178         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15179        '''
15180        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15181        '''
15182         The ID of the identity set to use for identity connections.
15183        '''
15184        self.name = name if name is not None else ''
15185        '''
15186         Unique human-readable name of the Resource.
15187        '''
15188        self.port = port if port is not None else 0
15189        '''
15190         The port to dial to initiate a connection from the egress node to this resource.
15191        '''
15192        self.port_override = port_override if port_override is not None else 0
15193        '''
15194         The local port used by clients to connect to this resource.
15195        '''
15196        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15197        '''
15198         ID of the proxy cluster for this resource, if any.
15199        '''
15200        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15201        '''
15202         ID of the secret store containing credentials for this resource, if any.
15203        '''
15204        self.subdomain = subdomain if subdomain is not None else ''
15205        '''
15206         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15207        '''
15208        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15209        '''
15210         Tags is a map of key, value pairs.
15211        '''
15212
15213    def __repr__(self):
15214        return '<sdm.Kubernetes ' + \
15215            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15216            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15217            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15218            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15219            'client_key: ' + repr(self.client_key) + ' ' +\
15220            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15221            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15222            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15223            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15224            'healthy: ' + repr(self.healthy) + ' ' +\
15225            'hostname: ' + repr(self.hostname) + ' ' +\
15226            'id: ' + repr(self.id) + ' ' +\
15227            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15228            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15229            'name: ' + repr(self.name) + ' ' +\
15230            'port: ' + repr(self.port) + ' ' +\
15231            'port_override: ' + repr(self.port_override) + ' ' +\
15232            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15233            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15234            'subdomain: ' + repr(self.subdomain) + ' ' +\
15235            'tags: ' + repr(self.tags) + ' ' +\
15236            '>'
15237
15238    def to_dict(self):
15239        return {
15240            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15241            'bind_interface': self.bind_interface,
15242            'certificate_authority': self.certificate_authority,
15243            'client_certificate': self.client_certificate,
15244            'client_key': self.client_key,
15245            'discovery_enabled': self.discovery_enabled,
15246            'discovery_username': self.discovery_username,
15247            'egress_filter': self.egress_filter,
15248            'healthcheck_namespace': self.healthcheck_namespace,
15249            'healthy': self.healthy,
15250            'hostname': self.hostname,
15251            'id': self.id,
15252            'identity_alias_healthcheck_username':
15253            self.identity_alias_healthcheck_username,
15254            'identity_set_id': self.identity_set_id,
15255            'name': self.name,
15256            'port': self.port,
15257            'port_override': self.port_override,
15258            'proxy_cluster_id': self.proxy_cluster_id,
15259            'secret_store_id': self.secret_store_id,
15260            'subdomain': self.subdomain,
15261            'tags': self.tags,
15262        }
15263
15264    @classmethod
15265    def from_dict(cls, d):
15266        return cls(
15267            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15268            bind_interface=d.get('bind_interface'),
15269            certificate_authority=d.get('certificate_authority'),
15270            client_certificate=d.get('client_certificate'),
15271            client_key=d.get('client_key'),
15272            discovery_enabled=d.get('discovery_enabled'),
15273            discovery_username=d.get('discovery_username'),
15274            egress_filter=d.get('egress_filter'),
15275            healthcheck_namespace=d.get('healthcheck_namespace'),
15276            healthy=d.get('healthy'),
15277            hostname=d.get('hostname'),
15278            id=d.get('id'),
15279            identity_alias_healthcheck_username=d.get(
15280                'identity_alias_healthcheck_username'),
15281            identity_set_id=d.get('identity_set_id'),
15282            name=d.get('name'),
15283            port=d.get('port'),
15284            port_override=d.get('port_override'),
15285            proxy_cluster_id=d.get('proxy_cluster_id'),
15286            secret_store_id=d.get('secret_store_id'),
15287            subdomain=d.get('subdomain'),
15288            tags=d.get('tags'),
15289        )
15290
15291
15292class KubernetesBasicAuth:
15293    '''
15294    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15295    without a major version bump.
15296    '''
15297    __slots__ = [
15298        'bind_interface',
15299        'egress_filter',
15300        'healthcheck_namespace',
15301        'healthy',
15302        'hostname',
15303        'id',
15304        'name',
15305        'password',
15306        'port',
15307        'port_override',
15308        'proxy_cluster_id',
15309        'secret_store_id',
15310        'subdomain',
15311        'tags',
15312        'username',
15313    ]
15314
15315    def __init__(
15316        self,
15317        bind_interface=None,
15318        egress_filter=None,
15319        healthcheck_namespace=None,
15320        healthy=None,
15321        hostname=None,
15322        id=None,
15323        name=None,
15324        password=None,
15325        port=None,
15326        port_override=None,
15327        proxy_cluster_id=None,
15328        secret_store_id=None,
15329        subdomain=None,
15330        tags=None,
15331        username=None,
15332    ):
15333        self.bind_interface = bind_interface if bind_interface is not None else ''
15334        '''
15335         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15336        '''
15337        self.egress_filter = egress_filter if egress_filter is not None else ''
15338        '''
15339         A filter applied to the routing logic to pin datasource to nodes.
15340        '''
15341        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15342        '''
15343         The path used to check the health of your connection.  Defaults to `default`.
15344        '''
15345        self.healthy = healthy if healthy is not None else False
15346        '''
15347         True if the datasource is reachable and the credentials are valid.
15348        '''
15349        self.hostname = hostname if hostname is not None else ''
15350        '''
15351         The host to dial to initiate a connection from the egress node to this resource.
15352        '''
15353        self.id = id if id is not None else ''
15354        '''
15355         Unique identifier of the Resource.
15356        '''
15357        self.name = name if name is not None else ''
15358        '''
15359         Unique human-readable name of the Resource.
15360        '''
15361        self.password = password if password is not None else ''
15362        '''
15363         The password to authenticate with.
15364        '''
15365        self.port = port if port is not None else 0
15366        '''
15367         The port to dial to initiate a connection from the egress node to this resource.
15368        '''
15369        self.port_override = port_override if port_override is not None else 0
15370        '''
15371         The local port used by clients to connect to this resource.
15372        '''
15373        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15374        '''
15375         ID of the proxy cluster for this resource, if any.
15376        '''
15377        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15378        '''
15379         ID of the secret store containing credentials for this resource, if any.
15380        '''
15381        self.subdomain = subdomain if subdomain is not None else ''
15382        '''
15383         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15384        '''
15385        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15386        '''
15387         Tags is a map of key, value pairs.
15388        '''
15389        self.username = username if username is not None else ''
15390        '''
15391         The username to authenticate with.
15392        '''
15393
15394    def __repr__(self):
15395        return '<sdm.KubernetesBasicAuth ' + \
15396            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15397            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15398            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15399            'healthy: ' + repr(self.healthy) + ' ' +\
15400            'hostname: ' + repr(self.hostname) + ' ' +\
15401            'id: ' + repr(self.id) + ' ' +\
15402            'name: ' + repr(self.name) + ' ' +\
15403            'password: ' + repr(self.password) + ' ' +\
15404            'port: ' + repr(self.port) + ' ' +\
15405            'port_override: ' + repr(self.port_override) + ' ' +\
15406            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15407            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15408            'subdomain: ' + repr(self.subdomain) + ' ' +\
15409            'tags: ' + repr(self.tags) + ' ' +\
15410            'username: ' + repr(self.username) + ' ' +\
15411            '>'
15412
15413    def to_dict(self):
15414        return {
15415            'bind_interface': self.bind_interface,
15416            'egress_filter': self.egress_filter,
15417            'healthcheck_namespace': self.healthcheck_namespace,
15418            'healthy': self.healthy,
15419            'hostname': self.hostname,
15420            'id': self.id,
15421            'name': self.name,
15422            'password': self.password,
15423            'port': self.port,
15424            'port_override': self.port_override,
15425            'proxy_cluster_id': self.proxy_cluster_id,
15426            'secret_store_id': self.secret_store_id,
15427            'subdomain': self.subdomain,
15428            'tags': self.tags,
15429            'username': self.username,
15430        }
15431
15432    @classmethod
15433    def from_dict(cls, d):
15434        return cls(
15435            bind_interface=d.get('bind_interface'),
15436            egress_filter=d.get('egress_filter'),
15437            healthcheck_namespace=d.get('healthcheck_namespace'),
15438            healthy=d.get('healthy'),
15439            hostname=d.get('hostname'),
15440            id=d.get('id'),
15441            name=d.get('name'),
15442            password=d.get('password'),
15443            port=d.get('port'),
15444            port_override=d.get('port_override'),
15445            proxy_cluster_id=d.get('proxy_cluster_id'),
15446            secret_store_id=d.get('secret_store_id'),
15447            subdomain=d.get('subdomain'),
15448            tags=d.get('tags'),
15449            username=d.get('username'),
15450        )
15451
15452
15453class KubernetesPodIdentity:
15454    __slots__ = [
15455        'allow_resource_role_bypass',
15456        'bind_interface',
15457        'certificate_authority',
15458        'discovery_enabled',
15459        'discovery_username',
15460        'egress_filter',
15461        'healthcheck_namespace',
15462        'healthy',
15463        'id',
15464        'identity_alias_healthcheck_username',
15465        'identity_set_id',
15466        'name',
15467        'port_override',
15468        'proxy_cluster_id',
15469        'secret_store_id',
15470        'subdomain',
15471        'tags',
15472    ]
15473
15474    def __init__(
15475        self,
15476        allow_resource_role_bypass=None,
15477        bind_interface=None,
15478        certificate_authority=None,
15479        discovery_enabled=None,
15480        discovery_username=None,
15481        egress_filter=None,
15482        healthcheck_namespace=None,
15483        healthy=None,
15484        id=None,
15485        identity_alias_healthcheck_username=None,
15486        identity_set_id=None,
15487        name=None,
15488        port_override=None,
15489        proxy_cluster_id=None,
15490        secret_store_id=None,
15491        subdomain=None,
15492        tags=None,
15493    ):
15494        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15495        '''
15496         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15497         when a resource role is not provided.
15498        '''
15499        self.bind_interface = bind_interface if bind_interface is not None else ''
15500        '''
15501         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15502        '''
15503        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15504        '''
15505         The CA to authenticate TLS connections with.
15506        '''
15507        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15508        '''
15509         If true, configures discovery of a cluster to be run from a node.
15510        '''
15511        self.discovery_username = discovery_username if discovery_username is not None else ''
15512        '''
15513         If a cluster is configured for user impersonation, this is the user to impersonate when
15514         running discovery.
15515        '''
15516        self.egress_filter = egress_filter if egress_filter is not None else ''
15517        '''
15518         A filter applied to the routing logic to pin datasource to nodes.
15519        '''
15520        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15521        '''
15522         The path used to check the health of your connection.  Defaults to `default`.
15523        '''
15524        self.healthy = healthy if healthy is not None else False
15525        '''
15526         True if the datasource is reachable and the credentials are valid.
15527        '''
15528        self.id = id if id is not None else ''
15529        '''
15530         Unique identifier of the Resource.
15531        '''
15532        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15533        '''
15534         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15535        '''
15536        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15537        '''
15538         The ID of the identity set to use for identity connections.
15539        '''
15540        self.name = name if name is not None else ''
15541        '''
15542         Unique human-readable name of the Resource.
15543        '''
15544        self.port_override = port_override if port_override is not None else 0
15545        '''
15546         The local port used by clients to connect to this resource.
15547        '''
15548        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15549        '''
15550         ID of the proxy cluster for this resource, if any.
15551        '''
15552        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15553        '''
15554         ID of the secret store containing credentials for this resource, if any.
15555        '''
15556        self.subdomain = subdomain if subdomain is not None else ''
15557        '''
15558         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15559        '''
15560        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15561        '''
15562         Tags is a map of key, value pairs.
15563        '''
15564
15565    def __repr__(self):
15566        return '<sdm.KubernetesPodIdentity ' + \
15567            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15568            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15569            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15570            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15571            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15572            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15573            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15574            'healthy: ' + repr(self.healthy) + ' ' +\
15575            'id: ' + repr(self.id) + ' ' +\
15576            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15577            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15578            'name: ' + repr(self.name) + ' ' +\
15579            'port_override: ' + repr(self.port_override) + ' ' +\
15580            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15581            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15582            'subdomain: ' + repr(self.subdomain) + ' ' +\
15583            'tags: ' + repr(self.tags) + ' ' +\
15584            '>'
15585
15586    def to_dict(self):
15587        return {
15588            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15589            'bind_interface': self.bind_interface,
15590            'certificate_authority': self.certificate_authority,
15591            'discovery_enabled': self.discovery_enabled,
15592            'discovery_username': self.discovery_username,
15593            'egress_filter': self.egress_filter,
15594            'healthcheck_namespace': self.healthcheck_namespace,
15595            'healthy': self.healthy,
15596            'id': self.id,
15597            'identity_alias_healthcheck_username':
15598            self.identity_alias_healthcheck_username,
15599            'identity_set_id': self.identity_set_id,
15600            'name': self.name,
15601            'port_override': self.port_override,
15602            'proxy_cluster_id': self.proxy_cluster_id,
15603            'secret_store_id': self.secret_store_id,
15604            'subdomain': self.subdomain,
15605            'tags': self.tags,
15606        }
15607
15608    @classmethod
15609    def from_dict(cls, d):
15610        return cls(
15611            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15612            bind_interface=d.get('bind_interface'),
15613            certificate_authority=d.get('certificate_authority'),
15614            discovery_enabled=d.get('discovery_enabled'),
15615            discovery_username=d.get('discovery_username'),
15616            egress_filter=d.get('egress_filter'),
15617            healthcheck_namespace=d.get('healthcheck_namespace'),
15618            healthy=d.get('healthy'),
15619            id=d.get('id'),
15620            identity_alias_healthcheck_username=d.get(
15621                'identity_alias_healthcheck_username'),
15622            identity_set_id=d.get('identity_set_id'),
15623            name=d.get('name'),
15624            port_override=d.get('port_override'),
15625            proxy_cluster_id=d.get('proxy_cluster_id'),
15626            secret_store_id=d.get('secret_store_id'),
15627            subdomain=d.get('subdomain'),
15628            tags=d.get('tags'),
15629        )
15630
15631
15632class KubernetesServiceAccount:
15633    __slots__ = [
15634        'allow_resource_role_bypass',
15635        'bind_interface',
15636        'discovery_enabled',
15637        'discovery_username',
15638        'egress_filter',
15639        'healthcheck_namespace',
15640        'healthy',
15641        'hostname',
15642        'id',
15643        'identity_alias_healthcheck_username',
15644        'identity_set_id',
15645        'name',
15646        'port',
15647        'port_override',
15648        'proxy_cluster_id',
15649        'secret_store_id',
15650        'subdomain',
15651        'tags',
15652        'token',
15653    ]
15654
15655    def __init__(
15656        self,
15657        allow_resource_role_bypass=None,
15658        bind_interface=None,
15659        discovery_enabled=None,
15660        discovery_username=None,
15661        egress_filter=None,
15662        healthcheck_namespace=None,
15663        healthy=None,
15664        hostname=None,
15665        id=None,
15666        identity_alias_healthcheck_username=None,
15667        identity_set_id=None,
15668        name=None,
15669        port=None,
15670        port_override=None,
15671        proxy_cluster_id=None,
15672        secret_store_id=None,
15673        subdomain=None,
15674        tags=None,
15675        token=None,
15676    ):
15677        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15678        '''
15679         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15680         when a resource role is not provided.
15681        '''
15682        self.bind_interface = bind_interface if bind_interface is not None else ''
15683        '''
15684         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15685        '''
15686        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15687        '''
15688         If true, configures discovery of a cluster to be run from a node.
15689        '''
15690        self.discovery_username = discovery_username if discovery_username is not None else ''
15691        '''
15692         If a cluster is configured for user impersonation, this is the user to impersonate when
15693         running discovery.
15694        '''
15695        self.egress_filter = egress_filter if egress_filter is not None else ''
15696        '''
15697         A filter applied to the routing logic to pin datasource to nodes.
15698        '''
15699        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15700        '''
15701         The path used to check the health of your connection.  Defaults to `default`.
15702        '''
15703        self.healthy = healthy if healthy is not None else False
15704        '''
15705         True if the datasource is reachable and the credentials are valid.
15706        '''
15707        self.hostname = hostname if hostname is not None else ''
15708        '''
15709         The host to dial to initiate a connection from the egress node to this resource.
15710        '''
15711        self.id = id if id is not None else ''
15712        '''
15713         Unique identifier of the Resource.
15714        '''
15715        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15716        '''
15717         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15718        '''
15719        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15720        '''
15721         The ID of the identity set to use for identity connections.
15722        '''
15723        self.name = name if name is not None else ''
15724        '''
15725         Unique human-readable name of the Resource.
15726        '''
15727        self.port = port if port is not None else 0
15728        '''
15729         The port to dial to initiate a connection from the egress node to this resource.
15730        '''
15731        self.port_override = port_override if port_override is not None else 0
15732        '''
15733         The local port used by clients to connect to this resource.
15734        '''
15735        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15736        '''
15737         ID of the proxy cluster for this resource, if any.
15738        '''
15739        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15740        '''
15741         ID of the secret store containing credentials for this resource, if any.
15742        '''
15743        self.subdomain = subdomain if subdomain is not None else ''
15744        '''
15745         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15746        '''
15747        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15748        '''
15749         Tags is a map of key, value pairs.
15750        '''
15751        self.token = token if token is not None else ''
15752        '''
15753         The API token to authenticate with.
15754        '''
15755
15756    def __repr__(self):
15757        return '<sdm.KubernetesServiceAccount ' + \
15758            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15759            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15760            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15761            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15762            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15763            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15764            'healthy: ' + repr(self.healthy) + ' ' +\
15765            'hostname: ' + repr(self.hostname) + ' ' +\
15766            'id: ' + repr(self.id) + ' ' +\
15767            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15768            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15769            'name: ' + repr(self.name) + ' ' +\
15770            'port: ' + repr(self.port) + ' ' +\
15771            'port_override: ' + repr(self.port_override) + ' ' +\
15772            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15773            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15774            'subdomain: ' + repr(self.subdomain) + ' ' +\
15775            'tags: ' + repr(self.tags) + ' ' +\
15776            'token: ' + repr(self.token) + ' ' +\
15777            '>'
15778
15779    def to_dict(self):
15780        return {
15781            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15782            'bind_interface': self.bind_interface,
15783            'discovery_enabled': self.discovery_enabled,
15784            'discovery_username': self.discovery_username,
15785            'egress_filter': self.egress_filter,
15786            'healthcheck_namespace': self.healthcheck_namespace,
15787            'healthy': self.healthy,
15788            'hostname': self.hostname,
15789            'id': self.id,
15790            'identity_alias_healthcheck_username':
15791            self.identity_alias_healthcheck_username,
15792            'identity_set_id': self.identity_set_id,
15793            'name': self.name,
15794            'port': self.port,
15795            'port_override': self.port_override,
15796            'proxy_cluster_id': self.proxy_cluster_id,
15797            'secret_store_id': self.secret_store_id,
15798            'subdomain': self.subdomain,
15799            'tags': self.tags,
15800            'token': self.token,
15801        }
15802
15803    @classmethod
15804    def from_dict(cls, d):
15805        return cls(
15806            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15807            bind_interface=d.get('bind_interface'),
15808            discovery_enabled=d.get('discovery_enabled'),
15809            discovery_username=d.get('discovery_username'),
15810            egress_filter=d.get('egress_filter'),
15811            healthcheck_namespace=d.get('healthcheck_namespace'),
15812            healthy=d.get('healthy'),
15813            hostname=d.get('hostname'),
15814            id=d.get('id'),
15815            identity_alias_healthcheck_username=d.get(
15816                'identity_alias_healthcheck_username'),
15817            identity_set_id=d.get('identity_set_id'),
15818            name=d.get('name'),
15819            port=d.get('port'),
15820            port_override=d.get('port_override'),
15821            proxy_cluster_id=d.get('proxy_cluster_id'),
15822            secret_store_id=d.get('secret_store_id'),
15823            subdomain=d.get('subdomain'),
15824            tags=d.get('tags'),
15825            token=d.get('token'),
15826        )
15827
15828
15829class KubernetesServiceAccountUserImpersonation:
15830    __slots__ = [
15831        'bind_interface',
15832        'egress_filter',
15833        'healthcheck_namespace',
15834        'healthy',
15835        'hostname',
15836        'id',
15837        'name',
15838        'port',
15839        'port_override',
15840        'proxy_cluster_id',
15841        'secret_store_id',
15842        'subdomain',
15843        'tags',
15844        'token',
15845    ]
15846
15847    def __init__(
15848        self,
15849        bind_interface=None,
15850        egress_filter=None,
15851        healthcheck_namespace=None,
15852        healthy=None,
15853        hostname=None,
15854        id=None,
15855        name=None,
15856        port=None,
15857        port_override=None,
15858        proxy_cluster_id=None,
15859        secret_store_id=None,
15860        subdomain=None,
15861        tags=None,
15862        token=None,
15863    ):
15864        self.bind_interface = bind_interface if bind_interface is not None else ''
15865        '''
15866         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15867        '''
15868        self.egress_filter = egress_filter if egress_filter is not None else ''
15869        '''
15870         A filter applied to the routing logic to pin datasource to nodes.
15871        '''
15872        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15873        '''
15874         The path used to check the health of your connection.  Defaults to `default`.
15875        '''
15876        self.healthy = healthy if healthy is not None else False
15877        '''
15878         True if the datasource is reachable and the credentials are valid.
15879        '''
15880        self.hostname = hostname if hostname is not None else ''
15881        '''
15882         The host to dial to initiate a connection from the egress node to this resource.
15883        '''
15884        self.id = id if id is not None else ''
15885        '''
15886         Unique identifier of the Resource.
15887        '''
15888        self.name = name if name is not None else ''
15889        '''
15890         Unique human-readable name of the Resource.
15891        '''
15892        self.port = port if port is not None else 0
15893        '''
15894         The port to dial to initiate a connection from the egress node to this resource.
15895        '''
15896        self.port_override = port_override if port_override is not None else 0
15897        '''
15898         The local port used by clients to connect to this resource.
15899        '''
15900        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15901        '''
15902         ID of the proxy cluster for this resource, if any.
15903        '''
15904        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15905        '''
15906         ID of the secret store containing credentials for this resource, if any.
15907        '''
15908        self.subdomain = subdomain if subdomain is not None else ''
15909        '''
15910         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15911        '''
15912        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15913        '''
15914         Tags is a map of key, value pairs.
15915        '''
15916        self.token = token if token is not None else ''
15917        '''
15918         The API token to authenticate with.
15919        '''
15920
15921    def __repr__(self):
15922        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
15923            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15924            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15925            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15926            'healthy: ' + repr(self.healthy) + ' ' +\
15927            'hostname: ' + repr(self.hostname) + ' ' +\
15928            'id: ' + repr(self.id) + ' ' +\
15929            'name: ' + repr(self.name) + ' ' +\
15930            'port: ' + repr(self.port) + ' ' +\
15931            'port_override: ' + repr(self.port_override) + ' ' +\
15932            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15933            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15934            'subdomain: ' + repr(self.subdomain) + ' ' +\
15935            'tags: ' + repr(self.tags) + ' ' +\
15936            'token: ' + repr(self.token) + ' ' +\
15937            '>'
15938
15939    def to_dict(self):
15940        return {
15941            'bind_interface': self.bind_interface,
15942            'egress_filter': self.egress_filter,
15943            'healthcheck_namespace': self.healthcheck_namespace,
15944            'healthy': self.healthy,
15945            'hostname': self.hostname,
15946            'id': self.id,
15947            'name': self.name,
15948            'port': self.port,
15949            'port_override': self.port_override,
15950            'proxy_cluster_id': self.proxy_cluster_id,
15951            'secret_store_id': self.secret_store_id,
15952            'subdomain': self.subdomain,
15953            'tags': self.tags,
15954            'token': self.token,
15955        }
15956
15957    @classmethod
15958    def from_dict(cls, d):
15959        return cls(
15960            bind_interface=d.get('bind_interface'),
15961            egress_filter=d.get('egress_filter'),
15962            healthcheck_namespace=d.get('healthcheck_namespace'),
15963            healthy=d.get('healthy'),
15964            hostname=d.get('hostname'),
15965            id=d.get('id'),
15966            name=d.get('name'),
15967            port=d.get('port'),
15968            port_override=d.get('port_override'),
15969            proxy_cluster_id=d.get('proxy_cluster_id'),
15970            secret_store_id=d.get('secret_store_id'),
15971            subdomain=d.get('subdomain'),
15972            tags=d.get('tags'),
15973            token=d.get('token'),
15974        )
15975
15976
15977class KubernetesUserImpersonation:
15978    __slots__ = [
15979        'bind_interface',
15980        'certificate_authority',
15981        'client_certificate',
15982        'client_key',
15983        'egress_filter',
15984        'healthcheck_namespace',
15985        'healthy',
15986        'hostname',
15987        'id',
15988        'name',
15989        'port',
15990        'port_override',
15991        'proxy_cluster_id',
15992        'secret_store_id',
15993        'subdomain',
15994        'tags',
15995    ]
15996
15997    def __init__(
15998        self,
15999        bind_interface=None,
16000        certificate_authority=None,
16001        client_certificate=None,
16002        client_key=None,
16003        egress_filter=None,
16004        healthcheck_namespace=None,
16005        healthy=None,
16006        hostname=None,
16007        id=None,
16008        name=None,
16009        port=None,
16010        port_override=None,
16011        proxy_cluster_id=None,
16012        secret_store_id=None,
16013        subdomain=None,
16014        tags=None,
16015    ):
16016        self.bind_interface = bind_interface if bind_interface is not None else ''
16017        '''
16018         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16019        '''
16020        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16021        '''
16022         The CA to authenticate TLS connections with.
16023        '''
16024        self.client_certificate = client_certificate if client_certificate is not None else ''
16025        '''
16026         The certificate to authenticate TLS connections with.
16027        '''
16028        self.client_key = client_key if client_key is not None else ''
16029        '''
16030         The key to authenticate TLS connections with.
16031        '''
16032        self.egress_filter = egress_filter if egress_filter is not None else ''
16033        '''
16034         A filter applied to the routing logic to pin datasource to nodes.
16035        '''
16036        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
16037        '''
16038         The path used to check the health of your connection.  Defaults to `default`.
16039        '''
16040        self.healthy = healthy if healthy is not None else False
16041        '''
16042         True if the datasource is reachable and the credentials are valid.
16043        '''
16044        self.hostname = hostname if hostname is not None else ''
16045        '''
16046         The host to dial to initiate a connection from the egress node to this resource.
16047        '''
16048        self.id = id if id is not None else ''
16049        '''
16050         Unique identifier of the Resource.
16051        '''
16052        self.name = name if name is not None else ''
16053        '''
16054         Unique human-readable name of the Resource.
16055        '''
16056        self.port = port if port is not None else 0
16057        '''
16058         The port to dial to initiate a connection from the egress node to this resource.
16059        '''
16060        self.port_override = port_override if port_override is not None else 0
16061        '''
16062         The local port used by clients to connect to this resource.
16063        '''
16064        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16065        '''
16066         ID of the proxy cluster for this resource, if any.
16067        '''
16068        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16069        '''
16070         ID of the secret store containing credentials for this resource, if any.
16071        '''
16072        self.subdomain = subdomain if subdomain is not None else ''
16073        '''
16074         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16075        '''
16076        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16077        '''
16078         Tags is a map of key, value pairs.
16079        '''
16080
16081    def __repr__(self):
16082        return '<sdm.KubernetesUserImpersonation ' + \
16083            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16084            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16085            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16086            'client_key: ' + repr(self.client_key) + ' ' +\
16087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16088            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
16089            'healthy: ' + repr(self.healthy) + ' ' +\
16090            'hostname: ' + repr(self.hostname) + ' ' +\
16091            'id: ' + repr(self.id) + ' ' +\
16092            'name: ' + repr(self.name) + ' ' +\
16093            'port: ' + repr(self.port) + ' ' +\
16094            'port_override: ' + repr(self.port_override) + ' ' +\
16095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16097            'subdomain: ' + repr(self.subdomain) + ' ' +\
16098            'tags: ' + repr(self.tags) + ' ' +\
16099            '>'
16100
16101    def to_dict(self):
16102        return {
16103            'bind_interface': self.bind_interface,
16104            'certificate_authority': self.certificate_authority,
16105            'client_certificate': self.client_certificate,
16106            'client_key': self.client_key,
16107            'egress_filter': self.egress_filter,
16108            'healthcheck_namespace': self.healthcheck_namespace,
16109            'healthy': self.healthy,
16110            'hostname': self.hostname,
16111            'id': self.id,
16112            'name': self.name,
16113            'port': self.port,
16114            'port_override': self.port_override,
16115            'proxy_cluster_id': self.proxy_cluster_id,
16116            'secret_store_id': self.secret_store_id,
16117            'subdomain': self.subdomain,
16118            'tags': self.tags,
16119        }
16120
16121    @classmethod
16122    def from_dict(cls, d):
16123        return cls(
16124            bind_interface=d.get('bind_interface'),
16125            certificate_authority=d.get('certificate_authority'),
16126            client_certificate=d.get('client_certificate'),
16127            client_key=d.get('client_key'),
16128            egress_filter=d.get('egress_filter'),
16129            healthcheck_namespace=d.get('healthcheck_namespace'),
16130            healthy=d.get('healthy'),
16131            hostname=d.get('hostname'),
16132            id=d.get('id'),
16133            name=d.get('name'),
16134            port=d.get('port'),
16135            port_override=d.get('port_override'),
16136            proxy_cluster_id=d.get('proxy_cluster_id'),
16137            secret_store_id=d.get('secret_store_id'),
16138            subdomain=d.get('subdomain'),
16139            tags=d.get('tags'),
16140        )
16141
16142
16143class MTLSMysql:
16144    '''
16145    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16146    without a major version bump.
16147    '''
16148    __slots__ = [
16149        'bind_interface',
16150        'certificate_authority',
16151        'client_certificate',
16152        'client_key',
16153        'database',
16154        'egress_filter',
16155        'healthy',
16156        'hostname',
16157        'id',
16158        'name',
16159        'password',
16160        'port',
16161        'port_override',
16162        'proxy_cluster_id',
16163        'require_native_auth',
16164        'secret_store_id',
16165        'server_name',
16166        'subdomain',
16167        'tags',
16168        'use_azure_single_server_usernames',
16169        'username',
16170    ]
16171
16172    def __init__(
16173        self,
16174        bind_interface=None,
16175        certificate_authority=None,
16176        client_certificate=None,
16177        client_key=None,
16178        database=None,
16179        egress_filter=None,
16180        healthy=None,
16181        hostname=None,
16182        id=None,
16183        name=None,
16184        password=None,
16185        port=None,
16186        port_override=None,
16187        proxy_cluster_id=None,
16188        require_native_auth=None,
16189        secret_store_id=None,
16190        server_name=None,
16191        subdomain=None,
16192        tags=None,
16193        use_azure_single_server_usernames=None,
16194        username=None,
16195    ):
16196        self.bind_interface = bind_interface if bind_interface is not None else ''
16197        '''
16198         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16199        '''
16200        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16201        '''
16202         The CA to authenticate TLS connections with.
16203        '''
16204        self.client_certificate = client_certificate if client_certificate is not None else ''
16205        '''
16206         The certificate to authenticate TLS connections with.
16207        '''
16208        self.client_key = client_key if client_key is not None else ''
16209        '''
16210         The key to authenticate TLS connections with.
16211        '''
16212        self.database = database if database is not None else ''
16213        '''
16214         The database for healthchecks. Does not affect client requests.
16215        '''
16216        self.egress_filter = egress_filter if egress_filter is not None else ''
16217        '''
16218         A filter applied to the routing logic to pin datasource to nodes.
16219        '''
16220        self.healthy = healthy if healthy is not None else False
16221        '''
16222         True if the datasource is reachable and the credentials are valid.
16223        '''
16224        self.hostname = hostname if hostname is not None else ''
16225        '''
16226         The host to dial to initiate a connection from the egress node to this resource.
16227        '''
16228        self.id = id if id is not None else ''
16229        '''
16230         Unique identifier of the Resource.
16231        '''
16232        self.name = name if name is not None else ''
16233        '''
16234         Unique human-readable name of the Resource.
16235        '''
16236        self.password = password if password is not None else ''
16237        '''
16238         The password to authenticate with.
16239        '''
16240        self.port = port if port is not None else 0
16241        '''
16242         The port to dial to initiate a connection from the egress node to this resource.
16243        '''
16244        self.port_override = port_override if port_override is not None else 0
16245        '''
16246         The local port used by clients to connect to this resource.
16247        '''
16248        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16249        '''
16250         ID of the proxy cluster for this resource, if any.
16251        '''
16252        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16253        '''
16254         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16255        '''
16256        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16257        '''
16258         ID of the secret store containing credentials for this resource, if any.
16259        '''
16260        self.server_name = server_name if server_name is not None else ''
16261        '''
16262         Server name for TLS verification (unverified by StrongDM if empty)
16263        '''
16264        self.subdomain = subdomain if subdomain is not None else ''
16265        '''
16266         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16267        '''
16268        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16269        '''
16270         Tags is a map of key, value pairs.
16271        '''
16272        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16273        '''
16274         If true, appends the hostname to the username when hitting a database.azure.com address
16275        '''
16276        self.username = username if username is not None else ''
16277        '''
16278         The username to authenticate with.
16279        '''
16280
16281    def __repr__(self):
16282        return '<sdm.MTLSMysql ' + \
16283            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16284            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16285            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16286            'client_key: ' + repr(self.client_key) + ' ' +\
16287            'database: ' + repr(self.database) + ' ' +\
16288            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16289            'healthy: ' + repr(self.healthy) + ' ' +\
16290            'hostname: ' + repr(self.hostname) + ' ' +\
16291            'id: ' + repr(self.id) + ' ' +\
16292            'name: ' + repr(self.name) + ' ' +\
16293            'password: ' + repr(self.password) + ' ' +\
16294            'port: ' + repr(self.port) + ' ' +\
16295            'port_override: ' + repr(self.port_override) + ' ' +\
16296            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16297            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16298            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16299            'server_name: ' + repr(self.server_name) + ' ' +\
16300            'subdomain: ' + repr(self.subdomain) + ' ' +\
16301            'tags: ' + repr(self.tags) + ' ' +\
16302            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16303            'username: ' + repr(self.username) + ' ' +\
16304            '>'
16305
16306    def to_dict(self):
16307        return {
16308            'bind_interface': self.bind_interface,
16309            'certificate_authority': self.certificate_authority,
16310            'client_certificate': self.client_certificate,
16311            'client_key': self.client_key,
16312            'database': self.database,
16313            'egress_filter': self.egress_filter,
16314            'healthy': self.healthy,
16315            'hostname': self.hostname,
16316            'id': self.id,
16317            'name': self.name,
16318            'password': self.password,
16319            'port': self.port,
16320            'port_override': self.port_override,
16321            'proxy_cluster_id': self.proxy_cluster_id,
16322            'require_native_auth': self.require_native_auth,
16323            'secret_store_id': self.secret_store_id,
16324            'server_name': self.server_name,
16325            'subdomain': self.subdomain,
16326            'tags': self.tags,
16327            'use_azure_single_server_usernames':
16328            self.use_azure_single_server_usernames,
16329            'username': self.username,
16330        }
16331
16332    @classmethod
16333    def from_dict(cls, d):
16334        return cls(
16335            bind_interface=d.get('bind_interface'),
16336            certificate_authority=d.get('certificate_authority'),
16337            client_certificate=d.get('client_certificate'),
16338            client_key=d.get('client_key'),
16339            database=d.get('database'),
16340            egress_filter=d.get('egress_filter'),
16341            healthy=d.get('healthy'),
16342            hostname=d.get('hostname'),
16343            id=d.get('id'),
16344            name=d.get('name'),
16345            password=d.get('password'),
16346            port=d.get('port'),
16347            port_override=d.get('port_override'),
16348            proxy_cluster_id=d.get('proxy_cluster_id'),
16349            require_native_auth=d.get('require_native_auth'),
16350            secret_store_id=d.get('secret_store_id'),
16351            server_name=d.get('server_name'),
16352            subdomain=d.get('subdomain'),
16353            tags=d.get('tags'),
16354            use_azure_single_server_usernames=d.get(
16355                'use_azure_single_server_usernames'),
16356            username=d.get('username'),
16357        )
16358
16359
16360class MTLSPostgres:
16361    __slots__ = [
16362        'bind_interface',
16363        'certificate_authority',
16364        'client_certificate',
16365        'client_key',
16366        'database',
16367        'egress_filter',
16368        'healthy',
16369        'hostname',
16370        'id',
16371        'name',
16372        'override_database',
16373        'password',
16374        'port',
16375        'port_override',
16376        'proxy_cluster_id',
16377        'secret_store_id',
16378        'server_name',
16379        'subdomain',
16380        'tags',
16381        'username',
16382    ]
16383
16384    def __init__(
16385        self,
16386        bind_interface=None,
16387        certificate_authority=None,
16388        client_certificate=None,
16389        client_key=None,
16390        database=None,
16391        egress_filter=None,
16392        healthy=None,
16393        hostname=None,
16394        id=None,
16395        name=None,
16396        override_database=None,
16397        password=None,
16398        port=None,
16399        port_override=None,
16400        proxy_cluster_id=None,
16401        secret_store_id=None,
16402        server_name=None,
16403        subdomain=None,
16404        tags=None,
16405        username=None,
16406    ):
16407        self.bind_interface = bind_interface if bind_interface is not None else ''
16408        '''
16409         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16410        '''
16411        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16412        '''
16413         The CA to authenticate TLS connections with.
16414        '''
16415        self.client_certificate = client_certificate if client_certificate is not None else ''
16416        '''
16417         The certificate to authenticate TLS connections with.
16418        '''
16419        self.client_key = client_key if client_key is not None else ''
16420        '''
16421         The key to authenticate TLS connections with.
16422        '''
16423        self.database = database if database is not None else ''
16424        '''
16425         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16426        '''
16427        self.egress_filter = egress_filter if egress_filter is not None else ''
16428        '''
16429         A filter applied to the routing logic to pin datasource to nodes.
16430        '''
16431        self.healthy = healthy if healthy is not None else False
16432        '''
16433         True if the datasource is reachable and the credentials are valid.
16434        '''
16435        self.hostname = hostname if hostname is not None else ''
16436        '''
16437         The host to dial to initiate a connection from the egress node to this resource.
16438        '''
16439        self.id = id if id is not None else ''
16440        '''
16441         Unique identifier of the Resource.
16442        '''
16443        self.name = name if name is not None else ''
16444        '''
16445         Unique human-readable name of the Resource.
16446        '''
16447        self.override_database = override_database if override_database is not None else False
16448        '''
16449         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.
16450        '''
16451        self.password = password if password is not None else ''
16452        '''
16453         The password to authenticate with.
16454        '''
16455        self.port = port if port is not None else 0
16456        '''
16457         The port to dial to initiate a connection from the egress node to this resource.
16458        '''
16459        self.port_override = port_override if port_override is not None else 0
16460        '''
16461         The local port used by clients to connect to this resource.
16462        '''
16463        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16464        '''
16465         ID of the proxy cluster for this resource, if any.
16466        '''
16467        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16468        '''
16469         ID of the secret store containing credentials for this resource, if any.
16470        '''
16471        self.server_name = server_name if server_name is not None else ''
16472        '''
16473         Server name for TLS verification (unverified by StrongDM if empty)
16474        '''
16475        self.subdomain = subdomain if subdomain is not None else ''
16476        '''
16477         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16478        '''
16479        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16480        '''
16481         Tags is a map of key, value pairs.
16482        '''
16483        self.username = username if username is not None else ''
16484        '''
16485         The username to authenticate with.
16486        '''
16487
16488    def __repr__(self):
16489        return '<sdm.MTLSPostgres ' + \
16490            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16491            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16492            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16493            'client_key: ' + repr(self.client_key) + ' ' +\
16494            'database: ' + repr(self.database) + ' ' +\
16495            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16496            'healthy: ' + repr(self.healthy) + ' ' +\
16497            'hostname: ' + repr(self.hostname) + ' ' +\
16498            'id: ' + repr(self.id) + ' ' +\
16499            'name: ' + repr(self.name) + ' ' +\
16500            'override_database: ' + repr(self.override_database) + ' ' +\
16501            'password: ' + repr(self.password) + ' ' +\
16502            'port: ' + repr(self.port) + ' ' +\
16503            'port_override: ' + repr(self.port_override) + ' ' +\
16504            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16505            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16506            'server_name: ' + repr(self.server_name) + ' ' +\
16507            'subdomain: ' + repr(self.subdomain) + ' ' +\
16508            'tags: ' + repr(self.tags) + ' ' +\
16509            'username: ' + repr(self.username) + ' ' +\
16510            '>'
16511
16512    def to_dict(self):
16513        return {
16514            'bind_interface': self.bind_interface,
16515            'certificate_authority': self.certificate_authority,
16516            'client_certificate': self.client_certificate,
16517            'client_key': self.client_key,
16518            'database': self.database,
16519            'egress_filter': self.egress_filter,
16520            'healthy': self.healthy,
16521            'hostname': self.hostname,
16522            'id': self.id,
16523            'name': self.name,
16524            'override_database': self.override_database,
16525            'password': self.password,
16526            'port': self.port,
16527            'port_override': self.port_override,
16528            'proxy_cluster_id': self.proxy_cluster_id,
16529            'secret_store_id': self.secret_store_id,
16530            'server_name': self.server_name,
16531            'subdomain': self.subdomain,
16532            'tags': self.tags,
16533            'username': self.username,
16534        }
16535
16536    @classmethod
16537    def from_dict(cls, d):
16538        return cls(
16539            bind_interface=d.get('bind_interface'),
16540            certificate_authority=d.get('certificate_authority'),
16541            client_certificate=d.get('client_certificate'),
16542            client_key=d.get('client_key'),
16543            database=d.get('database'),
16544            egress_filter=d.get('egress_filter'),
16545            healthy=d.get('healthy'),
16546            hostname=d.get('hostname'),
16547            id=d.get('id'),
16548            name=d.get('name'),
16549            override_database=d.get('override_database'),
16550            password=d.get('password'),
16551            port=d.get('port'),
16552            port_override=d.get('port_override'),
16553            proxy_cluster_id=d.get('proxy_cluster_id'),
16554            secret_store_id=d.get('secret_store_id'),
16555            server_name=d.get('server_name'),
16556            subdomain=d.get('subdomain'),
16557            tags=d.get('tags'),
16558            username=d.get('username'),
16559        )
16560
16561
16562class ManagedSecret:
16563    '''
16564         ManagedSecret contains details about managed secret
16565    '''
16566    __slots__ = [
16567        'config',
16568        'expires_at',
16569        'id',
16570        'last_rotated_at',
16571        'name',
16572        'policy',
16573        'secret_engine_id',
16574        'secret_store_path',
16575        'tags',
16576        'value',
16577    ]
16578
16579    def __init__(
16580        self,
16581        config=None,
16582        expires_at=None,
16583        id=None,
16584        last_rotated_at=None,
16585        name=None,
16586        policy=None,
16587        secret_engine_id=None,
16588        secret_store_path=None,
16589        tags=None,
16590        value=None,
16591    ):
16592        self.config = config if config is not None else ''
16593        '''
16594         public part of the secret value
16595        '''
16596        self.expires_at = expires_at if expires_at is not None else None
16597        '''
16598         Timestamp of when secret is going to be rotated
16599        '''
16600        self.id = id if id is not None else ''
16601        '''
16602         Unique identifier of the Managed Secret.
16603        '''
16604        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16605        '''
16606         Timestamp of when secret was last rotated
16607        '''
16608        self.name = name if name is not None else ''
16609        '''
16610         Unique human-readable name of the Managed Secret.
16611        '''
16612        self.policy = policy if policy is not None else None
16613        '''
16614         Password and rotation policy for the secret
16615        '''
16616        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16617        '''
16618         An ID of a Secret Engine linked with the Managed Secret.
16619        '''
16620        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16621        '''
16622         Path in a secret store.
16623        '''
16624        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16625        '''
16626         Tags is a map of key, value pairs.
16627        '''
16628        self.value = value if value is not None else b''
16629        '''
16630         Sensitive value of the secret.
16631        '''
16632
16633    def __repr__(self):
16634        return '<sdm.ManagedSecret ' + \
16635            'config: ' + repr(self.config) + ' ' +\
16636            'expires_at: ' + repr(self.expires_at) + ' ' +\
16637            'id: ' + repr(self.id) + ' ' +\
16638            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16639            'name: ' + repr(self.name) + ' ' +\
16640            'policy: ' + repr(self.policy) + ' ' +\
16641            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16642            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16643            'tags: ' + repr(self.tags) + ' ' +\
16644            'value: ' + repr(self.value) + ' ' +\
16645            '>'
16646
16647    def to_dict(self):
16648        return {
16649            'config': self.config,
16650            'expires_at': self.expires_at,
16651            'id': self.id,
16652            'last_rotated_at': self.last_rotated_at,
16653            'name': self.name,
16654            'policy': self.policy,
16655            'secret_engine_id': self.secret_engine_id,
16656            'secret_store_path': self.secret_store_path,
16657            'tags': self.tags,
16658            'value': self.value,
16659        }
16660
16661    @classmethod
16662    def from_dict(cls, d):
16663        return cls(
16664            config=d.get('config'),
16665            expires_at=d.get('expires_at'),
16666            id=d.get('id'),
16667            last_rotated_at=d.get('last_rotated_at'),
16668            name=d.get('name'),
16669            policy=d.get('policy'),
16670            secret_engine_id=d.get('secret_engine_id'),
16671            secret_store_path=d.get('secret_store_path'),
16672            tags=d.get('tags'),
16673            value=d.get('value'),
16674        )
16675
16676
16677class ManagedSecretCreateRequest:
16678    '''
16679         ManagedSecretCreateRequest specifies a Managed Secret to create.
16680    '''
16681    __slots__ = [
16682        'managed_secret',
16683    ]
16684
16685    def __init__(
16686        self,
16687        managed_secret=None,
16688    ):
16689        self.managed_secret = managed_secret if managed_secret is not None else None
16690        '''
16691         Parameters to define the new Managed Secret.
16692        '''
16693
16694    def __repr__(self):
16695        return '<sdm.ManagedSecretCreateRequest ' + \
16696            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16697            '>'
16698
16699    def to_dict(self):
16700        return {
16701            'managed_secret': self.managed_secret,
16702        }
16703
16704    @classmethod
16705    def from_dict(cls, d):
16706        return cls(managed_secret=d.get('managed_secret'), )
16707
16708
16709class ManagedSecretCreateResponse:
16710    '''
16711         ManagedSecretCreateResponse contains information about a Managed Secret after
16712     successful creation.
16713    '''
16714    __slots__ = [
16715        'managed_secret',
16716        'meta',
16717        'rate_limit',
16718    ]
16719
16720    def __init__(
16721        self,
16722        managed_secret=None,
16723        meta=None,
16724        rate_limit=None,
16725    ):
16726        self.managed_secret = managed_secret if managed_secret is not None else None
16727        '''
16728         The requested Managed Secret.
16729        '''
16730        self.meta = meta if meta is not None else None
16731        '''
16732         Reserved for future use.
16733        '''
16734        self.rate_limit = rate_limit if rate_limit is not None else None
16735        '''
16736         Rate limit information.
16737        '''
16738
16739    def __repr__(self):
16740        return '<sdm.ManagedSecretCreateResponse ' + \
16741            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16742            'meta: ' + repr(self.meta) + ' ' +\
16743            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16744            '>'
16745
16746    def to_dict(self):
16747        return {
16748            'managed_secret': self.managed_secret,
16749            'meta': self.meta,
16750            'rate_limit': self.rate_limit,
16751        }
16752
16753    @classmethod
16754    def from_dict(cls, d):
16755        return cls(
16756            managed_secret=d.get('managed_secret'),
16757            meta=d.get('meta'),
16758            rate_limit=d.get('rate_limit'),
16759        )
16760
16761
16762class ManagedSecretDeleteRequest:
16763    '''
16764         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16765     deleted.
16766    '''
16767    __slots__ = [
16768        'id',
16769    ]
16770
16771    def __init__(
16772        self,
16773        id=None,
16774    ):
16775        self.id = id if id is not None else ''
16776        '''
16777         The unique identifier of the Managed Secret to delete.
16778        '''
16779
16780    def __repr__(self):
16781        return '<sdm.ManagedSecretDeleteRequest ' + \
16782            'id: ' + repr(self.id) + ' ' +\
16783            '>'
16784
16785    def to_dict(self):
16786        return {
16787            'id': self.id,
16788        }
16789
16790    @classmethod
16791    def from_dict(cls, d):
16792        return cls(id=d.get('id'), )
16793
16794
16795class ManagedSecretDeleteResponse:
16796    '''
16797         ManagedSecretDeleteResponse contains information about a Managed Secret after
16798     it was deleted.
16799    '''
16800    __slots__ = [
16801        'rate_limit',
16802    ]
16803
16804    def __init__(
16805        self,
16806        rate_limit=None,
16807    ):
16808        self.rate_limit = rate_limit if rate_limit is not None else None
16809        '''
16810         Rate limit information.
16811        '''
16812
16813    def __repr__(self):
16814        return '<sdm.ManagedSecretDeleteResponse ' + \
16815            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16816            '>'
16817
16818    def to_dict(self):
16819        return {
16820            'rate_limit': self.rate_limit,
16821        }
16822
16823    @classmethod
16824    def from_dict(cls, d):
16825        return cls(rate_limit=d.get('rate_limit'), )
16826
16827
16828class ManagedSecretGetRequest:
16829    '''
16830         ManagedSecretGetRequest specifies which Managed Secret to retrieve
16831    '''
16832    __slots__ = [
16833        'id',
16834    ]
16835
16836    def __init__(
16837        self,
16838        id=None,
16839    ):
16840        self.id = id if id is not None else ''
16841        '''
16842         The unique identifier of the Managed Secret to retrieve.
16843        '''
16844
16845    def __repr__(self):
16846        return '<sdm.ManagedSecretGetRequest ' + \
16847            'id: ' + repr(self.id) + ' ' +\
16848            '>'
16849
16850    def to_dict(self):
16851        return {
16852            'id': self.id,
16853        }
16854
16855    @classmethod
16856    def from_dict(cls, d):
16857        return cls(id=d.get('id'), )
16858
16859
16860class ManagedSecretGetResponse:
16861    '''
16862         ManagedSecretGetResponse contains information about requested Managed Secret
16863    '''
16864    __slots__ = [
16865        'managed_secret',
16866        'meta',
16867        'rate_limit',
16868    ]
16869
16870    def __init__(
16871        self,
16872        managed_secret=None,
16873        meta=None,
16874        rate_limit=None,
16875    ):
16876        self.managed_secret = managed_secret if managed_secret is not None else None
16877        '''
16878         The requested Managed Secret.
16879        '''
16880        self.meta = meta if meta is not None else None
16881        '''
16882         Reserved for future use.
16883        '''
16884        self.rate_limit = rate_limit if rate_limit is not None else None
16885        '''
16886         Rate limit information.
16887        '''
16888
16889    def __repr__(self):
16890        return '<sdm.ManagedSecretGetResponse ' + \
16891            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16892            'meta: ' + repr(self.meta) + ' ' +\
16893            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16894            '>'
16895
16896    def to_dict(self):
16897        return {
16898            'managed_secret': self.managed_secret,
16899            'meta': self.meta,
16900            'rate_limit': self.rate_limit,
16901        }
16902
16903    @classmethod
16904    def from_dict(cls, d):
16905        return cls(
16906            managed_secret=d.get('managed_secret'),
16907            meta=d.get('meta'),
16908            rate_limit=d.get('rate_limit'),
16909        )
16910
16911
16912class ManagedSecretListRequest:
16913    '''
16914         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
16915     Secrets.
16916    '''
16917    __slots__ = [
16918        'filter',
16919    ]
16920
16921    def __init__(
16922        self,
16923        filter=None,
16924    ):
16925        self.filter = filter if filter is not None else ''
16926        '''
16927         A human-readable filter query string.
16928        '''
16929
16930    def __repr__(self):
16931        return '<sdm.ManagedSecretListRequest ' + \
16932            'filter: ' + repr(self.filter) + ' ' +\
16933            '>'
16934
16935    def to_dict(self):
16936        return {
16937            'filter': self.filter,
16938        }
16939
16940    @classmethod
16941    def from_dict(cls, d):
16942        return cls(filter=d.get('filter'), )
16943
16944
16945class ManagedSecretListResponse:
16946    '''
16947         ManagedSecretListResponse contains a list of requested Managed Secrets
16948    '''
16949    __slots__ = [
16950        'rate_limit',
16951    ]
16952
16953    def __init__(
16954        self,
16955        rate_limit=None,
16956    ):
16957        self.rate_limit = rate_limit if rate_limit is not None else None
16958        '''
16959         Rate limit information.
16960        '''
16961
16962    def __repr__(self):
16963        return '<sdm.ManagedSecretListResponse ' + \
16964            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16965            '>'
16966
16967    def to_dict(self):
16968        return {
16969            'rate_limit': self.rate_limit,
16970        }
16971
16972    @classmethod
16973    def from_dict(cls, d):
16974        return cls(rate_limit=d.get('rate_limit'), )
16975
16976
16977class ManagedSecretLog:
16978    '''
16979         ManagedSecretLog contains details about action performed against a managed
16980     secret
16981    '''
16982    __slots__ = [
16983        'account_id',
16984        'action',
16985        'created_at',
16986        'debug',
16987        'id',
16988        'managed_secret_id',
16989        'secret_engine_id',
16990    ]
16991
16992    def __init__(
16993        self,
16994        account_id=None,
16995        action=None,
16996        created_at=None,
16997        debug=None,
16998        id=None,
16999        managed_secret_id=None,
17000        secret_engine_id=None,
17001    ):
17002        self.account_id = account_id if account_id is not None else ''
17003        '''
17004         An ID of the account the action was performed by.
17005        '''
17006        self.action = action if action is not None else ''
17007        '''
17008         The action performed by the account against the managed secret.
17009        '''
17010        self.created_at = created_at if created_at is not None else None
17011        '''
17012         Timestamp of when action was performed.
17013        '''
17014        self.debug = debug if debug is not None else ''
17015        '''
17016         Any debug logs associated with the action.
17017        '''
17018        self.id = id if id is not None else ''
17019        '''
17020         Unique identifier of the Managed Secret Log.
17021        '''
17022        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17023        '''
17024         An ID of the Managed Secret the action was performed against.
17025        '''
17026        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17027        '''
17028         An ID of the Secret Engine linked with the Managed Secret.
17029        '''
17030
17031    def __repr__(self):
17032        return '<sdm.ManagedSecretLog ' + \
17033            'account_id: ' + repr(self.account_id) + ' ' +\
17034            'action: ' + repr(self.action) + ' ' +\
17035            'created_at: ' + repr(self.created_at) + ' ' +\
17036            'debug: ' + repr(self.debug) + ' ' +\
17037            'id: ' + repr(self.id) + ' ' +\
17038            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17039            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17040            '>'
17041
17042    def to_dict(self):
17043        return {
17044            'account_id': self.account_id,
17045            'action': self.action,
17046            'created_at': self.created_at,
17047            'debug': self.debug,
17048            'id': self.id,
17049            'managed_secret_id': self.managed_secret_id,
17050            'secret_engine_id': self.secret_engine_id,
17051        }
17052
17053    @classmethod
17054    def from_dict(cls, d):
17055        return cls(
17056            account_id=d.get('account_id'),
17057            action=d.get('action'),
17058            created_at=d.get('created_at'),
17059            debug=d.get('debug'),
17060            id=d.get('id'),
17061            managed_secret_id=d.get('managed_secret_id'),
17062            secret_engine_id=d.get('secret_engine_id'),
17063        )
17064
17065
17066class ManagedSecretLogsRequest:
17067    '''
17068         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17069     Secrets actions.
17070    '''
17071    __slots__ = [
17072        'filter',
17073    ]
17074
17075    def __init__(
17076        self,
17077        filter=None,
17078    ):
17079        self.filter = filter if filter is not None else ''
17080        '''
17081         A human-readable filter query string.
17082        '''
17083
17084    def __repr__(self):
17085        return '<sdm.ManagedSecretLogsRequest ' + \
17086            'filter: ' + repr(self.filter) + ' ' +\
17087            '>'
17088
17089    def to_dict(self):
17090        return {
17091            'filter': self.filter,
17092        }
17093
17094    @classmethod
17095    def from_dict(cls, d):
17096        return cls(filter=d.get('filter'), )
17097
17098
17099class ManagedSecretLogsResponse:
17100    '''
17101         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17102    '''
17103    __slots__ = [
17104        'rate_limit',
17105    ]
17106
17107    def __init__(
17108        self,
17109        rate_limit=None,
17110    ):
17111        self.rate_limit = rate_limit if rate_limit is not None else None
17112        '''
17113         Rate limit information.
17114        '''
17115
17116    def __repr__(self):
17117        return '<sdm.ManagedSecretLogsResponse ' + \
17118            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17119            '>'
17120
17121    def to_dict(self):
17122        return {
17123            'rate_limit': self.rate_limit,
17124        }
17125
17126    @classmethod
17127    def from_dict(cls, d):
17128        return cls(rate_limit=d.get('rate_limit'), )
17129
17130
17131class ManagedSecretPasswordPolicy:
17132    __slots__ = [
17133        'allow_repeat',
17134        'exclude_characters',
17135        'exclude_upper_case',
17136        'length',
17137        'num_digits',
17138        'num_symbols',
17139    ]
17140
17141    def __init__(
17142        self,
17143        allow_repeat=None,
17144        exclude_characters=None,
17145        exclude_upper_case=None,
17146        length=None,
17147        num_digits=None,
17148        num_symbols=None,
17149    ):
17150        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17151        '''
17152         If set to true allows for consecutive characters to repeat itself
17153        '''
17154        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17155        '''
17156         Characters to exclude when generating password
17157        '''
17158        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17159        '''
17160         If set to true do not include upper case letters when generating password
17161        '''
17162        self.length = length if length is not None else 0
17163        '''
17164         Password length
17165        '''
17166        self.num_digits = num_digits if num_digits is not None else 0
17167        '''
17168         Numbers of digits to use when generating password
17169        '''
17170        self.num_symbols = num_symbols if num_symbols is not None else 0
17171        '''
17172         Number of symbols to use when generating password
17173        '''
17174
17175    def __repr__(self):
17176        return '<sdm.ManagedSecretPasswordPolicy ' + \
17177            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17178            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17179            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17180            'length: ' + repr(self.length) + ' ' +\
17181            'num_digits: ' + repr(self.num_digits) + ' ' +\
17182            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17183            '>'
17184
17185    def to_dict(self):
17186        return {
17187            'allow_repeat': self.allow_repeat,
17188            'exclude_characters': self.exclude_characters,
17189            'exclude_upper_case': self.exclude_upper_case,
17190            'length': self.length,
17191            'num_digits': self.num_digits,
17192            'num_symbols': self.num_symbols,
17193        }
17194
17195    @classmethod
17196    def from_dict(cls, d):
17197        return cls(
17198            allow_repeat=d.get('allow_repeat'),
17199            exclude_characters=d.get('exclude_characters'),
17200            exclude_upper_case=d.get('exclude_upper_case'),
17201            length=d.get('length'),
17202            num_digits=d.get('num_digits'),
17203            num_symbols=d.get('num_symbols'),
17204        )
17205
17206
17207class ManagedSecretPolicy:
17208    '''
17209         ManagedSecretPolicy contains password and rotation policy for managed secret
17210    '''
17211    __slots__ = [
17212        'password_policy',
17213        'rotation_policy',
17214    ]
17215
17216    def __init__(
17217        self,
17218        password_policy=None,
17219        rotation_policy=None,
17220    ):
17221        self.password_policy = password_policy if password_policy is not None else None
17222        '''
17223         Password policy for a managed secret
17224        '''
17225        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17226        '''
17227         Rotation policy for a managed secret
17228        '''
17229
17230    def __repr__(self):
17231        return '<sdm.ManagedSecretPolicy ' + \
17232            'password_policy: ' + repr(self.password_policy) + ' ' +\
17233            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17234            '>'
17235
17236    def to_dict(self):
17237        return {
17238            'password_policy': self.password_policy,
17239            'rotation_policy': self.rotation_policy,
17240        }
17241
17242    @classmethod
17243    def from_dict(cls, d):
17244        return cls(
17245            password_policy=d.get('password_policy'),
17246            rotation_policy=d.get('rotation_policy'),
17247        )
17248
17249
17250class ManagedSecretRetrieveRequest:
17251    '''
17252         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17253    '''
17254    __slots__ = [
17255        'id',
17256        'public_key',
17257    ]
17258
17259    def __init__(
17260        self,
17261        id=None,
17262        public_key=None,
17263    ):
17264        self.id = id if id is not None else ''
17265        '''
17266         The unique identifier of the Managed Secret to retrieve.
17267        '''
17268        self.public_key = public_key if public_key is not None else b''
17269        '''
17270         Public key to encrypt a sensitive value with
17271        '''
17272
17273    def __repr__(self):
17274        return '<sdm.ManagedSecretRetrieveRequest ' + \
17275            'id: ' + repr(self.id) + ' ' +\
17276            'public_key: ' + repr(self.public_key) + ' ' +\
17277            '>'
17278
17279    def to_dict(self):
17280        return {
17281            'id': self.id,
17282            'public_key': self.public_key,
17283        }
17284
17285    @classmethod
17286    def from_dict(cls, d):
17287        return cls(
17288            id=d.get('id'),
17289            public_key=d.get('public_key'),
17290        )
17291
17292
17293class ManagedSecretRetrieveResponse:
17294    '''
17295         ManagedSecretRetrieveResponse contains information about requested Managed
17296     Secret
17297    '''
17298    __slots__ = [
17299        'managed_secret',
17300        'meta',
17301        'rate_limit',
17302    ]
17303
17304    def __init__(
17305        self,
17306        managed_secret=None,
17307        meta=None,
17308        rate_limit=None,
17309    ):
17310        self.managed_secret = managed_secret if managed_secret is not None else None
17311        '''
17312         The requested Managed Secret.
17313        '''
17314        self.meta = meta if meta is not None else None
17315        '''
17316         Reserved for future use.
17317        '''
17318        self.rate_limit = rate_limit if rate_limit is not None else None
17319        '''
17320         Rate limit information.
17321        '''
17322
17323    def __repr__(self):
17324        return '<sdm.ManagedSecretRetrieveResponse ' + \
17325            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17326            'meta: ' + repr(self.meta) + ' ' +\
17327            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17328            '>'
17329
17330    def to_dict(self):
17331        return {
17332            'managed_secret': self.managed_secret,
17333            'meta': self.meta,
17334            'rate_limit': self.rate_limit,
17335        }
17336
17337    @classmethod
17338    def from_dict(cls, d):
17339        return cls(
17340            managed_secret=d.get('managed_secret'),
17341            meta=d.get('meta'),
17342            rate_limit=d.get('rate_limit'),
17343        )
17344
17345
17346class ManagedSecretRotateRequest:
17347    '''
17348         ManagedSecretRotateRequest specifies Managed Secret to rotate
17349    '''
17350    __slots__ = [
17351        'id',
17352    ]
17353
17354    def __init__(
17355        self,
17356        id=None,
17357    ):
17358        self.id = id if id is not None else ''
17359        '''
17360         The unique identifier of the Managed Secret to rotate.
17361        '''
17362
17363    def __repr__(self):
17364        return '<sdm.ManagedSecretRotateRequest ' + \
17365            'id: ' + repr(self.id) + ' ' +\
17366            '>'
17367
17368    def to_dict(self):
17369        return {
17370            'id': self.id,
17371        }
17372
17373    @classmethod
17374    def from_dict(cls, d):
17375        return cls(id=d.get('id'), )
17376
17377
17378class ManagedSecretRotateResponse:
17379    '''
17380         ManagedSecretRotateResponse contains information about Secret Engine after
17381     successful rotation.
17382    '''
17383    __slots__ = [
17384        'meta',
17385        'rate_limit',
17386    ]
17387
17388    def __init__(
17389        self,
17390        meta=None,
17391        rate_limit=None,
17392    ):
17393        self.meta = meta if meta is not None else None
17394        '''
17395         Reserved for future use.
17396        '''
17397        self.rate_limit = rate_limit if rate_limit is not None else None
17398        '''
17399         Rate limit information.
17400        '''
17401
17402    def __repr__(self):
17403        return '<sdm.ManagedSecretRotateResponse ' + \
17404            'meta: ' + repr(self.meta) + ' ' +\
17405            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17406            '>'
17407
17408    def to_dict(self):
17409        return {
17410            'meta': self.meta,
17411            'rate_limit': self.rate_limit,
17412        }
17413
17414    @classmethod
17415    def from_dict(cls, d):
17416        return cls(
17417            meta=d.get('meta'),
17418            rate_limit=d.get('rate_limit'),
17419        )
17420
17421
17422class ManagedSecretRotationPolicy:
17423    __slots__ = []
17424
17425    def __init__(self, ):
17426        pass
17427
17428    def __repr__(self):
17429        return '<sdm.ManagedSecretRotationPolicy ' + \
17430            '>'
17431
17432    def to_dict(self):
17433        return {}
17434
17435    @classmethod
17436    def from_dict(cls, d):
17437        return cls()
17438
17439
17440class ManagedSecretUpdateRequest:
17441    '''
17442         ManagedSecretUpdateRequest specifies Managed Secret to update
17443    '''
17444    __slots__ = [
17445        'managed_secret',
17446    ]
17447
17448    def __init__(
17449        self,
17450        managed_secret=None,
17451    ):
17452        self.managed_secret = managed_secret if managed_secret is not None else None
17453        '''
17454         Managed Secret to update
17455        '''
17456
17457    def __repr__(self):
17458        return '<sdm.ManagedSecretUpdateRequest ' + \
17459            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17460            '>'
17461
17462    def to_dict(self):
17463        return {
17464            'managed_secret': self.managed_secret,
17465        }
17466
17467    @classmethod
17468    def from_dict(cls, d):
17469        return cls(managed_secret=d.get('managed_secret'), )
17470
17471
17472class ManagedSecretUpdateResponse:
17473    '''
17474         ManagedSecretUpdateResponse contains information about Secret Engine after
17475     successful update.
17476    '''
17477    __slots__ = [
17478        'managed_secret',
17479        'meta',
17480        'rate_limit',
17481    ]
17482
17483    def __init__(
17484        self,
17485        managed_secret=None,
17486        meta=None,
17487        rate_limit=None,
17488    ):
17489        self.managed_secret = managed_secret if managed_secret is not None else None
17490        '''
17491         The requested Managed Secret.
17492        '''
17493        self.meta = meta if meta is not None else None
17494        '''
17495         Reserved for future use.
17496        '''
17497        self.rate_limit = rate_limit if rate_limit is not None else None
17498        '''
17499         Rate limit information.
17500        '''
17501
17502    def __repr__(self):
17503        return '<sdm.ManagedSecretUpdateResponse ' + \
17504            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17505            'meta: ' + repr(self.meta) + ' ' +\
17506            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17507            '>'
17508
17509    def to_dict(self):
17510        return {
17511            'managed_secret': self.managed_secret,
17512            'meta': self.meta,
17513            'rate_limit': self.rate_limit,
17514        }
17515
17516    @classmethod
17517    def from_dict(cls, d):
17518        return cls(
17519            managed_secret=d.get('managed_secret'),
17520            meta=d.get('meta'),
17521            rate_limit=d.get('rate_limit'),
17522        )
17523
17524
17525class ManagedSecretValidateRequest:
17526    '''
17527         ManagedSecretValidateRequest specifies which Managed Secret to validate
17528    '''
17529    __slots__ = [
17530        'id',
17531    ]
17532
17533    def __init__(
17534        self,
17535        id=None,
17536    ):
17537        self.id = id if id is not None else ''
17538        '''
17539         The unique identifier of the Managed Secret to validate.
17540        '''
17541
17542    def __repr__(self):
17543        return '<sdm.ManagedSecretValidateRequest ' + \
17544            'id: ' + repr(self.id) + ' ' +\
17545            '>'
17546
17547    def to_dict(self):
17548        return {
17549            'id': self.id,
17550        }
17551
17552    @classmethod
17553    def from_dict(cls, d):
17554        return cls(id=d.get('id'), )
17555
17556
17557class ManagedSecretValidateResponse:
17558    '''
17559         ManagedSecretValidateResponse contains validity of requested Managed
17560     Secret
17561    '''
17562    __slots__ = [
17563        'invalid_info',
17564        'meta',
17565        'rate_limit',
17566        'valid',
17567    ]
17568
17569    def __init__(
17570        self,
17571        invalid_info=None,
17572        meta=None,
17573        rate_limit=None,
17574        valid=None,
17575    ):
17576        self.invalid_info = invalid_info if invalid_info is not None else ''
17577        '''
17578         Information about why secret is invalid
17579        '''
17580        self.meta = meta if meta is not None else None
17581        '''
17582         Reserved for future use.
17583        '''
17584        self.rate_limit = rate_limit if rate_limit is not None else None
17585        '''
17586         Rate limit information.
17587        '''
17588        self.valid = valid if valid is not None else False
17589        '''
17590         Whether the secret is valid
17591        '''
17592
17593    def __repr__(self):
17594        return '<sdm.ManagedSecretValidateResponse ' + \
17595            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17596            'meta: ' + repr(self.meta) + ' ' +\
17597            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17598            'valid: ' + repr(self.valid) + ' ' +\
17599            '>'
17600
17601    def to_dict(self):
17602        return {
17603            'invalid_info': self.invalid_info,
17604            'meta': self.meta,
17605            'rate_limit': self.rate_limit,
17606            'valid': self.valid,
17607        }
17608
17609    @classmethod
17610    def from_dict(cls, d):
17611        return cls(
17612            invalid_info=d.get('invalid_info'),
17613            meta=d.get('meta'),
17614            rate_limit=d.get('rate_limit'),
17615            valid=d.get('valid'),
17616        )
17617
17618
17619class Maria:
17620    __slots__ = [
17621        'bind_interface',
17622        'database',
17623        'egress_filter',
17624        'healthy',
17625        'hostname',
17626        'id',
17627        'name',
17628        'password',
17629        'port',
17630        'port_override',
17631        'proxy_cluster_id',
17632        'require_native_auth',
17633        'secret_store_id',
17634        'subdomain',
17635        'tags',
17636        'use_azure_single_server_usernames',
17637        'username',
17638    ]
17639
17640    def __init__(
17641        self,
17642        bind_interface=None,
17643        database=None,
17644        egress_filter=None,
17645        healthy=None,
17646        hostname=None,
17647        id=None,
17648        name=None,
17649        password=None,
17650        port=None,
17651        port_override=None,
17652        proxy_cluster_id=None,
17653        require_native_auth=None,
17654        secret_store_id=None,
17655        subdomain=None,
17656        tags=None,
17657        use_azure_single_server_usernames=None,
17658        username=None,
17659    ):
17660        self.bind_interface = bind_interface if bind_interface is not None else ''
17661        '''
17662         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17663        '''
17664        self.database = database if database is not None else ''
17665        '''
17666         The database for healthchecks. Does not affect client requests.
17667        '''
17668        self.egress_filter = egress_filter if egress_filter is not None else ''
17669        '''
17670         A filter applied to the routing logic to pin datasource to nodes.
17671        '''
17672        self.healthy = healthy if healthy is not None else False
17673        '''
17674         True if the datasource is reachable and the credentials are valid.
17675        '''
17676        self.hostname = hostname if hostname is not None else ''
17677        '''
17678         The host to dial to initiate a connection from the egress node to this resource.
17679        '''
17680        self.id = id if id is not None else ''
17681        '''
17682         Unique identifier of the Resource.
17683        '''
17684        self.name = name if name is not None else ''
17685        '''
17686         Unique human-readable name of the Resource.
17687        '''
17688        self.password = password if password is not None else ''
17689        '''
17690         The password to authenticate with.
17691        '''
17692        self.port = port if port is not None else 0
17693        '''
17694         The port to dial to initiate a connection from the egress node to this resource.
17695        '''
17696        self.port_override = port_override if port_override is not None else 0
17697        '''
17698         The local port used by clients to connect to this resource.
17699        '''
17700        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17701        '''
17702         ID of the proxy cluster for this resource, if any.
17703        '''
17704        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17705        '''
17706         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17707        '''
17708        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17709        '''
17710         ID of the secret store containing credentials for this resource, if any.
17711        '''
17712        self.subdomain = subdomain if subdomain is not None else ''
17713        '''
17714         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17715        '''
17716        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17717        '''
17718         Tags is a map of key, value pairs.
17719        '''
17720        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17721        '''
17722         If true, appends the hostname to the username when hitting a database.azure.com address
17723        '''
17724        self.username = username if username is not None else ''
17725        '''
17726         The username to authenticate with.
17727        '''
17728
17729    def __repr__(self):
17730        return '<sdm.Maria ' + \
17731            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17732            'database: ' + repr(self.database) + ' ' +\
17733            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17734            'healthy: ' + repr(self.healthy) + ' ' +\
17735            'hostname: ' + repr(self.hostname) + ' ' +\
17736            'id: ' + repr(self.id) + ' ' +\
17737            'name: ' + repr(self.name) + ' ' +\
17738            'password: ' + repr(self.password) + ' ' +\
17739            'port: ' + repr(self.port) + ' ' +\
17740            'port_override: ' + repr(self.port_override) + ' ' +\
17741            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17742            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17743            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17744            'subdomain: ' + repr(self.subdomain) + ' ' +\
17745            'tags: ' + repr(self.tags) + ' ' +\
17746            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17747            'username: ' + repr(self.username) + ' ' +\
17748            '>'
17749
17750    def to_dict(self):
17751        return {
17752            'bind_interface': self.bind_interface,
17753            'database': self.database,
17754            'egress_filter': self.egress_filter,
17755            'healthy': self.healthy,
17756            'hostname': self.hostname,
17757            'id': self.id,
17758            'name': self.name,
17759            'password': self.password,
17760            'port': self.port,
17761            'port_override': self.port_override,
17762            'proxy_cluster_id': self.proxy_cluster_id,
17763            'require_native_auth': self.require_native_auth,
17764            'secret_store_id': self.secret_store_id,
17765            'subdomain': self.subdomain,
17766            'tags': self.tags,
17767            'use_azure_single_server_usernames':
17768            self.use_azure_single_server_usernames,
17769            'username': self.username,
17770        }
17771
17772    @classmethod
17773    def from_dict(cls, d):
17774        return cls(
17775            bind_interface=d.get('bind_interface'),
17776            database=d.get('database'),
17777            egress_filter=d.get('egress_filter'),
17778            healthy=d.get('healthy'),
17779            hostname=d.get('hostname'),
17780            id=d.get('id'),
17781            name=d.get('name'),
17782            password=d.get('password'),
17783            port=d.get('port'),
17784            port_override=d.get('port_override'),
17785            proxy_cluster_id=d.get('proxy_cluster_id'),
17786            require_native_auth=d.get('require_native_auth'),
17787            secret_store_id=d.get('secret_store_id'),
17788            subdomain=d.get('subdomain'),
17789            tags=d.get('tags'),
17790            use_azure_single_server_usernames=d.get(
17791                'use_azure_single_server_usernames'),
17792            username=d.get('username'),
17793        )
17794
17795
17796class Memcached:
17797    __slots__ = [
17798        'bind_interface',
17799        'egress_filter',
17800        'healthy',
17801        'hostname',
17802        'id',
17803        'name',
17804        'port',
17805        'port_override',
17806        'proxy_cluster_id',
17807        'secret_store_id',
17808        'subdomain',
17809        'tags',
17810    ]
17811
17812    def __init__(
17813        self,
17814        bind_interface=None,
17815        egress_filter=None,
17816        healthy=None,
17817        hostname=None,
17818        id=None,
17819        name=None,
17820        port=None,
17821        port_override=None,
17822        proxy_cluster_id=None,
17823        secret_store_id=None,
17824        subdomain=None,
17825        tags=None,
17826    ):
17827        self.bind_interface = bind_interface if bind_interface is not None else ''
17828        '''
17829         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17830        '''
17831        self.egress_filter = egress_filter if egress_filter is not None else ''
17832        '''
17833         A filter applied to the routing logic to pin datasource to nodes.
17834        '''
17835        self.healthy = healthy if healthy is not None else False
17836        '''
17837         True if the datasource is reachable and the credentials are valid.
17838        '''
17839        self.hostname = hostname if hostname is not None else ''
17840        '''
17841         The host to dial to initiate a connection from the egress node to this resource.
17842        '''
17843        self.id = id if id is not None else ''
17844        '''
17845         Unique identifier of the Resource.
17846        '''
17847        self.name = name if name is not None else ''
17848        '''
17849         Unique human-readable name of the Resource.
17850        '''
17851        self.port = port if port is not None else 0
17852        '''
17853         The port to dial to initiate a connection from the egress node to this resource.
17854        '''
17855        self.port_override = port_override if port_override is not None else 0
17856        '''
17857         The local port used by clients to connect to this resource.
17858        '''
17859        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17860        '''
17861         ID of the proxy cluster for this resource, if any.
17862        '''
17863        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17864        '''
17865         ID of the secret store containing credentials for this resource, if any.
17866        '''
17867        self.subdomain = subdomain if subdomain is not None else ''
17868        '''
17869         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17870        '''
17871        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17872        '''
17873         Tags is a map of key, value pairs.
17874        '''
17875
17876    def __repr__(self):
17877        return '<sdm.Memcached ' + \
17878            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17879            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17880            'healthy: ' + repr(self.healthy) + ' ' +\
17881            'hostname: ' + repr(self.hostname) + ' ' +\
17882            'id: ' + repr(self.id) + ' ' +\
17883            'name: ' + repr(self.name) + ' ' +\
17884            'port: ' + repr(self.port) + ' ' +\
17885            'port_override: ' + repr(self.port_override) + ' ' +\
17886            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17887            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17888            'subdomain: ' + repr(self.subdomain) + ' ' +\
17889            'tags: ' + repr(self.tags) + ' ' +\
17890            '>'
17891
17892    def to_dict(self):
17893        return {
17894            'bind_interface': self.bind_interface,
17895            'egress_filter': self.egress_filter,
17896            'healthy': self.healthy,
17897            'hostname': self.hostname,
17898            'id': self.id,
17899            'name': self.name,
17900            'port': self.port,
17901            'port_override': self.port_override,
17902            'proxy_cluster_id': self.proxy_cluster_id,
17903            'secret_store_id': self.secret_store_id,
17904            'subdomain': self.subdomain,
17905            'tags': self.tags,
17906        }
17907
17908    @classmethod
17909    def from_dict(cls, d):
17910        return cls(
17911            bind_interface=d.get('bind_interface'),
17912            egress_filter=d.get('egress_filter'),
17913            healthy=d.get('healthy'),
17914            hostname=d.get('hostname'),
17915            id=d.get('id'),
17916            name=d.get('name'),
17917            port=d.get('port'),
17918            port_override=d.get('port_override'),
17919            proxy_cluster_id=d.get('proxy_cluster_id'),
17920            secret_store_id=d.get('secret_store_id'),
17921            subdomain=d.get('subdomain'),
17922            tags=d.get('tags'),
17923        )
17924
17925
17926class Memsql:
17927    __slots__ = [
17928        'bind_interface',
17929        'database',
17930        'egress_filter',
17931        'healthy',
17932        'hostname',
17933        'id',
17934        'name',
17935        'password',
17936        'port',
17937        'port_override',
17938        'proxy_cluster_id',
17939        'require_native_auth',
17940        'secret_store_id',
17941        'subdomain',
17942        'tags',
17943        'use_azure_single_server_usernames',
17944        'username',
17945    ]
17946
17947    def __init__(
17948        self,
17949        bind_interface=None,
17950        database=None,
17951        egress_filter=None,
17952        healthy=None,
17953        hostname=None,
17954        id=None,
17955        name=None,
17956        password=None,
17957        port=None,
17958        port_override=None,
17959        proxy_cluster_id=None,
17960        require_native_auth=None,
17961        secret_store_id=None,
17962        subdomain=None,
17963        tags=None,
17964        use_azure_single_server_usernames=None,
17965        username=None,
17966    ):
17967        self.bind_interface = bind_interface if bind_interface is not None else ''
17968        '''
17969         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17970        '''
17971        self.database = database if database is not None else ''
17972        '''
17973         The database for healthchecks. Does not affect client requests.
17974        '''
17975        self.egress_filter = egress_filter if egress_filter is not None else ''
17976        '''
17977         A filter applied to the routing logic to pin datasource to nodes.
17978        '''
17979        self.healthy = healthy if healthy is not None else False
17980        '''
17981         True if the datasource is reachable and the credentials are valid.
17982        '''
17983        self.hostname = hostname if hostname is not None else ''
17984        '''
17985         The host to dial to initiate a connection from the egress node to this resource.
17986        '''
17987        self.id = id if id is not None else ''
17988        '''
17989         Unique identifier of the Resource.
17990        '''
17991        self.name = name if name is not None else ''
17992        '''
17993         Unique human-readable name of the Resource.
17994        '''
17995        self.password = password if password is not None else ''
17996        '''
17997         The password to authenticate with.
17998        '''
17999        self.port = port if port is not None else 0
18000        '''
18001         The port to dial to initiate a connection from the egress node to this resource.
18002        '''
18003        self.port_override = port_override if port_override is not None else 0
18004        '''
18005         The local port used by clients to connect to this resource.
18006        '''
18007        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18008        '''
18009         ID of the proxy cluster for this resource, if any.
18010        '''
18011        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18012        '''
18013         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18014        '''
18015        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18016        '''
18017         ID of the secret store containing credentials for this resource, if any.
18018        '''
18019        self.subdomain = subdomain if subdomain is not None else ''
18020        '''
18021         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18022        '''
18023        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18024        '''
18025         Tags is a map of key, value pairs.
18026        '''
18027        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18028        '''
18029         If true, appends the hostname to the username when hitting a database.azure.com address
18030        '''
18031        self.username = username if username is not None else ''
18032        '''
18033         The username to authenticate with.
18034        '''
18035
18036    def __repr__(self):
18037        return '<sdm.Memsql ' + \
18038            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18039            'database: ' + repr(self.database) + ' ' +\
18040            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18041            'healthy: ' + repr(self.healthy) + ' ' +\
18042            'hostname: ' + repr(self.hostname) + ' ' +\
18043            'id: ' + repr(self.id) + ' ' +\
18044            'name: ' + repr(self.name) + ' ' +\
18045            'password: ' + repr(self.password) + ' ' +\
18046            'port: ' + repr(self.port) + ' ' +\
18047            'port_override: ' + repr(self.port_override) + ' ' +\
18048            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18049            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18050            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18051            'subdomain: ' + repr(self.subdomain) + ' ' +\
18052            'tags: ' + repr(self.tags) + ' ' +\
18053            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18054            'username: ' + repr(self.username) + ' ' +\
18055            '>'
18056
18057    def to_dict(self):
18058        return {
18059            'bind_interface': self.bind_interface,
18060            'database': self.database,
18061            'egress_filter': self.egress_filter,
18062            'healthy': self.healthy,
18063            'hostname': self.hostname,
18064            'id': self.id,
18065            'name': self.name,
18066            'password': self.password,
18067            'port': self.port,
18068            'port_override': self.port_override,
18069            'proxy_cluster_id': self.proxy_cluster_id,
18070            'require_native_auth': self.require_native_auth,
18071            'secret_store_id': self.secret_store_id,
18072            'subdomain': self.subdomain,
18073            'tags': self.tags,
18074            'use_azure_single_server_usernames':
18075            self.use_azure_single_server_usernames,
18076            'username': self.username,
18077        }
18078
18079    @classmethod
18080    def from_dict(cls, d):
18081        return cls(
18082            bind_interface=d.get('bind_interface'),
18083            database=d.get('database'),
18084            egress_filter=d.get('egress_filter'),
18085            healthy=d.get('healthy'),
18086            hostname=d.get('hostname'),
18087            id=d.get('id'),
18088            name=d.get('name'),
18089            password=d.get('password'),
18090            port=d.get('port'),
18091            port_override=d.get('port_override'),
18092            proxy_cluster_id=d.get('proxy_cluster_id'),
18093            require_native_auth=d.get('require_native_auth'),
18094            secret_store_id=d.get('secret_store_id'),
18095            subdomain=d.get('subdomain'),
18096            tags=d.get('tags'),
18097            use_azure_single_server_usernames=d.get(
18098                'use_azure_single_server_usernames'),
18099            username=d.get('username'),
18100        )
18101
18102
18103class MongoHost:
18104    __slots__ = [
18105        'auth_database',
18106        'bind_interface',
18107        'egress_filter',
18108        'healthy',
18109        'hostname',
18110        'id',
18111        'name',
18112        'password',
18113        'port',
18114        'port_override',
18115        'proxy_cluster_id',
18116        'secret_store_id',
18117        'subdomain',
18118        'tags',
18119        'tls_required',
18120        'username',
18121    ]
18122
18123    def __init__(
18124        self,
18125        auth_database=None,
18126        bind_interface=None,
18127        egress_filter=None,
18128        healthy=None,
18129        hostname=None,
18130        id=None,
18131        name=None,
18132        password=None,
18133        port=None,
18134        port_override=None,
18135        proxy_cluster_id=None,
18136        secret_store_id=None,
18137        subdomain=None,
18138        tags=None,
18139        tls_required=None,
18140        username=None,
18141    ):
18142        self.auth_database = auth_database if auth_database is not None else ''
18143        '''
18144         The authentication database to use.
18145        '''
18146        self.bind_interface = bind_interface if bind_interface is not None else ''
18147        '''
18148         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18149        '''
18150        self.egress_filter = egress_filter if egress_filter is not None else ''
18151        '''
18152         A filter applied to the routing logic to pin datasource to nodes.
18153        '''
18154        self.healthy = healthy if healthy is not None else False
18155        '''
18156         True if the datasource is reachable and the credentials are valid.
18157        '''
18158        self.hostname = hostname if hostname is not None else ''
18159        '''
18160         The host to dial to initiate a connection from the egress node to this resource.
18161        '''
18162        self.id = id if id is not None else ''
18163        '''
18164         Unique identifier of the Resource.
18165        '''
18166        self.name = name if name is not None else ''
18167        '''
18168         Unique human-readable name of the Resource.
18169        '''
18170        self.password = password if password is not None else ''
18171        '''
18172         The password to authenticate with.
18173        '''
18174        self.port = port if port is not None else 0
18175        '''
18176         The port to dial to initiate a connection from the egress node to this resource.
18177        '''
18178        self.port_override = port_override if port_override is not None else 0
18179        '''
18180         The local port used by clients to connect to this resource.
18181        '''
18182        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18183        '''
18184         ID of the proxy cluster for this resource, if any.
18185        '''
18186        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18187        '''
18188         ID of the secret store containing credentials for this resource, if any.
18189        '''
18190        self.subdomain = subdomain if subdomain is not None else ''
18191        '''
18192         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18193        '''
18194        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18195        '''
18196         Tags is a map of key, value pairs.
18197        '''
18198        self.tls_required = tls_required if tls_required is not None else False
18199        '''
18200         If set, TLS must be used to connect to this resource.
18201        '''
18202        self.username = username if username is not None else ''
18203        '''
18204         The username to authenticate with.
18205        '''
18206
18207    def __repr__(self):
18208        return '<sdm.MongoHost ' + \
18209            'auth_database: ' + repr(self.auth_database) + ' ' +\
18210            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18211            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18212            'healthy: ' + repr(self.healthy) + ' ' +\
18213            'hostname: ' + repr(self.hostname) + ' ' +\
18214            'id: ' + repr(self.id) + ' ' +\
18215            'name: ' + repr(self.name) + ' ' +\
18216            'password: ' + repr(self.password) + ' ' +\
18217            'port: ' + repr(self.port) + ' ' +\
18218            'port_override: ' + repr(self.port_override) + ' ' +\
18219            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18220            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18221            'subdomain: ' + repr(self.subdomain) + ' ' +\
18222            'tags: ' + repr(self.tags) + ' ' +\
18223            'tls_required: ' + repr(self.tls_required) + ' ' +\
18224            'username: ' + repr(self.username) + ' ' +\
18225            '>'
18226
18227    def to_dict(self):
18228        return {
18229            'auth_database': self.auth_database,
18230            'bind_interface': self.bind_interface,
18231            'egress_filter': self.egress_filter,
18232            'healthy': self.healthy,
18233            'hostname': self.hostname,
18234            'id': self.id,
18235            'name': self.name,
18236            'password': self.password,
18237            'port': self.port,
18238            'port_override': self.port_override,
18239            'proxy_cluster_id': self.proxy_cluster_id,
18240            'secret_store_id': self.secret_store_id,
18241            'subdomain': self.subdomain,
18242            'tags': self.tags,
18243            'tls_required': self.tls_required,
18244            'username': self.username,
18245        }
18246
18247    @classmethod
18248    def from_dict(cls, d):
18249        return cls(
18250            auth_database=d.get('auth_database'),
18251            bind_interface=d.get('bind_interface'),
18252            egress_filter=d.get('egress_filter'),
18253            healthy=d.get('healthy'),
18254            hostname=d.get('hostname'),
18255            id=d.get('id'),
18256            name=d.get('name'),
18257            password=d.get('password'),
18258            port=d.get('port'),
18259            port_override=d.get('port_override'),
18260            proxy_cluster_id=d.get('proxy_cluster_id'),
18261            secret_store_id=d.get('secret_store_id'),
18262            subdomain=d.get('subdomain'),
18263            tags=d.get('tags'),
18264            tls_required=d.get('tls_required'),
18265            username=d.get('username'),
18266        )
18267
18268
18269class MongoLegacyHost:
18270    '''
18271    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18272    without a major version bump.
18273    '''
18274    __slots__ = [
18275        'auth_database',
18276        'bind_interface',
18277        'egress_filter',
18278        'healthy',
18279        'hostname',
18280        'id',
18281        'name',
18282        'password',
18283        'port',
18284        'port_override',
18285        'proxy_cluster_id',
18286        'secret_store_id',
18287        'subdomain',
18288        'tags',
18289        'tls_required',
18290        'username',
18291    ]
18292
18293    def __init__(
18294        self,
18295        auth_database=None,
18296        bind_interface=None,
18297        egress_filter=None,
18298        healthy=None,
18299        hostname=None,
18300        id=None,
18301        name=None,
18302        password=None,
18303        port=None,
18304        port_override=None,
18305        proxy_cluster_id=None,
18306        secret_store_id=None,
18307        subdomain=None,
18308        tags=None,
18309        tls_required=None,
18310        username=None,
18311    ):
18312        self.auth_database = auth_database if auth_database is not None else ''
18313        '''
18314         The authentication database to use.
18315        '''
18316        self.bind_interface = bind_interface if bind_interface is not None else ''
18317        '''
18318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18319        '''
18320        self.egress_filter = egress_filter if egress_filter is not None else ''
18321        '''
18322         A filter applied to the routing logic to pin datasource to nodes.
18323        '''
18324        self.healthy = healthy if healthy is not None else False
18325        '''
18326         True if the datasource is reachable and the credentials are valid.
18327        '''
18328        self.hostname = hostname if hostname is not None else ''
18329        '''
18330         The host to dial to initiate a connection from the egress node to this resource.
18331        '''
18332        self.id = id if id is not None else ''
18333        '''
18334         Unique identifier of the Resource.
18335        '''
18336        self.name = name if name is not None else ''
18337        '''
18338         Unique human-readable name of the Resource.
18339        '''
18340        self.password = password if password is not None else ''
18341        '''
18342         The password to authenticate with.
18343        '''
18344        self.port = port if port is not None else 0
18345        '''
18346         The port to dial to initiate a connection from the egress node to this resource.
18347        '''
18348        self.port_override = port_override if port_override is not None else 0
18349        '''
18350         The local port used by clients to connect to this resource.
18351        '''
18352        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18353        '''
18354         ID of the proxy cluster for this resource, if any.
18355        '''
18356        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18357        '''
18358         ID of the secret store containing credentials for this resource, if any.
18359        '''
18360        self.subdomain = subdomain if subdomain is not None else ''
18361        '''
18362         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
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        self.tls_required = tls_required if tls_required is not None else False
18369        '''
18370         If set, TLS must be used to connect to this resource.
18371        '''
18372        self.username = username if username is not None else ''
18373        '''
18374         The username to authenticate with.
18375        '''
18376
18377    def __repr__(self):
18378        return '<sdm.MongoLegacyHost ' + \
18379            'auth_database: ' + repr(self.auth_database) + ' ' +\
18380            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18381            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18382            'healthy: ' + repr(self.healthy) + ' ' +\
18383            'hostname: ' + repr(self.hostname) + ' ' +\
18384            'id: ' + repr(self.id) + ' ' +\
18385            'name: ' + repr(self.name) + ' ' +\
18386            'password: ' + repr(self.password) + ' ' +\
18387            'port: ' + repr(self.port) + ' ' +\
18388            'port_override: ' + repr(self.port_override) + ' ' +\
18389            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18390            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18391            'subdomain: ' + repr(self.subdomain) + ' ' +\
18392            'tags: ' + repr(self.tags) + ' ' +\
18393            'tls_required: ' + repr(self.tls_required) + ' ' +\
18394            'username: ' + repr(self.username) + ' ' +\
18395            '>'
18396
18397    def to_dict(self):
18398        return {
18399            'auth_database': self.auth_database,
18400            'bind_interface': self.bind_interface,
18401            'egress_filter': self.egress_filter,
18402            'healthy': self.healthy,
18403            'hostname': self.hostname,
18404            'id': self.id,
18405            'name': self.name,
18406            'password': self.password,
18407            'port': self.port,
18408            'port_override': self.port_override,
18409            'proxy_cluster_id': self.proxy_cluster_id,
18410            'secret_store_id': self.secret_store_id,
18411            'subdomain': self.subdomain,
18412            'tags': self.tags,
18413            'tls_required': self.tls_required,
18414            'username': self.username,
18415        }
18416
18417    @classmethod
18418    def from_dict(cls, d):
18419        return cls(
18420            auth_database=d.get('auth_database'),
18421            bind_interface=d.get('bind_interface'),
18422            egress_filter=d.get('egress_filter'),
18423            healthy=d.get('healthy'),
18424            hostname=d.get('hostname'),
18425            id=d.get('id'),
18426            name=d.get('name'),
18427            password=d.get('password'),
18428            port=d.get('port'),
18429            port_override=d.get('port_override'),
18430            proxy_cluster_id=d.get('proxy_cluster_id'),
18431            secret_store_id=d.get('secret_store_id'),
18432            subdomain=d.get('subdomain'),
18433            tags=d.get('tags'),
18434            tls_required=d.get('tls_required'),
18435            username=d.get('username'),
18436        )
18437
18438
18439class MongoLegacyReplicaset:
18440    '''
18441    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18442    without a major version bump.
18443    '''
18444    __slots__ = [
18445        'auth_database',
18446        'bind_interface',
18447        'connect_to_replica',
18448        'egress_filter',
18449        'healthy',
18450        'hostname',
18451        'id',
18452        'name',
18453        'password',
18454        'port',
18455        'port_override',
18456        'proxy_cluster_id',
18457        'replica_set',
18458        'secret_store_id',
18459        'subdomain',
18460        'tags',
18461        'tls_required',
18462        'username',
18463    ]
18464
18465    def __init__(
18466        self,
18467        auth_database=None,
18468        bind_interface=None,
18469        connect_to_replica=None,
18470        egress_filter=None,
18471        healthy=None,
18472        hostname=None,
18473        id=None,
18474        name=None,
18475        password=None,
18476        port=None,
18477        port_override=None,
18478        proxy_cluster_id=None,
18479        replica_set=None,
18480        secret_store_id=None,
18481        subdomain=None,
18482        tags=None,
18483        tls_required=None,
18484        username=None,
18485    ):
18486        self.auth_database = auth_database if auth_database is not None else ''
18487        '''
18488         The authentication database to use.
18489        '''
18490        self.bind_interface = bind_interface if bind_interface is not None else ''
18491        '''
18492         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18493        '''
18494        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18495        '''
18496         Set to connect to a replica instead of the primary node.
18497        '''
18498        self.egress_filter = egress_filter if egress_filter is not None else ''
18499        '''
18500         A filter applied to the routing logic to pin datasource to nodes.
18501        '''
18502        self.healthy = healthy if healthy is not None else False
18503        '''
18504         True if the datasource is reachable and the credentials are valid.
18505        '''
18506        self.hostname = hostname if hostname is not None else ''
18507        '''
18508         The host to dial to initiate a connection from the egress node to this resource.
18509        '''
18510        self.id = id if id is not None else ''
18511        '''
18512         Unique identifier of the Resource.
18513        '''
18514        self.name = name if name is not None else ''
18515        '''
18516         Unique human-readable name of the Resource.
18517        '''
18518        self.password = password if password is not None else ''
18519        '''
18520         The password to authenticate with.
18521        '''
18522        self.port = port if port is not None else 0
18523        '''
18524         The port to dial to initiate a connection from the egress node to this resource.
18525        '''
18526        self.port_override = port_override if port_override is not None else 0
18527        '''
18528         The local port used by clients to connect to this resource.
18529        '''
18530        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18531        '''
18532         ID of the proxy cluster for this resource, if any.
18533        '''
18534        self.replica_set = replica_set if replica_set is not None else ''
18535        '''
18536         The name of the mongo replicaset.
18537        '''
18538        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18539        '''
18540         ID of the secret store containing credentials for this resource, if any.
18541        '''
18542        self.subdomain = subdomain if subdomain is not None else ''
18543        '''
18544         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18545        '''
18546        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18547        '''
18548         Tags is a map of key, value pairs.
18549        '''
18550        self.tls_required = tls_required if tls_required is not None else False
18551        '''
18552         If set, TLS must be used to connect to this resource.
18553        '''
18554        self.username = username if username is not None else ''
18555        '''
18556         The username to authenticate with.
18557        '''
18558
18559    def __repr__(self):
18560        return '<sdm.MongoLegacyReplicaset ' + \
18561            'auth_database: ' + repr(self.auth_database) + ' ' +\
18562            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18563            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18564            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18565            'healthy: ' + repr(self.healthy) + ' ' +\
18566            'hostname: ' + repr(self.hostname) + ' ' +\
18567            'id: ' + repr(self.id) + ' ' +\
18568            'name: ' + repr(self.name) + ' ' +\
18569            'password: ' + repr(self.password) + ' ' +\
18570            'port: ' + repr(self.port) + ' ' +\
18571            'port_override: ' + repr(self.port_override) + ' ' +\
18572            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18573            'replica_set: ' + repr(self.replica_set) + ' ' +\
18574            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18575            'subdomain: ' + repr(self.subdomain) + ' ' +\
18576            'tags: ' + repr(self.tags) + ' ' +\
18577            'tls_required: ' + repr(self.tls_required) + ' ' +\
18578            'username: ' + repr(self.username) + ' ' +\
18579            '>'
18580
18581    def to_dict(self):
18582        return {
18583            'auth_database': self.auth_database,
18584            'bind_interface': self.bind_interface,
18585            'connect_to_replica': self.connect_to_replica,
18586            'egress_filter': self.egress_filter,
18587            'healthy': self.healthy,
18588            'hostname': self.hostname,
18589            'id': self.id,
18590            'name': self.name,
18591            'password': self.password,
18592            'port': self.port,
18593            'port_override': self.port_override,
18594            'proxy_cluster_id': self.proxy_cluster_id,
18595            'replica_set': self.replica_set,
18596            'secret_store_id': self.secret_store_id,
18597            'subdomain': self.subdomain,
18598            'tags': self.tags,
18599            'tls_required': self.tls_required,
18600            'username': self.username,
18601        }
18602
18603    @classmethod
18604    def from_dict(cls, d):
18605        return cls(
18606            auth_database=d.get('auth_database'),
18607            bind_interface=d.get('bind_interface'),
18608            connect_to_replica=d.get('connect_to_replica'),
18609            egress_filter=d.get('egress_filter'),
18610            healthy=d.get('healthy'),
18611            hostname=d.get('hostname'),
18612            id=d.get('id'),
18613            name=d.get('name'),
18614            password=d.get('password'),
18615            port=d.get('port'),
18616            port_override=d.get('port_override'),
18617            proxy_cluster_id=d.get('proxy_cluster_id'),
18618            replica_set=d.get('replica_set'),
18619            secret_store_id=d.get('secret_store_id'),
18620            subdomain=d.get('subdomain'),
18621            tags=d.get('tags'),
18622            tls_required=d.get('tls_required'),
18623            username=d.get('username'),
18624        )
18625
18626
18627class MongoReplicaSet:
18628    __slots__ = [
18629        'auth_database',
18630        'bind_interface',
18631        'connect_to_replica',
18632        'egress_filter',
18633        'healthy',
18634        'hostname',
18635        'id',
18636        'name',
18637        'password',
18638        'port',
18639        'port_override',
18640        'proxy_cluster_id',
18641        'replica_set',
18642        'secret_store_id',
18643        'subdomain',
18644        'tags',
18645        'tls_required',
18646        'username',
18647    ]
18648
18649    def __init__(
18650        self,
18651        auth_database=None,
18652        bind_interface=None,
18653        connect_to_replica=None,
18654        egress_filter=None,
18655        healthy=None,
18656        hostname=None,
18657        id=None,
18658        name=None,
18659        password=None,
18660        port=None,
18661        port_override=None,
18662        proxy_cluster_id=None,
18663        replica_set=None,
18664        secret_store_id=None,
18665        subdomain=None,
18666        tags=None,
18667        tls_required=None,
18668        username=None,
18669    ):
18670        self.auth_database = auth_database if auth_database is not None else ''
18671        '''
18672         The authentication database to use.
18673        '''
18674        self.bind_interface = bind_interface if bind_interface is not None else ''
18675        '''
18676         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18677        '''
18678        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18679        '''
18680         Set to connect to a replica instead of the primary node.
18681        '''
18682        self.egress_filter = egress_filter if egress_filter is not None else ''
18683        '''
18684         A filter applied to the routing logic to pin datasource to nodes.
18685        '''
18686        self.healthy = healthy if healthy is not None else False
18687        '''
18688         True if the datasource is reachable and the credentials are valid.
18689        '''
18690        self.hostname = hostname if hostname is not None else ''
18691        '''
18692         The host to dial to initiate a connection from the egress node to this resource.
18693        '''
18694        self.id = id if id is not None else ''
18695        '''
18696         Unique identifier of the Resource.
18697        '''
18698        self.name = name if name is not None else ''
18699        '''
18700         Unique human-readable name of the Resource.
18701        '''
18702        self.password = password if password is not None else ''
18703        '''
18704         The password to authenticate with.
18705        '''
18706        self.port = port if port is not None else 0
18707        '''
18708         The port to dial to initiate a connection from the egress node to this resource.
18709        '''
18710        self.port_override = port_override if port_override is not None else 0
18711        '''
18712         The local port used by clients to connect to this resource.
18713        '''
18714        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18715        '''
18716         ID of the proxy cluster for this resource, if any.
18717        '''
18718        self.replica_set = replica_set if replica_set is not None else ''
18719        '''
18720         The name of the mongo replicaset.
18721        '''
18722        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18723        '''
18724         ID of the secret store containing credentials for this resource, if any.
18725        '''
18726        self.subdomain = subdomain if subdomain is not None else ''
18727        '''
18728         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18729        '''
18730        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18731        '''
18732         Tags is a map of key, value pairs.
18733        '''
18734        self.tls_required = tls_required if tls_required is not None else False
18735        '''
18736         If set, TLS must be used to connect to this resource.
18737        '''
18738        self.username = username if username is not None else ''
18739        '''
18740         The username to authenticate with.
18741        '''
18742
18743    def __repr__(self):
18744        return '<sdm.MongoReplicaSet ' + \
18745            'auth_database: ' + repr(self.auth_database) + ' ' +\
18746            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18747            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18748            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18749            'healthy: ' + repr(self.healthy) + ' ' +\
18750            'hostname: ' + repr(self.hostname) + ' ' +\
18751            'id: ' + repr(self.id) + ' ' +\
18752            'name: ' + repr(self.name) + ' ' +\
18753            'password: ' + repr(self.password) + ' ' +\
18754            'port: ' + repr(self.port) + ' ' +\
18755            'port_override: ' + repr(self.port_override) + ' ' +\
18756            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18757            'replica_set: ' + repr(self.replica_set) + ' ' +\
18758            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18759            'subdomain: ' + repr(self.subdomain) + ' ' +\
18760            'tags: ' + repr(self.tags) + ' ' +\
18761            'tls_required: ' + repr(self.tls_required) + ' ' +\
18762            'username: ' + repr(self.username) + ' ' +\
18763            '>'
18764
18765    def to_dict(self):
18766        return {
18767            'auth_database': self.auth_database,
18768            'bind_interface': self.bind_interface,
18769            'connect_to_replica': self.connect_to_replica,
18770            'egress_filter': self.egress_filter,
18771            'healthy': self.healthy,
18772            'hostname': self.hostname,
18773            'id': self.id,
18774            'name': self.name,
18775            'password': self.password,
18776            'port': self.port,
18777            'port_override': self.port_override,
18778            'proxy_cluster_id': self.proxy_cluster_id,
18779            'replica_set': self.replica_set,
18780            'secret_store_id': self.secret_store_id,
18781            'subdomain': self.subdomain,
18782            'tags': self.tags,
18783            'tls_required': self.tls_required,
18784            'username': self.username,
18785        }
18786
18787    @classmethod
18788    def from_dict(cls, d):
18789        return cls(
18790            auth_database=d.get('auth_database'),
18791            bind_interface=d.get('bind_interface'),
18792            connect_to_replica=d.get('connect_to_replica'),
18793            egress_filter=d.get('egress_filter'),
18794            healthy=d.get('healthy'),
18795            hostname=d.get('hostname'),
18796            id=d.get('id'),
18797            name=d.get('name'),
18798            password=d.get('password'),
18799            port=d.get('port'),
18800            port_override=d.get('port_override'),
18801            proxy_cluster_id=d.get('proxy_cluster_id'),
18802            replica_set=d.get('replica_set'),
18803            secret_store_id=d.get('secret_store_id'),
18804            subdomain=d.get('subdomain'),
18805            tags=d.get('tags'),
18806            tls_required=d.get('tls_required'),
18807            username=d.get('username'),
18808        )
18809
18810
18811class MongoShardedCluster:
18812    __slots__ = [
18813        'auth_database',
18814        'bind_interface',
18815        'egress_filter',
18816        'healthy',
18817        'hostname',
18818        'id',
18819        'name',
18820        'password',
18821        'port_override',
18822        'proxy_cluster_id',
18823        'secret_store_id',
18824        'subdomain',
18825        'tags',
18826        'tls_required',
18827        'username',
18828    ]
18829
18830    def __init__(
18831        self,
18832        auth_database=None,
18833        bind_interface=None,
18834        egress_filter=None,
18835        healthy=None,
18836        hostname=None,
18837        id=None,
18838        name=None,
18839        password=None,
18840        port_override=None,
18841        proxy_cluster_id=None,
18842        secret_store_id=None,
18843        subdomain=None,
18844        tags=None,
18845        tls_required=None,
18846        username=None,
18847    ):
18848        self.auth_database = auth_database if auth_database is not None else ''
18849        '''
18850         The authentication database to use.
18851        '''
18852        self.bind_interface = bind_interface if bind_interface is not None else ''
18853        '''
18854         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18855        '''
18856        self.egress_filter = egress_filter if egress_filter is not None else ''
18857        '''
18858         A filter applied to the routing logic to pin datasource to nodes.
18859        '''
18860        self.healthy = healthy if healthy is not None else False
18861        '''
18862         True if the datasource is reachable and the credentials are valid.
18863        '''
18864        self.hostname = hostname if hostname is not None else ''
18865        '''
18866         The host to dial to initiate a connection from the egress node to this resource.
18867        '''
18868        self.id = id if id is not None else ''
18869        '''
18870         Unique identifier of the Resource.
18871        '''
18872        self.name = name if name is not None else ''
18873        '''
18874         Unique human-readable name of the Resource.
18875        '''
18876        self.password = password if password is not None else ''
18877        '''
18878         The password to authenticate with.
18879        '''
18880        self.port_override = port_override if port_override is not None else 0
18881        '''
18882         The local port used by clients to connect to this resource.
18883        '''
18884        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18885        '''
18886         ID of the proxy cluster for this resource, if any.
18887        '''
18888        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18889        '''
18890         ID of the secret store containing credentials for this resource, if any.
18891        '''
18892        self.subdomain = subdomain if subdomain is not None else ''
18893        '''
18894         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18895        '''
18896        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18897        '''
18898         Tags is a map of key, value pairs.
18899        '''
18900        self.tls_required = tls_required if tls_required is not None else False
18901        '''
18902         If set, TLS must be used to connect to this resource.
18903        '''
18904        self.username = username if username is not None else ''
18905        '''
18906         The username to authenticate with.
18907        '''
18908
18909    def __repr__(self):
18910        return '<sdm.MongoShardedCluster ' + \
18911            'auth_database: ' + repr(self.auth_database) + ' ' +\
18912            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18913            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18914            'healthy: ' + repr(self.healthy) + ' ' +\
18915            'hostname: ' + repr(self.hostname) + ' ' +\
18916            'id: ' + repr(self.id) + ' ' +\
18917            'name: ' + repr(self.name) + ' ' +\
18918            'password: ' + repr(self.password) + ' ' +\
18919            'port_override: ' + repr(self.port_override) + ' ' +\
18920            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18921            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18922            'subdomain: ' + repr(self.subdomain) + ' ' +\
18923            'tags: ' + repr(self.tags) + ' ' +\
18924            'tls_required: ' + repr(self.tls_required) + ' ' +\
18925            'username: ' + repr(self.username) + ' ' +\
18926            '>'
18927
18928    def to_dict(self):
18929        return {
18930            'auth_database': self.auth_database,
18931            'bind_interface': self.bind_interface,
18932            'egress_filter': self.egress_filter,
18933            'healthy': self.healthy,
18934            'hostname': self.hostname,
18935            'id': self.id,
18936            'name': self.name,
18937            'password': self.password,
18938            'port_override': self.port_override,
18939            'proxy_cluster_id': self.proxy_cluster_id,
18940            'secret_store_id': self.secret_store_id,
18941            'subdomain': self.subdomain,
18942            'tags': self.tags,
18943            'tls_required': self.tls_required,
18944            'username': self.username,
18945        }
18946
18947    @classmethod
18948    def from_dict(cls, d):
18949        return cls(
18950            auth_database=d.get('auth_database'),
18951            bind_interface=d.get('bind_interface'),
18952            egress_filter=d.get('egress_filter'),
18953            healthy=d.get('healthy'),
18954            hostname=d.get('hostname'),
18955            id=d.get('id'),
18956            name=d.get('name'),
18957            password=d.get('password'),
18958            port_override=d.get('port_override'),
18959            proxy_cluster_id=d.get('proxy_cluster_id'),
18960            secret_store_id=d.get('secret_store_id'),
18961            subdomain=d.get('subdomain'),
18962            tags=d.get('tags'),
18963            tls_required=d.get('tls_required'),
18964            username=d.get('username'),
18965        )
18966
18967
18968class Mysql:
18969    __slots__ = [
18970        'bind_interface',
18971        'database',
18972        'egress_filter',
18973        'healthy',
18974        'hostname',
18975        'id',
18976        'name',
18977        'password',
18978        'port',
18979        'port_override',
18980        'proxy_cluster_id',
18981        'require_native_auth',
18982        'secret_store_id',
18983        'subdomain',
18984        'tags',
18985        'use_azure_single_server_usernames',
18986        'username',
18987    ]
18988
18989    def __init__(
18990        self,
18991        bind_interface=None,
18992        database=None,
18993        egress_filter=None,
18994        healthy=None,
18995        hostname=None,
18996        id=None,
18997        name=None,
18998        password=None,
18999        port=None,
19000        port_override=None,
19001        proxy_cluster_id=None,
19002        require_native_auth=None,
19003        secret_store_id=None,
19004        subdomain=None,
19005        tags=None,
19006        use_azure_single_server_usernames=None,
19007        username=None,
19008    ):
19009        self.bind_interface = bind_interface if bind_interface is not None else ''
19010        '''
19011         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19012        '''
19013        self.database = database if database is not None else ''
19014        '''
19015         The database for healthchecks. Does not affect client requests.
19016        '''
19017        self.egress_filter = egress_filter if egress_filter is not None else ''
19018        '''
19019         A filter applied to the routing logic to pin datasource to nodes.
19020        '''
19021        self.healthy = healthy if healthy is not None else False
19022        '''
19023         True if the datasource is reachable and the credentials are valid.
19024        '''
19025        self.hostname = hostname if hostname is not None else ''
19026        '''
19027         The host to dial to initiate a connection from the egress node to this resource.
19028        '''
19029        self.id = id if id is not None else ''
19030        '''
19031         Unique identifier of the Resource.
19032        '''
19033        self.name = name if name is not None else ''
19034        '''
19035         Unique human-readable name of the Resource.
19036        '''
19037        self.password = password if password is not None else ''
19038        '''
19039         The password to authenticate with.
19040        '''
19041        self.port = port if port is not None else 0
19042        '''
19043         The port to dial to initiate a connection from the egress node to this resource.
19044        '''
19045        self.port_override = port_override if port_override is not None else 0
19046        '''
19047         The local port used by clients to connect to this resource.
19048        '''
19049        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19050        '''
19051         ID of the proxy cluster for this resource, if any.
19052        '''
19053        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19054        '''
19055         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19056        '''
19057        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19058        '''
19059         ID of the secret store containing credentials for this resource, if any.
19060        '''
19061        self.subdomain = subdomain if subdomain is not None else ''
19062        '''
19063         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19064        '''
19065        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19066        '''
19067         Tags is a map of key, value pairs.
19068        '''
19069        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19070        '''
19071         If true, appends the hostname to the username when hitting a database.azure.com address
19072        '''
19073        self.username = username if username is not None else ''
19074        '''
19075         The username to authenticate with.
19076        '''
19077
19078    def __repr__(self):
19079        return '<sdm.Mysql ' + \
19080            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19081            'database: ' + repr(self.database) + ' ' +\
19082            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19083            'healthy: ' + repr(self.healthy) + ' ' +\
19084            'hostname: ' + repr(self.hostname) + ' ' +\
19085            'id: ' + repr(self.id) + ' ' +\
19086            'name: ' + repr(self.name) + ' ' +\
19087            'password: ' + repr(self.password) + ' ' +\
19088            'port: ' + repr(self.port) + ' ' +\
19089            'port_override: ' + repr(self.port_override) + ' ' +\
19090            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19091            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19092            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19093            'subdomain: ' + repr(self.subdomain) + ' ' +\
19094            'tags: ' + repr(self.tags) + ' ' +\
19095            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19096            'username: ' + repr(self.username) + ' ' +\
19097            '>'
19098
19099    def to_dict(self):
19100        return {
19101            'bind_interface': self.bind_interface,
19102            'database': self.database,
19103            'egress_filter': self.egress_filter,
19104            'healthy': self.healthy,
19105            'hostname': self.hostname,
19106            'id': self.id,
19107            'name': self.name,
19108            'password': self.password,
19109            'port': self.port,
19110            'port_override': self.port_override,
19111            'proxy_cluster_id': self.proxy_cluster_id,
19112            'require_native_auth': self.require_native_auth,
19113            'secret_store_id': self.secret_store_id,
19114            'subdomain': self.subdomain,
19115            'tags': self.tags,
19116            'use_azure_single_server_usernames':
19117            self.use_azure_single_server_usernames,
19118            'username': self.username,
19119        }
19120
19121    @classmethod
19122    def from_dict(cls, d):
19123        return cls(
19124            bind_interface=d.get('bind_interface'),
19125            database=d.get('database'),
19126            egress_filter=d.get('egress_filter'),
19127            healthy=d.get('healthy'),
19128            hostname=d.get('hostname'),
19129            id=d.get('id'),
19130            name=d.get('name'),
19131            password=d.get('password'),
19132            port=d.get('port'),
19133            port_override=d.get('port_override'),
19134            proxy_cluster_id=d.get('proxy_cluster_id'),
19135            require_native_auth=d.get('require_native_auth'),
19136            secret_store_id=d.get('secret_store_id'),
19137            subdomain=d.get('subdomain'),
19138            tags=d.get('tags'),
19139            use_azure_single_server_usernames=d.get(
19140                'use_azure_single_server_usernames'),
19141            username=d.get('username'),
19142        )
19143
19144
19145class Neptune:
19146    __slots__ = [
19147        'bind_interface',
19148        'egress_filter',
19149        'endpoint',
19150        'healthy',
19151        'id',
19152        'name',
19153        'port',
19154        'port_override',
19155        'proxy_cluster_id',
19156        'secret_store_id',
19157        'subdomain',
19158        'tags',
19159    ]
19160
19161    def __init__(
19162        self,
19163        bind_interface=None,
19164        egress_filter=None,
19165        endpoint=None,
19166        healthy=None,
19167        id=None,
19168        name=None,
19169        port=None,
19170        port_override=None,
19171        proxy_cluster_id=None,
19172        secret_store_id=None,
19173        subdomain=None,
19174        tags=None,
19175    ):
19176        self.bind_interface = bind_interface if bind_interface is not None else ''
19177        '''
19178         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19179        '''
19180        self.egress_filter = egress_filter if egress_filter is not None else ''
19181        '''
19182         A filter applied to the routing logic to pin datasource to nodes.
19183        '''
19184        self.endpoint = endpoint if endpoint is not None else ''
19185        '''
19186         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19187        '''
19188        self.healthy = healthy if healthy is not None else False
19189        '''
19190         True if the datasource is reachable and the credentials are valid.
19191        '''
19192        self.id = id if id is not None else ''
19193        '''
19194         Unique identifier of the Resource.
19195        '''
19196        self.name = name if name is not None else ''
19197        '''
19198         Unique human-readable name of the Resource.
19199        '''
19200        self.port = port if port is not None else 0
19201        '''
19202         The port to dial to initiate a connection from the egress node to this resource.
19203        '''
19204        self.port_override = port_override if port_override is not None else 0
19205        '''
19206         The local port used by clients to connect to this resource.
19207        '''
19208        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19209        '''
19210         ID of the proxy cluster for this resource, if any.
19211        '''
19212        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19213        '''
19214         ID of the secret store containing credentials for this resource, if any.
19215        '''
19216        self.subdomain = subdomain if subdomain is not None else ''
19217        '''
19218         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19219        '''
19220        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19221        '''
19222         Tags is a map of key, value pairs.
19223        '''
19224
19225    def __repr__(self):
19226        return '<sdm.Neptune ' + \
19227            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19228            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19229            'endpoint: ' + repr(self.endpoint) + ' ' +\
19230            'healthy: ' + repr(self.healthy) + ' ' +\
19231            'id: ' + repr(self.id) + ' ' +\
19232            'name: ' + repr(self.name) + ' ' +\
19233            'port: ' + repr(self.port) + ' ' +\
19234            'port_override: ' + repr(self.port_override) + ' ' +\
19235            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19236            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19237            'subdomain: ' + repr(self.subdomain) + ' ' +\
19238            'tags: ' + repr(self.tags) + ' ' +\
19239            '>'
19240
19241    def to_dict(self):
19242        return {
19243            'bind_interface': self.bind_interface,
19244            'egress_filter': self.egress_filter,
19245            'endpoint': self.endpoint,
19246            'healthy': self.healthy,
19247            'id': self.id,
19248            'name': self.name,
19249            'port': self.port,
19250            'port_override': self.port_override,
19251            'proxy_cluster_id': self.proxy_cluster_id,
19252            'secret_store_id': self.secret_store_id,
19253            'subdomain': self.subdomain,
19254            'tags': self.tags,
19255        }
19256
19257    @classmethod
19258    def from_dict(cls, d):
19259        return cls(
19260            bind_interface=d.get('bind_interface'),
19261            egress_filter=d.get('egress_filter'),
19262            endpoint=d.get('endpoint'),
19263            healthy=d.get('healthy'),
19264            id=d.get('id'),
19265            name=d.get('name'),
19266            port=d.get('port'),
19267            port_override=d.get('port_override'),
19268            proxy_cluster_id=d.get('proxy_cluster_id'),
19269            secret_store_id=d.get('secret_store_id'),
19270            subdomain=d.get('subdomain'),
19271            tags=d.get('tags'),
19272        )
19273
19274
19275class NeptuneIAM:
19276    __slots__ = [
19277        'access_key',
19278        'bind_interface',
19279        'egress_filter',
19280        'endpoint',
19281        'healthy',
19282        'id',
19283        'name',
19284        'port',
19285        'port_override',
19286        'proxy_cluster_id',
19287        'region',
19288        'role_arn',
19289        'role_external_id',
19290        'secret_access_key',
19291        'secret_store_id',
19292        'subdomain',
19293        'tags',
19294    ]
19295
19296    def __init__(
19297        self,
19298        access_key=None,
19299        bind_interface=None,
19300        egress_filter=None,
19301        endpoint=None,
19302        healthy=None,
19303        id=None,
19304        name=None,
19305        port=None,
19306        port_override=None,
19307        proxy_cluster_id=None,
19308        region=None,
19309        role_arn=None,
19310        role_external_id=None,
19311        secret_access_key=None,
19312        secret_store_id=None,
19313        subdomain=None,
19314        tags=None,
19315    ):
19316        self.access_key = access_key if access_key is not None else ''
19317        '''
19318         The Access Key ID to use to authenticate.
19319        '''
19320        self.bind_interface = bind_interface if bind_interface is not None else ''
19321        '''
19322         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19323        '''
19324        self.egress_filter = egress_filter if egress_filter is not None else ''
19325        '''
19326         A filter applied to the routing logic to pin datasource to nodes.
19327        '''
19328        self.endpoint = endpoint if endpoint is not None else ''
19329        '''
19330         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19331        '''
19332        self.healthy = healthy if healthy is not None else False
19333        '''
19334         True if the datasource is reachable and the credentials are valid.
19335        '''
19336        self.id = id if id is not None else ''
19337        '''
19338         Unique identifier of the Resource.
19339        '''
19340        self.name = name if name is not None else ''
19341        '''
19342         Unique human-readable name of the Resource.
19343        '''
19344        self.port = port if port is not None else 0
19345        '''
19346         The port to dial to initiate a connection from the egress node to this resource.
19347        '''
19348        self.port_override = port_override if port_override is not None else 0
19349        '''
19350         The local port used by clients to connect to this resource.
19351        '''
19352        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19353        '''
19354         ID of the proxy cluster for this resource, if any.
19355        '''
19356        self.region = region if region is not None else ''
19357        '''
19358         The AWS region to connect to.
19359        '''
19360        self.role_arn = role_arn if role_arn is not None else ''
19361        '''
19362         The role to assume after logging in.
19363        '''
19364        self.role_external_id = role_external_id if role_external_id is not None else ''
19365        '''
19366         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19367        '''
19368        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19369        '''
19370         The Secret Access Key to use to authenticate.
19371        '''
19372        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19373        '''
19374         ID of the secret store containing credentials for this resource, if any.
19375        '''
19376        self.subdomain = subdomain if subdomain is not None else ''
19377        '''
19378         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19379        '''
19380        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19381        '''
19382         Tags is a map of key, value pairs.
19383        '''
19384
19385    def __repr__(self):
19386        return '<sdm.NeptuneIAM ' + \
19387            'access_key: ' + repr(self.access_key) + ' ' +\
19388            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19389            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19390            'endpoint: ' + repr(self.endpoint) + ' ' +\
19391            'healthy: ' + repr(self.healthy) + ' ' +\
19392            'id: ' + repr(self.id) + ' ' +\
19393            'name: ' + repr(self.name) + ' ' +\
19394            'port: ' + repr(self.port) + ' ' +\
19395            'port_override: ' + repr(self.port_override) + ' ' +\
19396            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19397            'region: ' + repr(self.region) + ' ' +\
19398            'role_arn: ' + repr(self.role_arn) + ' ' +\
19399            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19400            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19401            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19402            'subdomain: ' + repr(self.subdomain) + ' ' +\
19403            'tags: ' + repr(self.tags) + ' ' +\
19404            '>'
19405
19406    def to_dict(self):
19407        return {
19408            'access_key': self.access_key,
19409            'bind_interface': self.bind_interface,
19410            'egress_filter': self.egress_filter,
19411            'endpoint': self.endpoint,
19412            'healthy': self.healthy,
19413            'id': self.id,
19414            'name': self.name,
19415            'port': self.port,
19416            'port_override': self.port_override,
19417            'proxy_cluster_id': self.proxy_cluster_id,
19418            'region': self.region,
19419            'role_arn': self.role_arn,
19420            'role_external_id': self.role_external_id,
19421            'secret_access_key': self.secret_access_key,
19422            'secret_store_id': self.secret_store_id,
19423            'subdomain': self.subdomain,
19424            'tags': self.tags,
19425        }
19426
19427    @classmethod
19428    def from_dict(cls, d):
19429        return cls(
19430            access_key=d.get('access_key'),
19431            bind_interface=d.get('bind_interface'),
19432            egress_filter=d.get('egress_filter'),
19433            endpoint=d.get('endpoint'),
19434            healthy=d.get('healthy'),
19435            id=d.get('id'),
19436            name=d.get('name'),
19437            port=d.get('port'),
19438            port_override=d.get('port_override'),
19439            proxy_cluster_id=d.get('proxy_cluster_id'),
19440            region=d.get('region'),
19441            role_arn=d.get('role_arn'),
19442            role_external_id=d.get('role_external_id'),
19443            secret_access_key=d.get('secret_access_key'),
19444            secret_store_id=d.get('secret_store_id'),
19445            subdomain=d.get('subdomain'),
19446            tags=d.get('tags'),
19447        )
19448
19449
19450class NodeCreateResponse:
19451    '''
19452         NodeCreateResponse reports how the Nodes were created in the system.
19453    '''
19454    __slots__ = [
19455        'meta',
19456        'node',
19457        'rate_limit',
19458        'token',
19459    ]
19460
19461    def __init__(
19462        self,
19463        meta=None,
19464        node=None,
19465        rate_limit=None,
19466        token=None,
19467    ):
19468        self.meta = meta if meta is not None else None
19469        '''
19470         Reserved for future use.
19471        '''
19472        self.node = node if node is not None else None
19473        '''
19474         The created Node.
19475        '''
19476        self.rate_limit = rate_limit if rate_limit is not None else None
19477        '''
19478         Rate limit information.
19479        '''
19480        self.token = token if token is not None else ''
19481        '''
19482         The auth token generated for the Node. The Node will use this token to
19483         authenticate with the strongDM API.
19484        '''
19485
19486    def __repr__(self):
19487        return '<sdm.NodeCreateResponse ' + \
19488            'meta: ' + repr(self.meta) + ' ' +\
19489            'node: ' + repr(self.node) + ' ' +\
19490            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19491            'token: ' + repr(self.token) + ' ' +\
19492            '>'
19493
19494    def to_dict(self):
19495        return {
19496            'meta': self.meta,
19497            'node': self.node,
19498            'rate_limit': self.rate_limit,
19499            'token': self.token,
19500        }
19501
19502    @classmethod
19503    def from_dict(cls, d):
19504        return cls(
19505            meta=d.get('meta'),
19506            node=d.get('node'),
19507            rate_limit=d.get('rate_limit'),
19508            token=d.get('token'),
19509        )
19510
19511
19512class NodeDeleteResponse:
19513    '''
19514         NodeDeleteResponse returns information about a Node that was deleted.
19515    '''
19516    __slots__ = [
19517        'meta',
19518        'rate_limit',
19519    ]
19520
19521    def __init__(
19522        self,
19523        meta=None,
19524        rate_limit=None,
19525    ):
19526        self.meta = meta if meta is not None else None
19527        '''
19528         Reserved for future use.
19529        '''
19530        self.rate_limit = rate_limit if rate_limit is not None else None
19531        '''
19532         Rate limit information.
19533        '''
19534
19535    def __repr__(self):
19536        return '<sdm.NodeDeleteResponse ' + \
19537            'meta: ' + repr(self.meta) + ' ' +\
19538            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19539            '>'
19540
19541    def to_dict(self):
19542        return {
19543            'meta': self.meta,
19544            'rate_limit': self.rate_limit,
19545        }
19546
19547    @classmethod
19548    def from_dict(cls, d):
19549        return cls(
19550            meta=d.get('meta'),
19551            rate_limit=d.get('rate_limit'),
19552        )
19553
19554
19555class NodeGetResponse:
19556    '''
19557         NodeGetResponse returns a requested Node.
19558    '''
19559    __slots__ = [
19560        'meta',
19561        'node',
19562        'rate_limit',
19563    ]
19564
19565    def __init__(
19566        self,
19567        meta=None,
19568        node=None,
19569        rate_limit=None,
19570    ):
19571        self.meta = meta if meta is not None else None
19572        '''
19573         Reserved for future use.
19574        '''
19575        self.node = node if node is not None else None
19576        '''
19577         The requested Node.
19578        '''
19579        self.rate_limit = rate_limit if rate_limit is not None else None
19580        '''
19581         Rate limit information.
19582        '''
19583
19584    def __repr__(self):
19585        return '<sdm.NodeGetResponse ' + \
19586            'meta: ' + repr(self.meta) + ' ' +\
19587            'node: ' + repr(self.node) + ' ' +\
19588            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19589            '>'
19590
19591    def to_dict(self):
19592        return {
19593            'meta': self.meta,
19594            'node': self.node,
19595            'rate_limit': self.rate_limit,
19596        }
19597
19598    @classmethod
19599    def from_dict(cls, d):
19600        return cls(
19601            meta=d.get('meta'),
19602            node=d.get('node'),
19603            rate_limit=d.get('rate_limit'),
19604        )
19605
19606
19607class NodeHistory:
19608    '''
19609         NodeHistory records the state of a Node at a given point in time,
19610     where every change (create, update and delete) to a Node produces an
19611     NodeHistory record.
19612    '''
19613    __slots__ = [
19614        'activity_id',
19615        'deleted_at',
19616        'node',
19617        'timestamp',
19618    ]
19619
19620    def __init__(
19621        self,
19622        activity_id=None,
19623        deleted_at=None,
19624        node=None,
19625        timestamp=None,
19626    ):
19627        self.activity_id = activity_id if activity_id is not None else ''
19628        '''
19629         The unique identifier of the Activity that produced this change to the Node.
19630         May be empty for some system-initiated updates.
19631        '''
19632        self.deleted_at = deleted_at if deleted_at is not None else None
19633        '''
19634         If this Node was deleted, the time it was deleted.
19635        '''
19636        self.node = node if node is not None else None
19637        '''
19638         The complete Node state at this time.
19639        '''
19640        self.timestamp = timestamp if timestamp is not None else None
19641        '''
19642         The time at which the Node state was recorded.
19643        '''
19644
19645    def __repr__(self):
19646        return '<sdm.NodeHistory ' + \
19647            'activity_id: ' + repr(self.activity_id) + ' ' +\
19648            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19649            'node: ' + repr(self.node) + ' ' +\
19650            'timestamp: ' + repr(self.timestamp) + ' ' +\
19651            '>'
19652
19653    def to_dict(self):
19654        return {
19655            'activity_id': self.activity_id,
19656            'deleted_at': self.deleted_at,
19657            'node': self.node,
19658            'timestamp': self.timestamp,
19659        }
19660
19661    @classmethod
19662    def from_dict(cls, d):
19663        return cls(
19664            activity_id=d.get('activity_id'),
19665            deleted_at=d.get('deleted_at'),
19666            node=d.get('node'),
19667            timestamp=d.get('timestamp'),
19668        )
19669
19670
19671class NodeMaintenanceWindow:
19672    __slots__ = [
19673        'cron_schedule',
19674        'require_idleness',
19675    ]
19676
19677    def __init__(
19678        self,
19679        cron_schedule=None,
19680        require_idleness=None,
19681    ):
19682        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19683        '''
19684         Cron job syntax for when this maintenance window is active. On this schedule, associated
19685         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19686         are represented in UTC.
19687         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19688         Saturday. Not all possible inputs are supported: the month and day of month selections
19689         must be '*'.
19690        '''
19691        self.require_idleness = require_idleness if require_idleness is not None else False
19692        '''
19693         Require Idleness defines whether this window can sever live connections. If true,
19694         this window will not allow a node to be restarted unless it is serving no connections.
19695         If false, given a restart of the node has been requested (for an update, usually), the
19696         node will restart as soon as it enters an allowed day / hour combination. At least one
19697         maintenance window, out of all configured windows for a node, must have this as false.
19698        '''
19699
19700    def __repr__(self):
19701        return '<sdm.NodeMaintenanceWindow ' + \
19702            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19703            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19704            '>'
19705
19706    def to_dict(self):
19707        return {
19708            'cron_schedule': self.cron_schedule,
19709            'require_idleness': self.require_idleness,
19710        }
19711
19712    @classmethod
19713    def from_dict(cls, d):
19714        return cls(
19715            cron_schedule=d.get('cron_schedule'),
19716            require_idleness=d.get('require_idleness'),
19717        )
19718
19719
19720class NodeUpdateResponse:
19721    '''
19722         NodeUpdateResponse returns the fields of a Node after it has been updated by
19723     a NodeUpdateRequest.
19724    '''
19725    __slots__ = [
19726        'meta',
19727        'node',
19728        'rate_limit',
19729    ]
19730
19731    def __init__(
19732        self,
19733        meta=None,
19734        node=None,
19735        rate_limit=None,
19736    ):
19737        self.meta = meta if meta is not None else None
19738        '''
19739         Reserved for future use.
19740        '''
19741        self.node = node if node is not None else None
19742        '''
19743         The updated Node.
19744        '''
19745        self.rate_limit = rate_limit if rate_limit is not None else None
19746        '''
19747         Rate limit information.
19748        '''
19749
19750    def __repr__(self):
19751        return '<sdm.NodeUpdateResponse ' + \
19752            'meta: ' + repr(self.meta) + ' ' +\
19753            'node: ' + repr(self.node) + ' ' +\
19754            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19755            '>'
19756
19757    def to_dict(self):
19758        return {
19759            'meta': self.meta,
19760            'node': self.node,
19761            'rate_limit': self.rate_limit,
19762        }
19763
19764    @classmethod
19765    def from_dict(cls, d):
19766        return cls(
19767            meta=d.get('meta'),
19768            node=d.get('node'),
19769            rate_limit=d.get('rate_limit'),
19770        )
19771
19772
19773class Oracle:
19774    __slots__ = [
19775        'bind_interface',
19776        'database',
19777        'egress_filter',
19778        'healthy',
19779        'hostname',
19780        'id',
19781        'name',
19782        'password',
19783        'port',
19784        'port_override',
19785        'proxy_cluster_id',
19786        'secret_store_id',
19787        'subdomain',
19788        'tags',
19789        'tls_required',
19790        'username',
19791    ]
19792
19793    def __init__(
19794        self,
19795        bind_interface=None,
19796        database=None,
19797        egress_filter=None,
19798        healthy=None,
19799        hostname=None,
19800        id=None,
19801        name=None,
19802        password=None,
19803        port=None,
19804        port_override=None,
19805        proxy_cluster_id=None,
19806        secret_store_id=None,
19807        subdomain=None,
19808        tags=None,
19809        tls_required=None,
19810        username=None,
19811    ):
19812        self.bind_interface = bind_interface if bind_interface is not None else ''
19813        '''
19814         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19815        '''
19816        self.database = database if database is not None else ''
19817        '''
19818         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19819        '''
19820        self.egress_filter = egress_filter if egress_filter is not None else ''
19821        '''
19822         A filter applied to the routing logic to pin datasource to nodes.
19823        '''
19824        self.healthy = healthy if healthy is not None else False
19825        '''
19826         True if the datasource is reachable and the credentials are valid.
19827        '''
19828        self.hostname = hostname if hostname is not None else ''
19829        '''
19830         The host to dial to initiate a connection from the egress node to this resource.
19831        '''
19832        self.id = id if id is not None else ''
19833        '''
19834         Unique identifier of the Resource.
19835        '''
19836        self.name = name if name is not None else ''
19837        '''
19838         Unique human-readable name of the Resource.
19839        '''
19840        self.password = password if password is not None else ''
19841        '''
19842         The password to authenticate with.
19843        '''
19844        self.port = port if port is not None else 0
19845        '''
19846         The port to dial to initiate a connection from the egress node to this resource.
19847        '''
19848        self.port_override = port_override if port_override is not None else 0
19849        '''
19850         The local port used by clients to connect to this resource.
19851        '''
19852        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19853        '''
19854         ID of the proxy cluster for this resource, if any.
19855        '''
19856        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19857        '''
19858         ID of the secret store containing credentials for this resource, if any.
19859        '''
19860        self.subdomain = subdomain if subdomain is not None else ''
19861        '''
19862         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19863        '''
19864        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19865        '''
19866         Tags is a map of key, value pairs.
19867        '''
19868        self.tls_required = tls_required if tls_required is not None else False
19869        '''
19870         If set, TLS must be used to connect to this resource.
19871        '''
19872        self.username = username if username is not None else ''
19873        '''
19874         The username to authenticate with.
19875        '''
19876
19877    def __repr__(self):
19878        return '<sdm.Oracle ' + \
19879            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19880            'database: ' + repr(self.database) + ' ' +\
19881            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19882            'healthy: ' + repr(self.healthy) + ' ' +\
19883            'hostname: ' + repr(self.hostname) + ' ' +\
19884            'id: ' + repr(self.id) + ' ' +\
19885            'name: ' + repr(self.name) + ' ' +\
19886            'password: ' + repr(self.password) + ' ' +\
19887            'port: ' + repr(self.port) + ' ' +\
19888            'port_override: ' + repr(self.port_override) + ' ' +\
19889            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19890            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19891            'subdomain: ' + repr(self.subdomain) + ' ' +\
19892            'tags: ' + repr(self.tags) + ' ' +\
19893            'tls_required: ' + repr(self.tls_required) + ' ' +\
19894            'username: ' + repr(self.username) + ' ' +\
19895            '>'
19896
19897    def to_dict(self):
19898        return {
19899            'bind_interface': self.bind_interface,
19900            'database': self.database,
19901            'egress_filter': self.egress_filter,
19902            'healthy': self.healthy,
19903            'hostname': self.hostname,
19904            'id': self.id,
19905            'name': self.name,
19906            'password': self.password,
19907            'port': self.port,
19908            'port_override': self.port_override,
19909            'proxy_cluster_id': self.proxy_cluster_id,
19910            'secret_store_id': self.secret_store_id,
19911            'subdomain': self.subdomain,
19912            'tags': self.tags,
19913            'tls_required': self.tls_required,
19914            'username': self.username,
19915        }
19916
19917    @classmethod
19918    def from_dict(cls, d):
19919        return cls(
19920            bind_interface=d.get('bind_interface'),
19921            database=d.get('database'),
19922            egress_filter=d.get('egress_filter'),
19923            healthy=d.get('healthy'),
19924            hostname=d.get('hostname'),
19925            id=d.get('id'),
19926            name=d.get('name'),
19927            password=d.get('password'),
19928            port=d.get('port'),
19929            port_override=d.get('port_override'),
19930            proxy_cluster_id=d.get('proxy_cluster_id'),
19931            secret_store_id=d.get('secret_store_id'),
19932            subdomain=d.get('subdomain'),
19933            tags=d.get('tags'),
19934            tls_required=d.get('tls_required'),
19935            username=d.get('username'),
19936        )
19937
19938
19939class OracleNNE:
19940    __slots__ = [
19941        'bind_interface',
19942        'database',
19943        'egress_filter',
19944        'healthy',
19945        'hostname',
19946        'id',
19947        'name',
19948        'password',
19949        'port',
19950        'port_override',
19951        'proxy_cluster_id',
19952        'secret_store_id',
19953        'subdomain',
19954        'tags',
19955        'username',
19956    ]
19957
19958    def __init__(
19959        self,
19960        bind_interface=None,
19961        database=None,
19962        egress_filter=None,
19963        healthy=None,
19964        hostname=None,
19965        id=None,
19966        name=None,
19967        password=None,
19968        port=None,
19969        port_override=None,
19970        proxy_cluster_id=None,
19971        secret_store_id=None,
19972        subdomain=None,
19973        tags=None,
19974        username=None,
19975    ):
19976        self.bind_interface = bind_interface if bind_interface is not None else ''
19977        '''
19978         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19979        '''
19980        self.database = database if database is not None else ''
19981        '''
19982         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19983        '''
19984        self.egress_filter = egress_filter if egress_filter is not None else ''
19985        '''
19986         A filter applied to the routing logic to pin datasource to nodes.
19987        '''
19988        self.healthy = healthy if healthy is not None else False
19989        '''
19990         True if the datasource is reachable and the credentials are valid.
19991        '''
19992        self.hostname = hostname if hostname is not None else ''
19993        '''
19994         The host to dial to initiate a connection from the egress node to this resource.
19995        '''
19996        self.id = id if id is not None else ''
19997        '''
19998         Unique identifier of the Resource.
19999        '''
20000        self.name = name if name is not None else ''
20001        '''
20002         Unique human-readable name of the Resource.
20003        '''
20004        self.password = password if password is not None else ''
20005        '''
20006         The password to authenticate with.
20007        '''
20008        self.port = port if port is not None else 0
20009        '''
20010         The port to dial to initiate a connection from the egress node to this resource.
20011        '''
20012        self.port_override = port_override if port_override is not None else 0
20013        '''
20014         The local port used by clients to connect to this resource.
20015        '''
20016        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20017        '''
20018         ID of the proxy cluster for this resource, if any.
20019        '''
20020        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20021        '''
20022         ID of the secret store containing credentials for this resource, if any.
20023        '''
20024        self.subdomain = subdomain if subdomain is not None else ''
20025        '''
20026         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
20027        '''
20028        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20029        '''
20030         Tags is a map of key, value pairs.
20031        '''
20032        self.username = username if username is not None else ''
20033        '''
20034         The username to authenticate with.
20035        '''
20036
20037    def __repr__(self):
20038        return '<sdm.OracleNNE ' + \
20039            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20040            'database: ' + repr(self.database) + ' ' +\
20041            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20042            'healthy: ' + repr(self.healthy) + ' ' +\
20043            'hostname: ' + repr(self.hostname) + ' ' +\
20044            'id: ' + repr(self.id) + ' ' +\
20045            'name: ' + repr(self.name) + ' ' +\
20046            'password: ' + repr(self.password) + ' ' +\
20047            'port: ' + repr(self.port) + ' ' +\
20048            'port_override: ' + repr(self.port_override) + ' ' +\
20049            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20050            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20051            'subdomain: ' + repr(self.subdomain) + ' ' +\
20052            'tags: ' + repr(self.tags) + ' ' +\
20053            'username: ' + repr(self.username) + ' ' +\
20054            '>'
20055
20056    def to_dict(self):
20057        return {
20058            'bind_interface': self.bind_interface,
20059            'database': self.database,
20060            'egress_filter': self.egress_filter,
20061            'healthy': self.healthy,
20062            'hostname': self.hostname,
20063            'id': self.id,
20064            'name': self.name,
20065            'password': self.password,
20066            'port': self.port,
20067            'port_override': self.port_override,
20068            'proxy_cluster_id': self.proxy_cluster_id,
20069            'secret_store_id': self.secret_store_id,
20070            'subdomain': self.subdomain,
20071            'tags': self.tags,
20072            'username': self.username,
20073        }
20074
20075    @classmethod
20076    def from_dict(cls, d):
20077        return cls(
20078            bind_interface=d.get('bind_interface'),
20079            database=d.get('database'),
20080            egress_filter=d.get('egress_filter'),
20081            healthy=d.get('healthy'),
20082            hostname=d.get('hostname'),
20083            id=d.get('id'),
20084            name=d.get('name'),
20085            password=d.get('password'),
20086            port=d.get('port'),
20087            port_override=d.get('port_override'),
20088            proxy_cluster_id=d.get('proxy_cluster_id'),
20089            secret_store_id=d.get('secret_store_id'),
20090            subdomain=d.get('subdomain'),
20091            tags=d.get('tags'),
20092            username=d.get('username'),
20093        )
20094
20095
20096class Organization:
20097    __slots__ = [
20098        'auth_provider',
20099        'created_at',
20100        'device_trust_enabled',
20101        'device_trust_provider',
20102        'discard_replays',
20103        'enforce_single_session',
20104        'idle_timeout',
20105        'idle_timeout_enabled',
20106        'kind',
20107        'log_local_encoder',
20108        'log_local_format',
20109        'log_local_storage',
20110        'log_remote_encoder',
20111        'log_socket_path',
20112        'log_tcp_address',
20113        'loopback_range',
20114        'mfa_enabled',
20115        'mfa_provider',
20116        'name',
20117        'public_key_pem',
20118        'require_secret_store',
20119        'saml_metadata_url',
20120        'scim_provider',
20121        'sensitive_label',
20122        'session_timeout',
20123        'session_timeout_enabled',
20124        'ssh_certificate_authority_public_key',
20125        'ssh_certificate_authority_updated_at',
20126        'updated_at',
20127        'websites_subdomain',
20128    ]
20129
20130    def __init__(
20131        self,
20132        auth_provider=None,
20133        created_at=None,
20134        device_trust_enabled=None,
20135        device_trust_provider=None,
20136        discard_replays=None,
20137        enforce_single_session=None,
20138        idle_timeout=None,
20139        idle_timeout_enabled=None,
20140        kind=None,
20141        log_local_encoder=None,
20142        log_local_format=None,
20143        log_local_storage=None,
20144        log_remote_encoder=None,
20145        log_socket_path=None,
20146        log_tcp_address=None,
20147        loopback_range=None,
20148        mfa_enabled=None,
20149        mfa_provider=None,
20150        name=None,
20151        public_key_pem=None,
20152        require_secret_store=None,
20153        saml_metadata_url=None,
20154        scim_provider=None,
20155        sensitive_label=None,
20156        session_timeout=None,
20157        session_timeout_enabled=None,
20158        ssh_certificate_authority_public_key=None,
20159        ssh_certificate_authority_updated_at=None,
20160        updated_at=None,
20161        websites_subdomain=None,
20162    ):
20163        self.auth_provider = auth_provider if auth_provider is not None else ''
20164        '''
20165         The Organization's authentication provider, one of the AuthProvider constants.
20166        '''
20167        self.created_at = created_at if created_at is not None else None
20168        '''
20169         The time at which the Organization was created.
20170        '''
20171        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20172        '''
20173         Indicates if the Organization has device trust enabled.
20174        '''
20175        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20176        '''
20177         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20178        '''
20179        self.discard_replays = discard_replays if discard_replays is not None else False
20180        '''
20181         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20182        '''
20183        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20184        '''
20185         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20186        '''
20187        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20188        '''
20189         The Organization's idle timeout, if enabled.
20190        '''
20191        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20192        '''
20193         Indicates if the Organization has idle timeouts enabled.
20194        '''
20195        self.kind = kind if kind is not None else ''
20196        '''
20197         The Organization's type, one of the OrgKind constants.
20198        '''
20199        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20200        '''
20201         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20202        '''
20203        self.log_local_format = log_local_format if log_local_format is not None else ''
20204        '''
20205         The Organization's local log format, one of the LogLocalFormat constants.
20206        '''
20207        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20208        '''
20209         The Organization's local log storage, one of the LogLocalStorage constants.
20210        '''
20211        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20212        '''
20213         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20214        '''
20215        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20216        '''
20217         The Organization's socket path for Socket local log storage.
20218        '''
20219        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20220        '''
20221         The Organization's TCP address for TCP or Syslog local log storage.
20222        '''
20223        self.loopback_range = loopback_range if loopback_range is not None else ''
20224        '''
20225         The Organization's loopback range.
20226        '''
20227        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20228        '''
20229         Indicates if the Organization has multi-factor authentication enabled.
20230        '''
20231        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20232        '''
20233         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20234        '''
20235        self.name = name if name is not None else ''
20236        '''
20237         The Organization's name.
20238        '''
20239        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20240        '''
20241         The Organization's public key PEM for encrypting remote logs.
20242        '''
20243        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20244        '''
20245         Indicates if the Organization requires secret stores.
20246        '''
20247        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20248        '''
20249         The Organization's URL for SAML metadata.
20250        '''
20251        self.scim_provider = scim_provider if scim_provider is not None else ''
20252        '''
20253         The Organization's SCIM provider, one of the SCIMProvider constants.
20254        '''
20255        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20256        '''
20257         The Organization's label for sensitive resources.
20258        '''
20259        self.session_timeout = session_timeout if session_timeout is not None else None
20260        '''
20261         The Organization's session timeout, if enabled.
20262        '''
20263        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20264        '''
20265         Indicates if the Organization has session timeouts enabled.
20266        '''
20267        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20268        '''
20269         The Organization's SSH certificate authority public key.
20270        '''
20271        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20272        '''
20273         The time at which the Organization's SSH certificate authority was last updated.
20274        '''
20275        self.updated_at = updated_at if updated_at is not None else None
20276        '''
20277         The time at which the Organization was last updated.
20278        '''
20279        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20280        '''
20281         The Organization's web site domain.
20282        '''
20283
20284    def __repr__(self):
20285        return '<sdm.Organization ' + \
20286            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20287            'created_at: ' + repr(self.created_at) + ' ' +\
20288            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20289            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20290            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20291            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20292            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20293            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20294            'kind: ' + repr(self.kind) + ' ' +\
20295            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20296            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20297            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20298            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20299            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20300            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20301            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20302            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20303            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20304            'name: ' + repr(self.name) + ' ' +\
20305            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20306            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20307            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20308            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20309            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20310            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20311            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20312            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20313            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20314            'updated_at: ' + repr(self.updated_at) + ' ' +\
20315            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20316            '>'
20317
20318    def to_dict(self):
20319        return {
20320            'auth_provider': self.auth_provider,
20321            'created_at': self.created_at,
20322            'device_trust_enabled': self.device_trust_enabled,
20323            'device_trust_provider': self.device_trust_provider,
20324            'discard_replays': self.discard_replays,
20325            'enforce_single_session': self.enforce_single_session,
20326            'idle_timeout': self.idle_timeout,
20327            'idle_timeout_enabled': self.idle_timeout_enabled,
20328            'kind': self.kind,
20329            'log_local_encoder': self.log_local_encoder,
20330            'log_local_format': self.log_local_format,
20331            'log_local_storage': self.log_local_storage,
20332            'log_remote_encoder': self.log_remote_encoder,
20333            'log_socket_path': self.log_socket_path,
20334            'log_tcp_address': self.log_tcp_address,
20335            'loopback_range': self.loopback_range,
20336            'mfa_enabled': self.mfa_enabled,
20337            'mfa_provider': self.mfa_provider,
20338            'name': self.name,
20339            'public_key_pem': self.public_key_pem,
20340            'require_secret_store': self.require_secret_store,
20341            'saml_metadata_url': self.saml_metadata_url,
20342            'scim_provider': self.scim_provider,
20343            'sensitive_label': self.sensitive_label,
20344            'session_timeout': self.session_timeout,
20345            'session_timeout_enabled': self.session_timeout_enabled,
20346            'ssh_certificate_authority_public_key':
20347            self.ssh_certificate_authority_public_key,
20348            'ssh_certificate_authority_updated_at':
20349            self.ssh_certificate_authority_updated_at,
20350            'updated_at': self.updated_at,
20351            'websites_subdomain': self.websites_subdomain,
20352        }
20353
20354    @classmethod
20355    def from_dict(cls, d):
20356        return cls(
20357            auth_provider=d.get('auth_provider'),
20358            created_at=d.get('created_at'),
20359            device_trust_enabled=d.get('device_trust_enabled'),
20360            device_trust_provider=d.get('device_trust_provider'),
20361            discard_replays=d.get('discard_replays'),
20362            enforce_single_session=d.get('enforce_single_session'),
20363            idle_timeout=d.get('idle_timeout'),
20364            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20365            kind=d.get('kind'),
20366            log_local_encoder=d.get('log_local_encoder'),
20367            log_local_format=d.get('log_local_format'),
20368            log_local_storage=d.get('log_local_storage'),
20369            log_remote_encoder=d.get('log_remote_encoder'),
20370            log_socket_path=d.get('log_socket_path'),
20371            log_tcp_address=d.get('log_tcp_address'),
20372            loopback_range=d.get('loopback_range'),
20373            mfa_enabled=d.get('mfa_enabled'),
20374            mfa_provider=d.get('mfa_provider'),
20375            name=d.get('name'),
20376            public_key_pem=d.get('public_key_pem'),
20377            require_secret_store=d.get('require_secret_store'),
20378            saml_metadata_url=d.get('saml_metadata_url'),
20379            scim_provider=d.get('scim_provider'),
20380            sensitive_label=d.get('sensitive_label'),
20381            session_timeout=d.get('session_timeout'),
20382            session_timeout_enabled=d.get('session_timeout_enabled'),
20383            ssh_certificate_authority_public_key=d.get(
20384                'ssh_certificate_authority_public_key'),
20385            ssh_certificate_authority_updated_at=d.get(
20386                'ssh_certificate_authority_updated_at'),
20387            updated_at=d.get('updated_at'),
20388            websites_subdomain=d.get('websites_subdomain'),
20389        )
20390
20391
20392class OrganizationHistoryRecord:
20393    '''
20394         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20395     where every change to an Organization produces an OrganizationHistoryRecord.
20396    '''
20397    __slots__ = [
20398        'activity_id',
20399        'organization',
20400        'timestamp',
20401    ]
20402
20403    def __init__(
20404        self,
20405        activity_id=None,
20406        organization=None,
20407        timestamp=None,
20408    ):
20409        self.activity_id = activity_id if activity_id is not None else ''
20410        '''
20411         The unique identifier of the Activity that produced this change to the Organization.
20412         May be empty for some system-initiated organization updates.
20413        '''
20414        self.organization = organization if organization is not None else None
20415        '''
20416         The complete Organization state at this time.
20417        '''
20418        self.timestamp = timestamp if timestamp is not None else None
20419        '''
20420         The time at which the Organization state was recorded.
20421        '''
20422
20423    def __repr__(self):
20424        return '<sdm.OrganizationHistoryRecord ' + \
20425            'activity_id: ' + repr(self.activity_id) + ' ' +\
20426            'organization: ' + repr(self.organization) + ' ' +\
20427            'timestamp: ' + repr(self.timestamp) + ' ' +\
20428            '>'
20429
20430    def to_dict(self):
20431        return {
20432            'activity_id': self.activity_id,
20433            'organization': self.organization,
20434            'timestamp': self.timestamp,
20435        }
20436
20437    @classmethod
20438    def from_dict(cls, d):
20439        return cls(
20440            activity_id=d.get('activity_id'),
20441            organization=d.get('organization'),
20442            timestamp=d.get('timestamp'),
20443        )
20444
20445
20446class PeeringGroup:
20447    '''
20448         PeeringGroups are the building blocks used for explicit network topology making.
20449     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20450    '''
20451    __slots__ = [
20452        'id',
20453        'name',
20454    ]
20455
20456    def __init__(
20457        self,
20458        id=None,
20459        name=None,
20460    ):
20461        self.id = id if id is not None else ''
20462        '''
20463         Unique identifier of the PeeringGroup.
20464        '''
20465        self.name = name if name is not None else ''
20466        '''
20467         Unique human-readable name of the PeeringGroup.
20468        '''
20469
20470    def __repr__(self):
20471        return '<sdm.PeeringGroup ' + \
20472            'id: ' + repr(self.id) + ' ' +\
20473            'name: ' + repr(self.name) + ' ' +\
20474            '>'
20475
20476    def to_dict(self):
20477        return {
20478            'id': self.id,
20479            'name': self.name,
20480        }
20481
20482    @classmethod
20483    def from_dict(cls, d):
20484        return cls(
20485            id=d.get('id'),
20486            name=d.get('name'),
20487        )
20488
20489
20490class PeeringGroupCreateResponse:
20491    '''
20492         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20493    '''
20494    __slots__ = [
20495        'meta',
20496        'peering_group',
20497        'rate_limit',
20498    ]
20499
20500    def __init__(
20501        self,
20502        meta=None,
20503        peering_group=None,
20504        rate_limit=None,
20505    ):
20506        self.meta = meta if meta is not None else None
20507        '''
20508         Reserved for future use.
20509        '''
20510        self.peering_group = peering_group if peering_group is not None else None
20511        '''
20512         The created PeeringGroup.
20513        '''
20514        self.rate_limit = rate_limit if rate_limit is not None else None
20515        '''
20516         Rate limit information.
20517        '''
20518
20519    def __repr__(self):
20520        return '<sdm.PeeringGroupCreateResponse ' + \
20521            'meta: ' + repr(self.meta) + ' ' +\
20522            'peering_group: ' + repr(self.peering_group) + ' ' +\
20523            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20524            '>'
20525
20526    def to_dict(self):
20527        return {
20528            'meta': self.meta,
20529            'peering_group': self.peering_group,
20530            'rate_limit': self.rate_limit,
20531        }
20532
20533    @classmethod
20534    def from_dict(cls, d):
20535        return cls(
20536            meta=d.get('meta'),
20537            peering_group=d.get('peering_group'),
20538            rate_limit=d.get('rate_limit'),
20539        )
20540
20541
20542class PeeringGroupDeleteResponse:
20543    '''
20544         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20545    '''
20546    __slots__ = [
20547        'meta',
20548        'rate_limit',
20549    ]
20550
20551    def __init__(
20552        self,
20553        meta=None,
20554        rate_limit=None,
20555    ):
20556        self.meta = meta if meta is not None else None
20557        '''
20558         Reserved for future use.
20559        '''
20560        self.rate_limit = rate_limit if rate_limit is not None else None
20561        '''
20562         Rate limit information.
20563        '''
20564
20565    def __repr__(self):
20566        return '<sdm.PeeringGroupDeleteResponse ' + \
20567            'meta: ' + repr(self.meta) + ' ' +\
20568            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20569            '>'
20570
20571    def to_dict(self):
20572        return {
20573            'meta': self.meta,
20574            'rate_limit': self.rate_limit,
20575        }
20576
20577    @classmethod
20578    def from_dict(cls, d):
20579        return cls(
20580            meta=d.get('meta'),
20581            rate_limit=d.get('rate_limit'),
20582        )
20583
20584
20585class PeeringGroupGetResponse:
20586    '''
20587         PeeringGroupGetResponse returns a requested PeeringGroup.
20588    '''
20589    __slots__ = [
20590        'meta',
20591        'peering_group',
20592        'rate_limit',
20593    ]
20594
20595    def __init__(
20596        self,
20597        meta=None,
20598        peering_group=None,
20599        rate_limit=None,
20600    ):
20601        self.meta = meta if meta is not None else None
20602        '''
20603         Reserved for future use.
20604        '''
20605        self.peering_group = peering_group if peering_group is not None else None
20606        '''
20607         The requested PeeringGroup.
20608        '''
20609        self.rate_limit = rate_limit if rate_limit is not None else None
20610        '''
20611         Rate limit information.
20612        '''
20613
20614    def __repr__(self):
20615        return '<sdm.PeeringGroupGetResponse ' + \
20616            'meta: ' + repr(self.meta) + ' ' +\
20617            'peering_group: ' + repr(self.peering_group) + ' ' +\
20618            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20619            '>'
20620
20621    def to_dict(self):
20622        return {
20623            'meta': self.meta,
20624            'peering_group': self.peering_group,
20625            'rate_limit': self.rate_limit,
20626        }
20627
20628    @classmethod
20629    def from_dict(cls, d):
20630        return cls(
20631            meta=d.get('meta'),
20632            peering_group=d.get('peering_group'),
20633            rate_limit=d.get('rate_limit'),
20634        )
20635
20636
20637class PeeringGroupNode:
20638    '''
20639         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20640    '''
20641    __slots__ = [
20642        'group_id',
20643        'id',
20644        'node_id',
20645    ]
20646
20647    def __init__(
20648        self,
20649        group_id=None,
20650        id=None,
20651        node_id=None,
20652    ):
20653        self.group_id = group_id if group_id is not None else ''
20654        '''
20655         Peering Group ID to which the node will be attached to.
20656        '''
20657        self.id = id if id is not None else ''
20658        '''
20659         Unique identifier of the Attachment.
20660        '''
20661        self.node_id = node_id if node_id is not None else ''
20662        '''
20663         Node ID to be attached.
20664        '''
20665
20666    def __repr__(self):
20667        return '<sdm.PeeringGroupNode ' + \
20668            'group_id: ' + repr(self.group_id) + ' ' +\
20669            'id: ' + repr(self.id) + ' ' +\
20670            'node_id: ' + repr(self.node_id) + ' ' +\
20671            '>'
20672
20673    def to_dict(self):
20674        return {
20675            'group_id': self.group_id,
20676            'id': self.id,
20677            'node_id': self.node_id,
20678        }
20679
20680    @classmethod
20681    def from_dict(cls, d):
20682        return cls(
20683            group_id=d.get('group_id'),
20684            id=d.get('id'),
20685            node_id=d.get('node_id'),
20686        )
20687
20688
20689class PeeringGroupNodeCreateResponse:
20690    '''
20691         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20692    '''
20693    __slots__ = [
20694        'meta',
20695        'peering_group_node',
20696        'rate_limit',
20697    ]
20698
20699    def __init__(
20700        self,
20701        meta=None,
20702        peering_group_node=None,
20703        rate_limit=None,
20704    ):
20705        self.meta = meta if meta is not None else None
20706        '''
20707         Reserved for future use.
20708        '''
20709        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20710        '''
20711         The created PeeringGroupNode.
20712        '''
20713        self.rate_limit = rate_limit if rate_limit is not None else None
20714        '''
20715         Rate limit information.
20716        '''
20717
20718    def __repr__(self):
20719        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20720            'meta: ' + repr(self.meta) + ' ' +\
20721            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20723            '>'
20724
20725    def to_dict(self):
20726        return {
20727            'meta': self.meta,
20728            'peering_group_node': self.peering_group_node,
20729            'rate_limit': self.rate_limit,
20730        }
20731
20732    @classmethod
20733    def from_dict(cls, d):
20734        return cls(
20735            meta=d.get('meta'),
20736            peering_group_node=d.get('peering_group_node'),
20737            rate_limit=d.get('rate_limit'),
20738        )
20739
20740
20741class PeeringGroupNodeDeleteResponse:
20742    '''
20743         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20744    '''
20745    __slots__ = [
20746        'meta',
20747        'rate_limit',
20748    ]
20749
20750    def __init__(
20751        self,
20752        meta=None,
20753        rate_limit=None,
20754    ):
20755        self.meta = meta if meta is not None else None
20756        '''
20757         Reserved for future use.
20758        '''
20759        self.rate_limit = rate_limit if rate_limit is not None else None
20760        '''
20761         Rate limit information.
20762        '''
20763
20764    def __repr__(self):
20765        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20766            'meta: ' + repr(self.meta) + ' ' +\
20767            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20768            '>'
20769
20770    def to_dict(self):
20771        return {
20772            'meta': self.meta,
20773            'rate_limit': self.rate_limit,
20774        }
20775
20776    @classmethod
20777    def from_dict(cls, d):
20778        return cls(
20779            meta=d.get('meta'),
20780            rate_limit=d.get('rate_limit'),
20781        )
20782
20783
20784class PeeringGroupNodeGetResponse:
20785    '''
20786         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20787    '''
20788    __slots__ = [
20789        'meta',
20790        'peering_group_node',
20791        'rate_limit',
20792    ]
20793
20794    def __init__(
20795        self,
20796        meta=None,
20797        peering_group_node=None,
20798        rate_limit=None,
20799    ):
20800        self.meta = meta if meta is not None else None
20801        '''
20802         Reserved for future use.
20803        '''
20804        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20805        '''
20806         The requested PeeringGroupNode.
20807        '''
20808        self.rate_limit = rate_limit if rate_limit is not None else None
20809        '''
20810         Rate limit information.
20811        '''
20812
20813    def __repr__(self):
20814        return '<sdm.PeeringGroupNodeGetResponse ' + \
20815            'meta: ' + repr(self.meta) + ' ' +\
20816            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20817            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20818            '>'
20819
20820    def to_dict(self):
20821        return {
20822            'meta': self.meta,
20823            'peering_group_node': self.peering_group_node,
20824            'rate_limit': self.rate_limit,
20825        }
20826
20827    @classmethod
20828    def from_dict(cls, d):
20829        return cls(
20830            meta=d.get('meta'),
20831            peering_group_node=d.get('peering_group_node'),
20832            rate_limit=d.get('rate_limit'),
20833        )
20834
20835
20836class PeeringGroupPeer:
20837    '''
20838         PeeringGroupPeer represents the link between two PeeringGroups
20839    '''
20840    __slots__ = [
20841        'group_id',
20842        'id',
20843        'peers_with_group_id',
20844    ]
20845
20846    def __init__(
20847        self,
20848        group_id=None,
20849        id=None,
20850        peers_with_group_id=None,
20851    ):
20852        self.group_id = group_id if group_id is not None else ''
20853        '''
20854         Group ID from which the link will originate.
20855        '''
20856        self.id = id if id is not None else ''
20857        '''
20858         Unique identifier of the Attachment.
20859        '''
20860        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20861        '''
20862         Peering Group ID to which Group ID will link.
20863        '''
20864
20865    def __repr__(self):
20866        return '<sdm.PeeringGroupPeer ' + \
20867            'group_id: ' + repr(self.group_id) + ' ' +\
20868            'id: ' + repr(self.id) + ' ' +\
20869            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
20870            '>'
20871
20872    def to_dict(self):
20873        return {
20874            'group_id': self.group_id,
20875            'id': self.id,
20876            'peers_with_group_id': self.peers_with_group_id,
20877        }
20878
20879    @classmethod
20880    def from_dict(cls, d):
20881        return cls(
20882            group_id=d.get('group_id'),
20883            id=d.get('id'),
20884            peers_with_group_id=d.get('peers_with_group_id'),
20885        )
20886
20887
20888class PeeringGroupPeerCreateResponse:
20889    '''
20890         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
20891    '''
20892    __slots__ = [
20893        'meta',
20894        'peering_group_peer',
20895        'rate_limit',
20896    ]
20897
20898    def __init__(
20899        self,
20900        meta=None,
20901        peering_group_peer=None,
20902        rate_limit=None,
20903    ):
20904        self.meta = meta if meta is not None else None
20905        '''
20906         Reserved for future use.
20907        '''
20908        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20909        '''
20910         The created PeeringGroupPeer.
20911        '''
20912        self.rate_limit = rate_limit if rate_limit is not None else None
20913        '''
20914         Rate limit information.
20915        '''
20916
20917    def __repr__(self):
20918        return '<sdm.PeeringGroupPeerCreateResponse ' + \
20919            'meta: ' + repr(self.meta) + ' ' +\
20920            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20921            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20922            '>'
20923
20924    def to_dict(self):
20925        return {
20926            'meta': self.meta,
20927            'peering_group_peer': self.peering_group_peer,
20928            'rate_limit': self.rate_limit,
20929        }
20930
20931    @classmethod
20932    def from_dict(cls, d):
20933        return cls(
20934            meta=d.get('meta'),
20935            peering_group_peer=d.get('peering_group_peer'),
20936            rate_limit=d.get('rate_limit'),
20937        )
20938
20939
20940class PeeringGroupPeerDeleteResponse:
20941    '''
20942         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
20943    '''
20944    __slots__ = [
20945        'meta',
20946        'rate_limit',
20947    ]
20948
20949    def __init__(
20950        self,
20951        meta=None,
20952        rate_limit=None,
20953    ):
20954        self.meta = meta if meta is not None else None
20955        '''
20956         Reserved for future use.
20957        '''
20958        self.rate_limit = rate_limit if rate_limit is not None else None
20959        '''
20960         Rate limit information.
20961        '''
20962
20963    def __repr__(self):
20964        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
20965            'meta: ' + repr(self.meta) + ' ' +\
20966            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20967            '>'
20968
20969    def to_dict(self):
20970        return {
20971            'meta': self.meta,
20972            'rate_limit': self.rate_limit,
20973        }
20974
20975    @classmethod
20976    def from_dict(cls, d):
20977        return cls(
20978            meta=d.get('meta'),
20979            rate_limit=d.get('rate_limit'),
20980        )
20981
20982
20983class PeeringGroupPeerGetResponse:
20984    '''
20985         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
20986    '''
20987    __slots__ = [
20988        'meta',
20989        'peering_group_peer',
20990        'rate_limit',
20991    ]
20992
20993    def __init__(
20994        self,
20995        meta=None,
20996        peering_group_peer=None,
20997        rate_limit=None,
20998    ):
20999        self.meta = meta if meta is not None else None
21000        '''
21001         Reserved for future use.
21002        '''
21003        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21004        '''
21005         The requested PeeringGroupPeer.
21006        '''
21007        self.rate_limit = rate_limit if rate_limit is not None else None
21008        '''
21009         Rate limit information.
21010        '''
21011
21012    def __repr__(self):
21013        return '<sdm.PeeringGroupPeerGetResponse ' + \
21014            'meta: ' + repr(self.meta) + ' ' +\
21015            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21016            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21017            '>'
21018
21019    def to_dict(self):
21020        return {
21021            'meta': self.meta,
21022            'peering_group_peer': self.peering_group_peer,
21023            'rate_limit': self.rate_limit,
21024        }
21025
21026    @classmethod
21027    def from_dict(cls, d):
21028        return cls(
21029            meta=d.get('meta'),
21030            peering_group_peer=d.get('peering_group_peer'),
21031            rate_limit=d.get('rate_limit'),
21032        )
21033
21034
21035class PeeringGroupResource:
21036    '''
21037         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21038    '''
21039    __slots__ = [
21040        'group_id',
21041        'id',
21042        'resource_id',
21043    ]
21044
21045    def __init__(
21046        self,
21047        group_id=None,
21048        id=None,
21049        resource_id=None,
21050    ):
21051        self.group_id = group_id if group_id is not None else ''
21052        '''
21053         Peering Group ID to which the resource will be attached to.
21054        '''
21055        self.id = id if id is not None else ''
21056        '''
21057         Unique identifier of the Attachment.
21058        '''
21059        self.resource_id = resource_id if resource_id is not None else ''
21060        '''
21061         Resource ID to be attached.
21062        '''
21063
21064    def __repr__(self):
21065        return '<sdm.PeeringGroupResource ' + \
21066            'group_id: ' + repr(self.group_id) + ' ' +\
21067            'id: ' + repr(self.id) + ' ' +\
21068            'resource_id: ' + repr(self.resource_id) + ' ' +\
21069            '>'
21070
21071    def to_dict(self):
21072        return {
21073            'group_id': self.group_id,
21074            'id': self.id,
21075            'resource_id': self.resource_id,
21076        }
21077
21078    @classmethod
21079    def from_dict(cls, d):
21080        return cls(
21081            group_id=d.get('group_id'),
21082            id=d.get('id'),
21083            resource_id=d.get('resource_id'),
21084        )
21085
21086
21087class PeeringGroupResourceCreateResponse:
21088    '''
21089         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21090    '''
21091    __slots__ = [
21092        'meta',
21093        'peering_group_resource',
21094        'rate_limit',
21095    ]
21096
21097    def __init__(
21098        self,
21099        meta=None,
21100        peering_group_resource=None,
21101        rate_limit=None,
21102    ):
21103        self.meta = meta if meta is not None else None
21104        '''
21105         Reserved for future use.
21106        '''
21107        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21108        '''
21109         The created PeeringGroupResource.
21110        '''
21111        self.rate_limit = rate_limit if rate_limit is not None else None
21112        '''
21113         Rate limit information.
21114        '''
21115
21116    def __repr__(self):
21117        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21118            'meta: ' + repr(self.meta) + ' ' +\
21119            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21120            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21121            '>'
21122
21123    def to_dict(self):
21124        return {
21125            'meta': self.meta,
21126            'peering_group_resource': self.peering_group_resource,
21127            'rate_limit': self.rate_limit,
21128        }
21129
21130    @classmethod
21131    def from_dict(cls, d):
21132        return cls(
21133            meta=d.get('meta'),
21134            peering_group_resource=d.get('peering_group_resource'),
21135            rate_limit=d.get('rate_limit'),
21136        )
21137
21138
21139class PeeringGroupResourceDeleteResponse:
21140    '''
21141         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21142    '''
21143    __slots__ = [
21144        'meta',
21145        'rate_limit',
21146    ]
21147
21148    def __init__(
21149        self,
21150        meta=None,
21151        rate_limit=None,
21152    ):
21153        self.meta = meta if meta is not None else None
21154        '''
21155         Reserved for future use.
21156        '''
21157        self.rate_limit = rate_limit if rate_limit is not None else None
21158        '''
21159         Rate limit information.
21160        '''
21161
21162    def __repr__(self):
21163        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21164            'meta: ' + repr(self.meta) + ' ' +\
21165            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21166            '>'
21167
21168    def to_dict(self):
21169        return {
21170            'meta': self.meta,
21171            'rate_limit': self.rate_limit,
21172        }
21173
21174    @classmethod
21175    def from_dict(cls, d):
21176        return cls(
21177            meta=d.get('meta'),
21178            rate_limit=d.get('rate_limit'),
21179        )
21180
21181
21182class PeeringGroupResourceGetResponse:
21183    '''
21184         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21185    '''
21186    __slots__ = [
21187        'meta',
21188        'peering_group_resource',
21189        'rate_limit',
21190    ]
21191
21192    def __init__(
21193        self,
21194        meta=None,
21195        peering_group_resource=None,
21196        rate_limit=None,
21197    ):
21198        self.meta = meta if meta is not None else None
21199        '''
21200         Reserved for future use.
21201        '''
21202        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21203        '''
21204         The requested PeeringGroupResource.
21205        '''
21206        self.rate_limit = rate_limit if rate_limit is not None else None
21207        '''
21208         Rate limit information.
21209        '''
21210
21211    def __repr__(self):
21212        return '<sdm.PeeringGroupResourceGetResponse ' + \
21213            'meta: ' + repr(self.meta) + ' ' +\
21214            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21215            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21216            '>'
21217
21218    def to_dict(self):
21219        return {
21220            'meta': self.meta,
21221            'peering_group_resource': self.peering_group_resource,
21222            'rate_limit': self.rate_limit,
21223        }
21224
21225    @classmethod
21226    def from_dict(cls, d):
21227        return cls(
21228            meta=d.get('meta'),
21229            peering_group_resource=d.get('peering_group_resource'),
21230            rate_limit=d.get('rate_limit'),
21231        )
21232
21233
21234class Policy:
21235    '''
21236         Policy is a collection of one or more statements that enforce fine-grained access control
21237     for the users of an organization.
21238    '''
21239    __slots__ = [
21240        'description',
21241        'id',
21242        'name',
21243        'policy',
21244    ]
21245
21246    def __init__(
21247        self,
21248        description=None,
21249        id=None,
21250        name=None,
21251        policy=None,
21252    ):
21253        self.description = description if description is not None else ''
21254        '''
21255         Optional description of the Policy.
21256        '''
21257        self.id = id if id is not None else ''
21258        '''
21259         Unique identifier of the Policy.
21260        '''
21261        self.name = name if name is not None else ''
21262        '''
21263         Unique human-readable name of the Policy.
21264        '''
21265        self.policy = policy if policy is not None else ''
21266        '''
21267         The content of the Policy, in Cedar policy language.
21268        '''
21269
21270    def __repr__(self):
21271        return '<sdm.Policy ' + \
21272            'description: ' + repr(self.description) + ' ' +\
21273            'id: ' + repr(self.id) + ' ' +\
21274            'name: ' + repr(self.name) + ' ' +\
21275            'policy: ' + repr(self.policy) + ' ' +\
21276            '>'
21277
21278    def to_dict(self):
21279        return {
21280            'description': self.description,
21281            'id': self.id,
21282            'name': self.name,
21283            'policy': self.policy,
21284        }
21285
21286    @classmethod
21287    def from_dict(cls, d):
21288        return cls(
21289            description=d.get('description'),
21290            id=d.get('id'),
21291            name=d.get('name'),
21292            policy=d.get('policy'),
21293        )
21294
21295
21296class PolicyCreateResponse:
21297    '''
21298         PolicyCreateResponse reports how the Policy was created in the system.
21299    '''
21300    __slots__ = [
21301        'policy',
21302        'rate_limit',
21303    ]
21304
21305    def __init__(
21306        self,
21307        policy=None,
21308        rate_limit=None,
21309    ):
21310        self.policy = policy if policy is not None else None
21311        '''
21312         The created Policy.
21313        '''
21314        self.rate_limit = rate_limit if rate_limit is not None else None
21315        '''
21316         Rate limit information.
21317        '''
21318
21319    def __repr__(self):
21320        return '<sdm.PolicyCreateResponse ' + \
21321            'policy: ' + repr(self.policy) + ' ' +\
21322            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21323            '>'
21324
21325    def to_dict(self):
21326        return {
21327            'policy': self.policy,
21328            'rate_limit': self.rate_limit,
21329        }
21330
21331    @classmethod
21332    def from_dict(cls, d):
21333        return cls(
21334            policy=d.get('policy'),
21335            rate_limit=d.get('rate_limit'),
21336        )
21337
21338
21339class PolicyDeleteResponse:
21340    '''
21341         PolicyDeleteResponse returns information about a Policy that was deleted.
21342    '''
21343    __slots__ = [
21344        'rate_limit',
21345    ]
21346
21347    def __init__(
21348        self,
21349        rate_limit=None,
21350    ):
21351        self.rate_limit = rate_limit if rate_limit is not None else None
21352        '''
21353         Rate limit information.
21354        '''
21355
21356    def __repr__(self):
21357        return '<sdm.PolicyDeleteResponse ' + \
21358            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21359            '>'
21360
21361    def to_dict(self):
21362        return {
21363            'rate_limit': self.rate_limit,
21364        }
21365
21366    @classmethod
21367    def from_dict(cls, d):
21368        return cls(rate_limit=d.get('rate_limit'), )
21369
21370
21371class PolicyGetResponse:
21372    '''
21373         PolicyGetResponse returns a requested Policy.
21374    '''
21375    __slots__ = [
21376        'meta',
21377        'policy',
21378        'rate_limit',
21379    ]
21380
21381    def __init__(
21382        self,
21383        meta=None,
21384        policy=None,
21385        rate_limit=None,
21386    ):
21387        self.meta = meta if meta is not None else None
21388        '''
21389         Reserved for future use.
21390        '''
21391        self.policy = policy if policy is not None else None
21392        '''
21393         The requested Policy.
21394        '''
21395        self.rate_limit = rate_limit if rate_limit is not None else None
21396        '''
21397         Rate limit information.
21398        '''
21399
21400    def __repr__(self):
21401        return '<sdm.PolicyGetResponse ' + \
21402            'meta: ' + repr(self.meta) + ' ' +\
21403            'policy: ' + repr(self.policy) + ' ' +\
21404            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21405            '>'
21406
21407    def to_dict(self):
21408        return {
21409            'meta': self.meta,
21410            'policy': self.policy,
21411            'rate_limit': self.rate_limit,
21412        }
21413
21414    @classmethod
21415    def from_dict(cls, d):
21416        return cls(
21417            meta=d.get('meta'),
21418            policy=d.get('policy'),
21419            rate_limit=d.get('rate_limit'),
21420        )
21421
21422
21423class PolicyHistory:
21424    '''
21425         PolicyHistory records the state of a Policy at a given point in time,
21426     where every change (create, update and delete) to a Policy produces a
21427     PolicyHistory record.
21428    '''
21429    __slots__ = [
21430        'activity_id',
21431        'deleted_at',
21432        'policy',
21433        'timestamp',
21434    ]
21435
21436    def __init__(
21437        self,
21438        activity_id=None,
21439        deleted_at=None,
21440        policy=None,
21441        timestamp=None,
21442    ):
21443        self.activity_id = activity_id if activity_id is not None else ''
21444        '''
21445         The unique identifier of the Activity that produced this change to the Policy.
21446         May be empty for some system-initiated updates.
21447        '''
21448        self.deleted_at = deleted_at if deleted_at is not None else None
21449        '''
21450         If this Policy was deleted, the time it was deleted.
21451        '''
21452        self.policy = policy if policy is not None else None
21453        '''
21454         The complete Policy state at this time.
21455        '''
21456        self.timestamp = timestamp if timestamp is not None else None
21457        '''
21458         The time at which the Policy state was recorded.
21459        '''
21460
21461    def __repr__(self):
21462        return '<sdm.PolicyHistory ' + \
21463            'activity_id: ' + repr(self.activity_id) + ' ' +\
21464            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21465            'policy: ' + repr(self.policy) + ' ' +\
21466            'timestamp: ' + repr(self.timestamp) + ' ' +\
21467            '>'
21468
21469    def to_dict(self):
21470        return {
21471            'activity_id': self.activity_id,
21472            'deleted_at': self.deleted_at,
21473            'policy': self.policy,
21474            'timestamp': self.timestamp,
21475        }
21476
21477    @classmethod
21478    def from_dict(cls, d):
21479        return cls(
21480            activity_id=d.get('activity_id'),
21481            deleted_at=d.get('deleted_at'),
21482            policy=d.get('policy'),
21483            timestamp=d.get('timestamp'),
21484        )
21485
21486
21487class PolicyListResponse:
21488    '''
21489         PolicyListResponse returns a list of Policy records that meet
21490     the criteria of a PolicyListRequest.
21491    '''
21492    __slots__ = [
21493        'rate_limit',
21494    ]
21495
21496    def __init__(
21497        self,
21498        rate_limit=None,
21499    ):
21500        self.rate_limit = rate_limit if rate_limit is not None else None
21501        '''
21502         Rate limit information.
21503        '''
21504
21505    def __repr__(self):
21506        return '<sdm.PolicyListResponse ' + \
21507            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21508            '>'
21509
21510    def to_dict(self):
21511        return {
21512            'rate_limit': self.rate_limit,
21513        }
21514
21515    @classmethod
21516    def from_dict(cls, d):
21517        return cls(rate_limit=d.get('rate_limit'), )
21518
21519
21520class PolicyUpdateResponse:
21521    '''
21522         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21523     a PolicyUpdateRequest.
21524    '''
21525    __slots__ = [
21526        'policy',
21527        'rate_limit',
21528    ]
21529
21530    def __init__(
21531        self,
21532        policy=None,
21533        rate_limit=None,
21534    ):
21535        self.policy = policy if policy is not None else None
21536        '''
21537         The updated Policy.
21538        '''
21539        self.rate_limit = rate_limit if rate_limit is not None else None
21540        '''
21541         Rate limit information.
21542        '''
21543
21544    def __repr__(self):
21545        return '<sdm.PolicyUpdateResponse ' + \
21546            'policy: ' + repr(self.policy) + ' ' +\
21547            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21548            '>'
21549
21550    def to_dict(self):
21551        return {
21552            'policy': self.policy,
21553            'rate_limit': self.rate_limit,
21554        }
21555
21556    @classmethod
21557    def from_dict(cls, d):
21558        return cls(
21559            policy=d.get('policy'),
21560            rate_limit=d.get('rate_limit'),
21561        )
21562
21563
21564class Postgres:
21565    __slots__ = [
21566        'bind_interface',
21567        'database',
21568        'egress_filter',
21569        'healthy',
21570        'hostname',
21571        'id',
21572        'name',
21573        'override_database',
21574        'password',
21575        'port',
21576        'port_override',
21577        'proxy_cluster_id',
21578        'secret_store_id',
21579        'subdomain',
21580        'tags',
21581        'username',
21582    ]
21583
21584    def __init__(
21585        self,
21586        bind_interface=None,
21587        database=None,
21588        egress_filter=None,
21589        healthy=None,
21590        hostname=None,
21591        id=None,
21592        name=None,
21593        override_database=None,
21594        password=None,
21595        port=None,
21596        port_override=None,
21597        proxy_cluster_id=None,
21598        secret_store_id=None,
21599        subdomain=None,
21600        tags=None,
21601        username=None,
21602    ):
21603        self.bind_interface = bind_interface if bind_interface is not None else ''
21604        '''
21605         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21606        '''
21607        self.database = database if database is not None else ''
21608        '''
21609         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21610        '''
21611        self.egress_filter = egress_filter if egress_filter is not None else ''
21612        '''
21613         A filter applied to the routing logic to pin datasource to nodes.
21614        '''
21615        self.healthy = healthy if healthy is not None else False
21616        '''
21617         True if the datasource is reachable and the credentials are valid.
21618        '''
21619        self.hostname = hostname if hostname is not None else ''
21620        '''
21621         The host to dial to initiate a connection from the egress node to this resource.
21622        '''
21623        self.id = id if id is not None else ''
21624        '''
21625         Unique identifier of the Resource.
21626        '''
21627        self.name = name if name is not None else ''
21628        '''
21629         Unique human-readable name of the Resource.
21630        '''
21631        self.override_database = override_database if override_database is not None else False
21632        '''
21633         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.
21634        '''
21635        self.password = password if password is not None else ''
21636        '''
21637         The password to authenticate with.
21638        '''
21639        self.port = port if port is not None else 0
21640        '''
21641         The port to dial to initiate a connection from the egress node to this resource.
21642        '''
21643        self.port_override = port_override if port_override is not None else 0
21644        '''
21645         The local port used by clients to connect to this resource.
21646        '''
21647        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21648        '''
21649         ID of the proxy cluster for this resource, if any.
21650        '''
21651        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21652        '''
21653         ID of the secret store containing credentials for this resource, if any.
21654        '''
21655        self.subdomain = subdomain if subdomain is not None else ''
21656        '''
21657         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21658        '''
21659        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21660        '''
21661         Tags is a map of key, value pairs.
21662        '''
21663        self.username = username if username is not None else ''
21664        '''
21665         The username to authenticate with.
21666        '''
21667
21668    def __repr__(self):
21669        return '<sdm.Postgres ' + \
21670            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21671            'database: ' + repr(self.database) + ' ' +\
21672            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21673            'healthy: ' + repr(self.healthy) + ' ' +\
21674            'hostname: ' + repr(self.hostname) + ' ' +\
21675            'id: ' + repr(self.id) + ' ' +\
21676            'name: ' + repr(self.name) + ' ' +\
21677            'override_database: ' + repr(self.override_database) + ' ' +\
21678            'password: ' + repr(self.password) + ' ' +\
21679            'port: ' + repr(self.port) + ' ' +\
21680            'port_override: ' + repr(self.port_override) + ' ' +\
21681            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21682            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21683            'subdomain: ' + repr(self.subdomain) + ' ' +\
21684            'tags: ' + repr(self.tags) + ' ' +\
21685            'username: ' + repr(self.username) + ' ' +\
21686            '>'
21687
21688    def to_dict(self):
21689        return {
21690            'bind_interface': self.bind_interface,
21691            'database': self.database,
21692            'egress_filter': self.egress_filter,
21693            'healthy': self.healthy,
21694            'hostname': self.hostname,
21695            'id': self.id,
21696            'name': self.name,
21697            'override_database': self.override_database,
21698            'password': self.password,
21699            'port': self.port,
21700            'port_override': self.port_override,
21701            'proxy_cluster_id': self.proxy_cluster_id,
21702            'secret_store_id': self.secret_store_id,
21703            'subdomain': self.subdomain,
21704            'tags': self.tags,
21705            'username': self.username,
21706        }
21707
21708    @classmethod
21709    def from_dict(cls, d):
21710        return cls(
21711            bind_interface=d.get('bind_interface'),
21712            database=d.get('database'),
21713            egress_filter=d.get('egress_filter'),
21714            healthy=d.get('healthy'),
21715            hostname=d.get('hostname'),
21716            id=d.get('id'),
21717            name=d.get('name'),
21718            override_database=d.get('override_database'),
21719            password=d.get('password'),
21720            port=d.get('port'),
21721            port_override=d.get('port_override'),
21722            proxy_cluster_id=d.get('proxy_cluster_id'),
21723            secret_store_id=d.get('secret_store_id'),
21724            subdomain=d.get('subdomain'),
21725            tags=d.get('tags'),
21726            username=d.get('username'),
21727        )
21728
21729
21730class Presto:
21731    __slots__ = [
21732        'bind_interface',
21733        'database',
21734        'egress_filter',
21735        'healthy',
21736        'hostname',
21737        'id',
21738        'name',
21739        'password',
21740        'port',
21741        'port_override',
21742        'proxy_cluster_id',
21743        'secret_store_id',
21744        'subdomain',
21745        'tags',
21746        'tls_required',
21747        'username',
21748    ]
21749
21750    def __init__(
21751        self,
21752        bind_interface=None,
21753        database=None,
21754        egress_filter=None,
21755        healthy=None,
21756        hostname=None,
21757        id=None,
21758        name=None,
21759        password=None,
21760        port=None,
21761        port_override=None,
21762        proxy_cluster_id=None,
21763        secret_store_id=None,
21764        subdomain=None,
21765        tags=None,
21766        tls_required=None,
21767        username=None,
21768    ):
21769        self.bind_interface = bind_interface if bind_interface is not None else ''
21770        '''
21771         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21772        '''
21773        self.database = database if database is not None else ''
21774        '''
21775         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21776        '''
21777        self.egress_filter = egress_filter if egress_filter is not None else ''
21778        '''
21779         A filter applied to the routing logic to pin datasource to nodes.
21780        '''
21781        self.healthy = healthy if healthy is not None else False
21782        '''
21783         True if the datasource is reachable and the credentials are valid.
21784        '''
21785        self.hostname = hostname if hostname is not None else ''
21786        '''
21787         The host to dial to initiate a connection from the egress node to this resource.
21788        '''
21789        self.id = id if id is not None else ''
21790        '''
21791         Unique identifier of the Resource.
21792        '''
21793        self.name = name if name is not None else ''
21794        '''
21795         Unique human-readable name of the Resource.
21796        '''
21797        self.password = password if password is not None else ''
21798        '''
21799         The password to authenticate with.
21800        '''
21801        self.port = port if port is not None else 0
21802        '''
21803         The port to dial to initiate a connection from the egress node to this resource.
21804        '''
21805        self.port_override = port_override if port_override is not None else 0
21806        '''
21807         The local port used by clients to connect to this resource.
21808        '''
21809        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21810        '''
21811         ID of the proxy cluster for this resource, if any.
21812        '''
21813        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21814        '''
21815         ID of the secret store containing credentials for this resource, if any.
21816        '''
21817        self.subdomain = subdomain if subdomain is not None else ''
21818        '''
21819         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21820        '''
21821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21822        '''
21823         Tags is a map of key, value pairs.
21824        '''
21825        self.tls_required = tls_required if tls_required is not None else False
21826        '''
21827         If set, TLS must be used to connect to this resource.
21828        '''
21829        self.username = username if username is not None else ''
21830        '''
21831         The username to authenticate with.
21832        '''
21833
21834    def __repr__(self):
21835        return '<sdm.Presto ' + \
21836            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21837            'database: ' + repr(self.database) + ' ' +\
21838            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21839            'healthy: ' + repr(self.healthy) + ' ' +\
21840            'hostname: ' + repr(self.hostname) + ' ' +\
21841            'id: ' + repr(self.id) + ' ' +\
21842            'name: ' + repr(self.name) + ' ' +\
21843            'password: ' + repr(self.password) + ' ' +\
21844            'port: ' + repr(self.port) + ' ' +\
21845            'port_override: ' + repr(self.port_override) + ' ' +\
21846            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21847            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21848            'subdomain: ' + repr(self.subdomain) + ' ' +\
21849            'tags: ' + repr(self.tags) + ' ' +\
21850            'tls_required: ' + repr(self.tls_required) + ' ' +\
21851            'username: ' + repr(self.username) + ' ' +\
21852            '>'
21853
21854    def to_dict(self):
21855        return {
21856            'bind_interface': self.bind_interface,
21857            'database': self.database,
21858            'egress_filter': self.egress_filter,
21859            'healthy': self.healthy,
21860            'hostname': self.hostname,
21861            'id': self.id,
21862            'name': self.name,
21863            'password': self.password,
21864            'port': self.port,
21865            'port_override': self.port_override,
21866            'proxy_cluster_id': self.proxy_cluster_id,
21867            'secret_store_id': self.secret_store_id,
21868            'subdomain': self.subdomain,
21869            'tags': self.tags,
21870            'tls_required': self.tls_required,
21871            'username': self.username,
21872        }
21873
21874    @classmethod
21875    def from_dict(cls, d):
21876        return cls(
21877            bind_interface=d.get('bind_interface'),
21878            database=d.get('database'),
21879            egress_filter=d.get('egress_filter'),
21880            healthy=d.get('healthy'),
21881            hostname=d.get('hostname'),
21882            id=d.get('id'),
21883            name=d.get('name'),
21884            password=d.get('password'),
21885            port=d.get('port'),
21886            port_override=d.get('port_override'),
21887            proxy_cluster_id=d.get('proxy_cluster_id'),
21888            secret_store_id=d.get('secret_store_id'),
21889            subdomain=d.get('subdomain'),
21890            tags=d.get('tags'),
21891            tls_required=d.get('tls_required'),
21892            username=d.get('username'),
21893        )
21894
21895
21896class ProxyCluster:
21897    '''
21898         ProxyCluster represents a cluster of StrongDM proxies.
21899    '''
21900    __slots__ = [
21901        'address',
21902        'id',
21903        'maintenance_windows',
21904        'name',
21905        'tags',
21906    ]
21907
21908    def __init__(
21909        self,
21910        address=None,
21911        id=None,
21912        maintenance_windows=None,
21913        name=None,
21914        tags=None,
21915    ):
21916        self.address = address if address is not None else ''
21917        '''
21918         The public hostname/port tuple at which the proxy cluster will be
21919         accessible to clients.
21920        '''
21921        self.id = id if id is not None else ''
21922        '''
21923         Unique identifier of the Proxy Cluster.
21924        '''
21925        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21926        '''
21927         Maintenance Windows define when this node is allowed to restart. If a node
21928         is requested to restart, it will check each window to determine if any of
21929         them permit it to restart, and if any do, it will. This check is repeated
21930         per window until the restart is successfully completed.
21931         
21932         If not set here, may be set on the command line or via an environment variable
21933         on the process itself; any server setting will take precedence over local
21934         settings. This setting is ineffective for nodes below version 38.44.0.
21935         
21936         If this setting is not applied via this remote configuration or via local
21937         configuration, the default setting is used: always allow restarts if serving
21938         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21939        '''
21940        self.name = name if name is not None else ''
21941        '''
21942         Unique human-readable name of the proxy cluster. Names must
21943         include only letters, numbers, and hyphens (no spaces, underscores, or
21944         other special characters). Generated if not provided on create.
21945        '''
21946        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21947        '''
21948         Tags is a map of key, value pairs.
21949        '''
21950
21951    def __repr__(self):
21952        return '<sdm.ProxyCluster ' + \
21953            'address: ' + repr(self.address) + ' ' +\
21954            'id: ' + repr(self.id) + ' ' +\
21955            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
21956            'name: ' + repr(self.name) + ' ' +\
21957            'tags: ' + repr(self.tags) + ' ' +\
21958            '>'
21959
21960    def to_dict(self):
21961        return {
21962            'address': self.address,
21963            'id': self.id,
21964            'maintenance_windows': self.maintenance_windows,
21965            'name': self.name,
21966            'tags': self.tags,
21967        }
21968
21969    @classmethod
21970    def from_dict(cls, d):
21971        return cls(
21972            address=d.get('address'),
21973            id=d.get('id'),
21974            maintenance_windows=d.get('maintenance_windows'),
21975            name=d.get('name'),
21976            tags=d.get('tags'),
21977        )
21978
21979
21980class ProxyClusterKey:
21981    '''
21982         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
21983     The proxies within a cluster share the same key. One cluster can have
21984     multiple keys in order to facilitate key rotation.
21985    '''
21986    __slots__ = [
21987        'created_at',
21988        'id',
21989        'last_used_at',
21990        'proxy_cluster_id',
21991    ]
21992
21993    def __init__(
21994        self,
21995        created_at=None,
21996        id=None,
21997        last_used_at=None,
21998        proxy_cluster_id=None,
21999    ):
22000        self.created_at = created_at if created_at is not None else None
22001        '''
22002         The timestamp when this key was created.
22003        '''
22004        self.id = id if id is not None else ''
22005        '''
22006         Unique identifier of the Relay.
22007        '''
22008        self.last_used_at = last_used_at if last_used_at is not None else None
22009        '''
22010         The timestamp when this key was last used, if at all.
22011        '''
22012        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22013        '''
22014         The ID of the proxy cluster which this key authenticates to.
22015        '''
22016
22017    def __repr__(self):
22018        return '<sdm.ProxyClusterKey ' + \
22019            'created_at: ' + repr(self.created_at) + ' ' +\
22020            'id: ' + repr(self.id) + ' ' +\
22021            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22022            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22023            '>'
22024
22025    def to_dict(self):
22026        return {
22027            'created_at': self.created_at,
22028            'id': self.id,
22029            'last_used_at': self.last_used_at,
22030            'proxy_cluster_id': self.proxy_cluster_id,
22031        }
22032
22033    @classmethod
22034    def from_dict(cls, d):
22035        return cls(
22036            created_at=d.get('created_at'),
22037            id=d.get('id'),
22038            last_used_at=d.get('last_used_at'),
22039            proxy_cluster_id=d.get('proxy_cluster_id'),
22040        )
22041
22042
22043class ProxyClusterKeyCreateResponse:
22044    '''
22045         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22046    '''
22047    __slots__ = [
22048        'meta',
22049        'proxy_cluster_key',
22050        'rate_limit',
22051        'secret_key',
22052    ]
22053
22054    def __init__(
22055        self,
22056        meta=None,
22057        proxy_cluster_key=None,
22058        rate_limit=None,
22059        secret_key=None,
22060    ):
22061        self.meta = meta if meta is not None else None
22062        '''
22063         Reserved for future use.
22064        '''
22065        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22066        '''
22067         The created ProxyClusterKey.
22068        '''
22069        self.rate_limit = rate_limit if rate_limit is not None else None
22070        '''
22071         Rate limit information.
22072        '''
22073        self.secret_key = secret_key if secret_key is not None else ''
22074        '''
22075         The secret key component of this key. It must be saved upon creation
22076         because it will not be available for retrieval later.
22077        '''
22078
22079    def __repr__(self):
22080        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22081            'meta: ' + repr(self.meta) + ' ' +\
22082            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22083            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22084            'secret_key: ' + repr(self.secret_key) + ' ' +\
22085            '>'
22086
22087    def to_dict(self):
22088        return {
22089            'meta': self.meta,
22090            'proxy_cluster_key': self.proxy_cluster_key,
22091            'rate_limit': self.rate_limit,
22092            'secret_key': self.secret_key,
22093        }
22094
22095    @classmethod
22096    def from_dict(cls, d):
22097        return cls(
22098            meta=d.get('meta'),
22099            proxy_cluster_key=d.get('proxy_cluster_key'),
22100            rate_limit=d.get('rate_limit'),
22101            secret_key=d.get('secret_key'),
22102        )
22103
22104
22105class ProxyClusterKeyDeleteResponse:
22106    '''
22107         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22108    '''
22109    __slots__ = [
22110        'meta',
22111        'rate_limit',
22112    ]
22113
22114    def __init__(
22115        self,
22116        meta=None,
22117        rate_limit=None,
22118    ):
22119        self.meta = meta if meta is not None else None
22120        '''
22121         Reserved for future use.
22122        '''
22123        self.rate_limit = rate_limit if rate_limit is not None else None
22124        '''
22125         Rate limit information.
22126        '''
22127
22128    def __repr__(self):
22129        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22130            'meta: ' + repr(self.meta) + ' ' +\
22131            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22132            '>'
22133
22134    def to_dict(self):
22135        return {
22136            'meta': self.meta,
22137            'rate_limit': self.rate_limit,
22138        }
22139
22140    @classmethod
22141    def from_dict(cls, d):
22142        return cls(
22143            meta=d.get('meta'),
22144            rate_limit=d.get('rate_limit'),
22145        )
22146
22147
22148class ProxyClusterKeyGetResponse:
22149    '''
22150         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22151    '''
22152    __slots__ = [
22153        'meta',
22154        'proxy_cluster_key',
22155        'rate_limit',
22156    ]
22157
22158    def __init__(
22159        self,
22160        meta=None,
22161        proxy_cluster_key=None,
22162        rate_limit=None,
22163    ):
22164        self.meta = meta if meta is not None else None
22165        '''
22166         Reserved for future use.
22167        '''
22168        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22169        '''
22170         The requested ProxyClusterKey.
22171        '''
22172        self.rate_limit = rate_limit if rate_limit is not None else None
22173        '''
22174         Rate limit information.
22175        '''
22176
22177    def __repr__(self):
22178        return '<sdm.ProxyClusterKeyGetResponse ' + \
22179            'meta: ' + repr(self.meta) + ' ' +\
22180            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22181            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22182            '>'
22183
22184    def to_dict(self):
22185        return {
22186            'meta': self.meta,
22187            'proxy_cluster_key': self.proxy_cluster_key,
22188            'rate_limit': self.rate_limit,
22189        }
22190
22191    @classmethod
22192    def from_dict(cls, d):
22193        return cls(
22194            meta=d.get('meta'),
22195            proxy_cluster_key=d.get('proxy_cluster_key'),
22196            rate_limit=d.get('rate_limit'),
22197        )
22198
22199
22200class Query:
22201    '''
22202         A Query is a record of a single client request to a resource, such as a SQL query.
22203     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22204     interactive sessions will return two Query records with the same identifier, one record
22205     at the start of the query and a second record upon the completion of the query with
22206     additional detail.
22207    '''
22208    __slots__ = [
22209        'account_email',
22210        'account_first_name',
22211        'account_id',
22212        'account_last_name',
22213        'account_tags',
22214        'authzjson',
22215        'capture',
22216        'client_ip',
22217        'completed_at',
22218        'duration',
22219        'egress_node_id',
22220        'encrypted',
22221        'id',
22222        'identity_alias_username',
22223        'metadata_json',
22224        'query_body',
22225        'query_category',
22226        'query_hash',
22227        'query_key',
22228        'record_count',
22229        'remote_identity_username',
22230        'replayable',
22231        'resource_id',
22232        'resource_name',
22233        'resource_tags',
22234        'resource_type',
22235        'source_ip',
22236        'target',
22237        'timestamp',
22238    ]
22239
22240    def __init__(
22241        self,
22242        account_email=None,
22243        account_first_name=None,
22244        account_id=None,
22245        account_last_name=None,
22246        account_tags=None,
22247        authzjson=None,
22248        capture=None,
22249        client_ip=None,
22250        completed_at=None,
22251        duration=None,
22252        egress_node_id=None,
22253        encrypted=None,
22254        id=None,
22255        identity_alias_username=None,
22256        metadata_json=None,
22257        query_body=None,
22258        query_category=None,
22259        query_hash=None,
22260        query_key=None,
22261        record_count=None,
22262        remote_identity_username=None,
22263        replayable=None,
22264        resource_id=None,
22265        resource_name=None,
22266        resource_tags=None,
22267        resource_type=None,
22268        source_ip=None,
22269        target=None,
22270        timestamp=None,
22271    ):
22272        self.account_email = account_email if account_email is not None else ''
22273        '''
22274         The email of the account performing this query, at the time the query was executed.
22275         If the account email is later changed, that change will not be reflected via this field.
22276        '''
22277        self.account_first_name = account_first_name if account_first_name is not None else ''
22278        '''
22279         The given name of the account performing this query, at the time the query was executed.
22280         If the account is later renamed, that change will not be reflected via this field.
22281        '''
22282        self.account_id = account_id if account_id is not None else ''
22283        '''
22284         Unique identifier of the Account that performed the Query.
22285        '''
22286        self.account_last_name = account_last_name if account_last_name is not None else ''
22287        '''
22288         The family name of the account performing this query, at the time the query was executed.
22289         If the account is later renamed, that change will not be reflected via this field.
22290        '''
22291        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22292        )
22293        '''
22294         The tags of the account accessed, at the time the query was executed. If the account
22295         tags are later changed, that change will not be reflected via this field.
22296        '''
22297        self.authzjson = authzjson if authzjson is not None else ''
22298        '''
22299         Authorization metadata associated with this query.
22300        '''
22301        self.capture = capture if capture is not None else None
22302        '''
22303         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22304         about the captured query.
22305        '''
22306        self.client_ip = client_ip if client_ip is not None else ''
22307        '''
22308         The IP address the Query was performed from, as detected at the StrongDM control plane.
22309        '''
22310        self.completed_at = completed_at if completed_at is not None else None
22311        '''
22312         The time at which the Query was completed.
22313         Empty if this record indicates the start of a long-running query.
22314        '''
22315        self.duration = duration if duration is not None else None
22316        '''
22317         The duration of the Query.
22318        '''
22319        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22320        '''
22321         The unique ID of the node through which the Resource was accessed.
22322        '''
22323        self.encrypted = encrypted if encrypted is not None else False
22324        '''
22325         Indicates that the body of the Query is encrypted.
22326        '''
22327        self.id = id if id is not None else ''
22328        '''
22329         Unique identifier of the Query.
22330        '''
22331        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22332        '''
22333         The username of the IdentityAlias used to access the Resource.
22334        '''
22335        self.metadata_json = metadata_json if metadata_json is not None else ''
22336        '''
22337         Driver specific metadata associated with this query.
22338        '''
22339        self.query_body = query_body if query_body is not None else ''
22340        '''
22341         The captured content of the Query.
22342         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22343        '''
22344        self.query_category = query_category if query_category is not None else ''
22345        '''
22346         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22347        '''
22348        self.query_hash = query_hash if query_hash is not None else ''
22349        '''
22350         The hash of the body of the Query.
22351        '''
22352        self.query_key = query_key if query_key is not None else ''
22353        '''
22354         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22355         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22356         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22357         If the Query is not encrypted, this field is empty.
22358        '''
22359        self.record_count = record_count if record_count is not None else 0
22360        '''
22361         The number of records returned by the Query, for a database Resource.
22362        '''
22363        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22364        '''
22365         The username of the RemoteIdentity used to access the Resource.
22366        '''
22367        self.replayable = replayable if replayable is not None else False
22368        '''
22369         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22370        '''
22371        self.resource_id = resource_id if resource_id is not None else ''
22372        '''
22373         Unique identifier of the Resource against which the Query was performed.
22374        '''
22375        self.resource_name = resource_name if resource_name is not None else ''
22376        '''
22377         The name of the resource accessed, at the time the query was executed. If the resource
22378         is later renamed, that change will not be reflected via this field.
22379        '''
22380        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22381        )
22382        '''
22383         The tags of the resource accessed, at the time the query was executed. If the resource
22384         tags are later changed, that change will not be reflected via this field.
22385        '''
22386        self.resource_type = resource_type if resource_type is not None else ''
22387        '''
22388         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22389        '''
22390        self.source_ip = source_ip if source_ip is not None else ''
22391        '''
22392         The IP address the Query was performed from, as detected at the ingress gateway.
22393        '''
22394        self.target = target if target is not None else ''
22395        '''
22396         The target destination of the query, in host:port format.
22397        '''
22398        self.timestamp = timestamp if timestamp is not None else None
22399        '''
22400         The time at which the Query was started.
22401        '''
22402
22403    def __repr__(self):
22404        return '<sdm.Query ' + \
22405            'account_email: ' + repr(self.account_email) + ' ' +\
22406            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22407            'account_id: ' + repr(self.account_id) + ' ' +\
22408            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22409            'account_tags: ' + repr(self.account_tags) + ' ' +\
22410            'authzjson: ' + repr(self.authzjson) + ' ' +\
22411            'capture: ' + repr(self.capture) + ' ' +\
22412            'client_ip: ' + repr(self.client_ip) + ' ' +\
22413            'completed_at: ' + repr(self.completed_at) + ' ' +\
22414            'duration: ' + repr(self.duration) + ' ' +\
22415            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22416            'encrypted: ' + repr(self.encrypted) + ' ' +\
22417            'id: ' + repr(self.id) + ' ' +\
22418            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22419            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22420            'query_body: ' + repr(self.query_body) + ' ' +\
22421            'query_category: ' + repr(self.query_category) + ' ' +\
22422            'query_hash: ' + repr(self.query_hash) + ' ' +\
22423            'query_key: ' + repr(self.query_key) + ' ' +\
22424            'record_count: ' + repr(self.record_count) + ' ' +\
22425            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22426            'replayable: ' + repr(self.replayable) + ' ' +\
22427            'resource_id: ' + repr(self.resource_id) + ' ' +\
22428            'resource_name: ' + repr(self.resource_name) + ' ' +\
22429            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22430            'resource_type: ' + repr(self.resource_type) + ' ' +\
22431            'source_ip: ' + repr(self.source_ip) + ' ' +\
22432            'target: ' + repr(self.target) + ' ' +\
22433            'timestamp: ' + repr(self.timestamp) + ' ' +\
22434            '>'
22435
22436    def to_dict(self):
22437        return {
22438            'account_email': self.account_email,
22439            'account_first_name': self.account_first_name,
22440            'account_id': self.account_id,
22441            'account_last_name': self.account_last_name,
22442            'account_tags': self.account_tags,
22443            'authzjson': self.authzjson,
22444            'capture': self.capture,
22445            'client_ip': self.client_ip,
22446            'completed_at': self.completed_at,
22447            'duration': self.duration,
22448            'egress_node_id': self.egress_node_id,
22449            'encrypted': self.encrypted,
22450            'id': self.id,
22451            'identity_alias_username': self.identity_alias_username,
22452            'metadata_json': self.metadata_json,
22453            'query_body': self.query_body,
22454            'query_category': self.query_category,
22455            'query_hash': self.query_hash,
22456            'query_key': self.query_key,
22457            'record_count': self.record_count,
22458            'remote_identity_username': self.remote_identity_username,
22459            'replayable': self.replayable,
22460            'resource_id': self.resource_id,
22461            'resource_name': self.resource_name,
22462            'resource_tags': self.resource_tags,
22463            'resource_type': self.resource_type,
22464            'source_ip': self.source_ip,
22465            'target': self.target,
22466            'timestamp': self.timestamp,
22467        }
22468
22469    @classmethod
22470    def from_dict(cls, d):
22471        return cls(
22472            account_email=d.get('account_email'),
22473            account_first_name=d.get('account_first_name'),
22474            account_id=d.get('account_id'),
22475            account_last_name=d.get('account_last_name'),
22476            account_tags=d.get('account_tags'),
22477            authzjson=d.get('authzjson'),
22478            capture=d.get('capture'),
22479            client_ip=d.get('client_ip'),
22480            completed_at=d.get('completed_at'),
22481            duration=d.get('duration'),
22482            egress_node_id=d.get('egress_node_id'),
22483            encrypted=d.get('encrypted'),
22484            id=d.get('id'),
22485            identity_alias_username=d.get('identity_alias_username'),
22486            metadata_json=d.get('metadata_json'),
22487            query_body=d.get('query_body'),
22488            query_category=d.get('query_category'),
22489            query_hash=d.get('query_hash'),
22490            query_key=d.get('query_key'),
22491            record_count=d.get('record_count'),
22492            remote_identity_username=d.get('remote_identity_username'),
22493            replayable=d.get('replayable'),
22494            resource_id=d.get('resource_id'),
22495            resource_name=d.get('resource_name'),
22496            resource_tags=d.get('resource_tags'),
22497            resource_type=d.get('resource_type'),
22498            source_ip=d.get('source_ip'),
22499            target=d.get('target'),
22500            timestamp=d.get('timestamp'),
22501        )
22502
22503
22504class QueryCapture:
22505    '''
22506         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22507    '''
22508    __slots__ = [
22509        'client_command',
22510        'command',
22511        'container',
22512        'env',
22513        'file_name',
22514        'file_size',
22515        'height',
22516        'impersonation_groups',
22517        'impersonation_user',
22518        'pod',
22519        'privilege_groups',
22520        'request_body',
22521        'request_method',
22522        'request_uri',
22523        'type',
22524        'width',
22525    ]
22526
22527    def __init__(
22528        self,
22529        client_command=None,
22530        command=None,
22531        container=None,
22532        env=None,
22533        file_name=None,
22534        file_size=None,
22535        height=None,
22536        impersonation_groups=None,
22537        impersonation_user=None,
22538        pod=None,
22539        privilege_groups=None,
22540        request_body=None,
22541        request_method=None,
22542        request_uri=None,
22543        type=None,
22544        width=None,
22545    ):
22546        self.client_command = client_command if client_command is not None else ''
22547        '''
22548         The command executed on the client for a Kubernetes session.
22549        '''
22550        self.command = command if command is not None else ''
22551        '''
22552         The command executed over an SSH or Kubernetes session.
22553        '''
22554        self.container = container if container is not None else ''
22555        '''
22556         The target container of a Kubernetes operation.
22557        '''
22558        self.env = env if env is not None else {}
22559        '''
22560         The environment variables for an SSH or Kubernetes session.
22561        '''
22562        self.file_name = file_name if file_name is not None else ''
22563        '''
22564         The remote file name of an SCP operation.
22565        '''
22566        self.file_size = file_size if file_size is not None else 0
22567        '''
22568         The file size transferred for an SCP operation.
22569        '''
22570        self.height = height if height is not None else 0
22571        '''
22572         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22573        '''
22574        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22575        '''
22576         The impersonation groups of a Kubernetes operation.
22577        '''
22578        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22579        '''
22580         The impersonation user of a Kubernetes operation.
22581        '''
22582        self.pod = pod if pod is not None else ''
22583        '''
22584         The target pod of a Kubernetes operation.
22585        '''
22586        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22587        '''
22588         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22589        '''
22590        self.request_body = request_body if request_body is not None else b''
22591        '''
22592         The HTTP request body of a Kubernetes operation.
22593        '''
22594        self.request_method = request_method if request_method is not None else ''
22595        '''
22596         The HTTP request method of a Kubernetes operation.
22597        '''
22598        self.request_uri = request_uri if request_uri is not None else ''
22599        '''
22600         The HTTP request URI of a Kubernetes operation.
22601        '''
22602        self.type = type if type is not None else ''
22603        '''
22604         The CaptureType of this query capture, one of the CaptureType constants.
22605        '''
22606        self.width = width if width is not None else 0
22607        '''
22608         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22609        '''
22610
22611    def __repr__(self):
22612        return '<sdm.QueryCapture ' + \
22613            'client_command: ' + repr(self.client_command) + ' ' +\
22614            'command: ' + repr(self.command) + ' ' +\
22615            'container: ' + repr(self.container) + ' ' +\
22616            'env: ' + repr(self.env) + ' ' +\
22617            'file_name: ' + repr(self.file_name) + ' ' +\
22618            'file_size: ' + repr(self.file_size) + ' ' +\
22619            'height: ' + repr(self.height) + ' ' +\
22620            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22621            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22622            'pod: ' + repr(self.pod) + ' ' +\
22623            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22624            'request_body: ' + repr(self.request_body) + ' ' +\
22625            'request_method: ' + repr(self.request_method) + ' ' +\
22626            'request_uri: ' + repr(self.request_uri) + ' ' +\
22627            'type: ' + repr(self.type) + ' ' +\
22628            'width: ' + repr(self.width) + ' ' +\
22629            '>'
22630
22631    def to_dict(self):
22632        return {
22633            'client_command': self.client_command,
22634            'command': self.command,
22635            'container': self.container,
22636            'env': self.env,
22637            'file_name': self.file_name,
22638            'file_size': self.file_size,
22639            'height': self.height,
22640            'impersonation_groups': self.impersonation_groups,
22641            'impersonation_user': self.impersonation_user,
22642            'pod': self.pod,
22643            'privilege_groups': self.privilege_groups,
22644            'request_body': self.request_body,
22645            'request_method': self.request_method,
22646            'request_uri': self.request_uri,
22647            'type': self.type,
22648            'width': self.width,
22649        }
22650
22651    @classmethod
22652    def from_dict(cls, d):
22653        return cls(
22654            client_command=d.get('client_command'),
22655            command=d.get('command'),
22656            container=d.get('container'),
22657            env=d.get('env'),
22658            file_name=d.get('file_name'),
22659            file_size=d.get('file_size'),
22660            height=d.get('height'),
22661            impersonation_groups=d.get('impersonation_groups'),
22662            impersonation_user=d.get('impersonation_user'),
22663            pod=d.get('pod'),
22664            privilege_groups=d.get('privilege_groups'),
22665            request_body=d.get('request_body'),
22666            request_method=d.get('request_method'),
22667            request_uri=d.get('request_uri'),
22668            type=d.get('type'),
22669            width=d.get('width'),
22670        )
22671
22672
22673class RDP:
22674    __slots__ = [
22675        'bind_interface',
22676        'downgrade_nla_connections',
22677        'egress_filter',
22678        'healthy',
22679        'hostname',
22680        'id',
22681        'lock_required',
22682        'name',
22683        'password',
22684        'port',
22685        'port_override',
22686        'proxy_cluster_id',
22687        'secret_store_id',
22688        'subdomain',
22689        'tags',
22690        'username',
22691    ]
22692
22693    def __init__(
22694        self,
22695        bind_interface=None,
22696        downgrade_nla_connections=None,
22697        egress_filter=None,
22698        healthy=None,
22699        hostname=None,
22700        id=None,
22701        lock_required=None,
22702        name=None,
22703        password=None,
22704        port=None,
22705        port_override=None,
22706        proxy_cluster_id=None,
22707        secret_store_id=None,
22708        subdomain=None,
22709        tags=None,
22710        username=None,
22711    ):
22712        self.bind_interface = bind_interface if bind_interface is not None else ''
22713        '''
22714         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22715        '''
22716        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22717        '''
22718         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.
22719        '''
22720        self.egress_filter = egress_filter if egress_filter is not None else ''
22721        '''
22722         A filter applied to the routing logic to pin datasource to nodes.
22723        '''
22724        self.healthy = healthy if healthy is not None else False
22725        '''
22726         True if the datasource is reachable and the credentials are valid.
22727        '''
22728        self.hostname = hostname if hostname is not None else ''
22729        '''
22730         The host to dial to initiate a connection from the egress node to this resource.
22731        '''
22732        self.id = id if id is not None else ''
22733        '''
22734         Unique identifier of the Resource.
22735        '''
22736        self.lock_required = lock_required if lock_required is not None else False
22737        '''
22738         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22739        '''
22740        self.name = name if name is not None else ''
22741        '''
22742         Unique human-readable name of the Resource.
22743        '''
22744        self.password = password if password is not None else ''
22745        '''
22746         The password to authenticate with.
22747        '''
22748        self.port = port if port is not None else 0
22749        '''
22750         The port to dial to initiate a connection from the egress node to this resource.
22751        '''
22752        self.port_override = port_override if port_override is not None else 0
22753        '''
22754         The local port used by clients to connect to this resource.
22755        '''
22756        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22757        '''
22758         ID of the proxy cluster for this resource, if any.
22759        '''
22760        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22761        '''
22762         ID of the secret store containing credentials for this resource, if any.
22763        '''
22764        self.subdomain = subdomain if subdomain is not None else ''
22765        '''
22766         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22767        '''
22768        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22769        '''
22770         Tags is a map of key, value pairs.
22771        '''
22772        self.username = username if username is not None else ''
22773        '''
22774         The username to authenticate with.
22775        '''
22776
22777    def __repr__(self):
22778        return '<sdm.RDP ' + \
22779            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22780            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22781            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22782            'healthy: ' + repr(self.healthy) + ' ' +\
22783            'hostname: ' + repr(self.hostname) + ' ' +\
22784            'id: ' + repr(self.id) + ' ' +\
22785            'lock_required: ' + repr(self.lock_required) + ' ' +\
22786            'name: ' + repr(self.name) + ' ' +\
22787            'password: ' + repr(self.password) + ' ' +\
22788            'port: ' + repr(self.port) + ' ' +\
22789            'port_override: ' + repr(self.port_override) + ' ' +\
22790            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22791            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22792            'subdomain: ' + repr(self.subdomain) + ' ' +\
22793            'tags: ' + repr(self.tags) + ' ' +\
22794            'username: ' + repr(self.username) + ' ' +\
22795            '>'
22796
22797    def to_dict(self):
22798        return {
22799            'bind_interface': self.bind_interface,
22800            'downgrade_nla_connections': self.downgrade_nla_connections,
22801            'egress_filter': self.egress_filter,
22802            'healthy': self.healthy,
22803            'hostname': self.hostname,
22804            'id': self.id,
22805            'lock_required': self.lock_required,
22806            'name': self.name,
22807            'password': self.password,
22808            'port': self.port,
22809            'port_override': self.port_override,
22810            'proxy_cluster_id': self.proxy_cluster_id,
22811            'secret_store_id': self.secret_store_id,
22812            'subdomain': self.subdomain,
22813            'tags': self.tags,
22814            'username': self.username,
22815        }
22816
22817    @classmethod
22818    def from_dict(cls, d):
22819        return cls(
22820            bind_interface=d.get('bind_interface'),
22821            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22822            egress_filter=d.get('egress_filter'),
22823            healthy=d.get('healthy'),
22824            hostname=d.get('hostname'),
22825            id=d.get('id'),
22826            lock_required=d.get('lock_required'),
22827            name=d.get('name'),
22828            password=d.get('password'),
22829            port=d.get('port'),
22830            port_override=d.get('port_override'),
22831            proxy_cluster_id=d.get('proxy_cluster_id'),
22832            secret_store_id=d.get('secret_store_id'),
22833            subdomain=d.get('subdomain'),
22834            tags=d.get('tags'),
22835            username=d.get('username'),
22836        )
22837
22838
22839class RDPCert:
22840    __slots__ = [
22841        'bind_interface',
22842        'egress_filter',
22843        'healthy',
22844        'hostname',
22845        'id',
22846        'identity_alias_healthcheck_username',
22847        'identity_set_id',
22848        'lock_required',
22849        'name',
22850        'port',
22851        'port_override',
22852        'proxy_cluster_id',
22853        'secret_store_id',
22854        'subdomain',
22855        'tags',
22856        'username',
22857    ]
22858
22859    def __init__(
22860        self,
22861        bind_interface=None,
22862        egress_filter=None,
22863        healthy=None,
22864        hostname=None,
22865        id=None,
22866        identity_alias_healthcheck_username=None,
22867        identity_set_id=None,
22868        lock_required=None,
22869        name=None,
22870        port=None,
22871        port_override=None,
22872        proxy_cluster_id=None,
22873        secret_store_id=None,
22874        subdomain=None,
22875        tags=None,
22876        username=None,
22877    ):
22878        self.bind_interface = bind_interface if bind_interface is not None else ''
22879        '''
22880         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22881        '''
22882        self.egress_filter = egress_filter if egress_filter is not None else ''
22883        '''
22884         A filter applied to the routing logic to pin datasource to nodes.
22885        '''
22886        self.healthy = healthy if healthy is not None else False
22887        '''
22888         True if the datasource is reachable and the credentials are valid.
22889        '''
22890        self.hostname = hostname if hostname is not None else ''
22891        '''
22892         The host to dial to initiate a connection from the egress node to this resource.
22893        '''
22894        self.id = id if id is not None else ''
22895        '''
22896         Unique identifier of the Resource.
22897        '''
22898        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22899        '''
22900         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22901        '''
22902        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22903        '''
22904         The ID of the identity set to use for identity connections.
22905        '''
22906        self.lock_required = lock_required if lock_required is not None else False
22907        '''
22908         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22909        '''
22910        self.name = name if name is not None else ''
22911        '''
22912         Unique human-readable name of the Resource.
22913        '''
22914        self.port = port if port is not None else 0
22915        '''
22916         The port to dial to initiate a connection from the egress node to this resource.
22917        '''
22918        self.port_override = port_override if port_override is not None else 0
22919        '''
22920         The local port used by clients to connect to this resource.
22921        '''
22922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22923        '''
22924         ID of the proxy cluster for this resource, if any.
22925        '''
22926        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22927        '''
22928         ID of the secret store containing credentials for this resource, if any.
22929        '''
22930        self.subdomain = subdomain if subdomain is not None else ''
22931        '''
22932         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22933        '''
22934        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22935        '''
22936         Tags is a map of key, value pairs.
22937        '''
22938        self.username = username if username is not None else ''
22939        '''
22940         The username to authenticate with.
22941        '''
22942
22943    def __repr__(self):
22944        return '<sdm.RDPCert ' + \
22945            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22946            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22947            'healthy: ' + repr(self.healthy) + ' ' +\
22948            'hostname: ' + repr(self.hostname) + ' ' +\
22949            'id: ' + repr(self.id) + ' ' +\
22950            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22951            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22952            'lock_required: ' + repr(self.lock_required) + ' ' +\
22953            'name: ' + repr(self.name) + ' ' +\
22954            'port: ' + repr(self.port) + ' ' +\
22955            'port_override: ' + repr(self.port_override) + ' ' +\
22956            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22958            'subdomain: ' + repr(self.subdomain) + ' ' +\
22959            'tags: ' + repr(self.tags) + ' ' +\
22960            'username: ' + repr(self.username) + ' ' +\
22961            '>'
22962
22963    def to_dict(self):
22964        return {
22965            'bind_interface': self.bind_interface,
22966            'egress_filter': self.egress_filter,
22967            'healthy': self.healthy,
22968            'hostname': self.hostname,
22969            'id': self.id,
22970            'identity_alias_healthcheck_username':
22971            self.identity_alias_healthcheck_username,
22972            'identity_set_id': self.identity_set_id,
22973            'lock_required': self.lock_required,
22974            'name': self.name,
22975            'port': self.port,
22976            'port_override': self.port_override,
22977            'proxy_cluster_id': self.proxy_cluster_id,
22978            'secret_store_id': self.secret_store_id,
22979            'subdomain': self.subdomain,
22980            'tags': self.tags,
22981            'username': self.username,
22982        }
22983
22984    @classmethod
22985    def from_dict(cls, d):
22986        return cls(
22987            bind_interface=d.get('bind_interface'),
22988            egress_filter=d.get('egress_filter'),
22989            healthy=d.get('healthy'),
22990            hostname=d.get('hostname'),
22991            id=d.get('id'),
22992            identity_alias_healthcheck_username=d.get(
22993                'identity_alias_healthcheck_username'),
22994            identity_set_id=d.get('identity_set_id'),
22995            lock_required=d.get('lock_required'),
22996            name=d.get('name'),
22997            port=d.get('port'),
22998            port_override=d.get('port_override'),
22999            proxy_cluster_id=d.get('proxy_cluster_id'),
23000            secret_store_id=d.get('secret_store_id'),
23001            subdomain=d.get('subdomain'),
23002            tags=d.get('tags'),
23003            username=d.get('username'),
23004        )
23005
23006
23007class RDSPostgresIAM:
23008    __slots__ = [
23009        'bind_interface',
23010        'database',
23011        'egress_filter',
23012        'healthy',
23013        'hostname',
23014        'id',
23015        'name',
23016        'override_database',
23017        'port',
23018        'port_override',
23019        'proxy_cluster_id',
23020        'region',
23021        'role_assumption_arn',
23022        'secret_store_id',
23023        'subdomain',
23024        'tags',
23025        'username',
23026    ]
23027
23028    def __init__(
23029        self,
23030        bind_interface=None,
23031        database=None,
23032        egress_filter=None,
23033        healthy=None,
23034        hostname=None,
23035        id=None,
23036        name=None,
23037        override_database=None,
23038        port=None,
23039        port_override=None,
23040        proxy_cluster_id=None,
23041        region=None,
23042        role_assumption_arn=None,
23043        secret_store_id=None,
23044        subdomain=None,
23045        tags=None,
23046        username=None,
23047    ):
23048        self.bind_interface = bind_interface if bind_interface is not None else ''
23049        '''
23050         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23051        '''
23052        self.database = database if database is not None else ''
23053        '''
23054         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23055        '''
23056        self.egress_filter = egress_filter if egress_filter is not None else ''
23057        '''
23058         A filter applied to the routing logic to pin datasource to nodes.
23059        '''
23060        self.healthy = healthy if healthy is not None else False
23061        '''
23062         True if the datasource is reachable and the credentials are valid.
23063        '''
23064        self.hostname = hostname if hostname is not None else ''
23065        '''
23066         The host to dial to initiate a connection from the egress node to this resource.
23067        '''
23068        self.id = id if id is not None else ''
23069        '''
23070         Unique identifier of the Resource.
23071        '''
23072        self.name = name if name is not None else ''
23073        '''
23074         Unique human-readable name of the Resource.
23075        '''
23076        self.override_database = override_database if override_database is not None else False
23077        '''
23078         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.
23079        '''
23080        self.port = port if port is not None else 0
23081        '''
23082         The port to dial to initiate a connection from the egress node to this resource.
23083        '''
23084        self.port_override = port_override if port_override is not None else 0
23085        '''
23086         The local port used by clients to connect to this resource.
23087        '''
23088        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23089        '''
23090         ID of the proxy cluster for this resource, if any.
23091        '''
23092        self.region = region if region is not None else ''
23093        '''
23094         The AWS region to connect to.
23095        '''
23096        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23097        '''
23098         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23099        '''
23100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23101        '''
23102         ID of the secret store containing credentials for this resource, if any.
23103        '''
23104        self.subdomain = subdomain if subdomain is not None else ''
23105        '''
23106         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23107        '''
23108        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23109        '''
23110         Tags is a map of key, value pairs.
23111        '''
23112        self.username = username if username is not None else ''
23113        '''
23114         The username to authenticate with.
23115        '''
23116
23117    def __repr__(self):
23118        return '<sdm.RDSPostgresIAM ' + \
23119            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23120            'database: ' + repr(self.database) + ' ' +\
23121            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23122            'healthy: ' + repr(self.healthy) + ' ' +\
23123            'hostname: ' + repr(self.hostname) + ' ' +\
23124            'id: ' + repr(self.id) + ' ' +\
23125            'name: ' + repr(self.name) + ' ' +\
23126            'override_database: ' + repr(self.override_database) + ' ' +\
23127            'port: ' + repr(self.port) + ' ' +\
23128            'port_override: ' + repr(self.port_override) + ' ' +\
23129            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23130            'region: ' + repr(self.region) + ' ' +\
23131            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23132            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23133            'subdomain: ' + repr(self.subdomain) + ' ' +\
23134            'tags: ' + repr(self.tags) + ' ' +\
23135            'username: ' + repr(self.username) + ' ' +\
23136            '>'
23137
23138    def to_dict(self):
23139        return {
23140            'bind_interface': self.bind_interface,
23141            'database': self.database,
23142            'egress_filter': self.egress_filter,
23143            'healthy': self.healthy,
23144            'hostname': self.hostname,
23145            'id': self.id,
23146            'name': self.name,
23147            'override_database': self.override_database,
23148            'port': self.port,
23149            'port_override': self.port_override,
23150            'proxy_cluster_id': self.proxy_cluster_id,
23151            'region': self.region,
23152            'role_assumption_arn': self.role_assumption_arn,
23153            'secret_store_id': self.secret_store_id,
23154            'subdomain': self.subdomain,
23155            'tags': self.tags,
23156            'username': self.username,
23157        }
23158
23159    @classmethod
23160    def from_dict(cls, d):
23161        return cls(
23162            bind_interface=d.get('bind_interface'),
23163            database=d.get('database'),
23164            egress_filter=d.get('egress_filter'),
23165            healthy=d.get('healthy'),
23166            hostname=d.get('hostname'),
23167            id=d.get('id'),
23168            name=d.get('name'),
23169            override_database=d.get('override_database'),
23170            port=d.get('port'),
23171            port_override=d.get('port_override'),
23172            proxy_cluster_id=d.get('proxy_cluster_id'),
23173            region=d.get('region'),
23174            role_assumption_arn=d.get('role_assumption_arn'),
23175            secret_store_id=d.get('secret_store_id'),
23176            subdomain=d.get('subdomain'),
23177            tags=d.get('tags'),
23178            username=d.get('username'),
23179        )
23180
23181
23182class RabbitMQAMQP091:
23183    __slots__ = [
23184        'bind_interface',
23185        'egress_filter',
23186        'healthy',
23187        'hostname',
23188        'id',
23189        'name',
23190        'password',
23191        'port',
23192        'port_override',
23193        'proxy_cluster_id',
23194        'secret_store_id',
23195        'subdomain',
23196        'tags',
23197        'tls_required',
23198        'username',
23199    ]
23200
23201    def __init__(
23202        self,
23203        bind_interface=None,
23204        egress_filter=None,
23205        healthy=None,
23206        hostname=None,
23207        id=None,
23208        name=None,
23209        password=None,
23210        port=None,
23211        port_override=None,
23212        proxy_cluster_id=None,
23213        secret_store_id=None,
23214        subdomain=None,
23215        tags=None,
23216        tls_required=None,
23217        username=None,
23218    ):
23219        self.bind_interface = bind_interface if bind_interface is not None else ''
23220        '''
23221         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23222        '''
23223        self.egress_filter = egress_filter if egress_filter is not None else ''
23224        '''
23225         A filter applied to the routing logic to pin datasource to nodes.
23226        '''
23227        self.healthy = healthy if healthy is not None else False
23228        '''
23229         True if the datasource is reachable and the credentials are valid.
23230        '''
23231        self.hostname = hostname if hostname is not None else ''
23232        '''
23233         The host to dial to initiate a connection from the egress node to this resource.
23234        '''
23235        self.id = id if id is not None else ''
23236        '''
23237         Unique identifier of the Resource.
23238        '''
23239        self.name = name if name is not None else ''
23240        '''
23241         Unique human-readable name of the Resource.
23242        '''
23243        self.password = password if password is not None else ''
23244        '''
23245         The password to authenticate with.
23246        '''
23247        self.port = port if port is not None else 0
23248        '''
23249         The port to dial to initiate a connection from the egress node to this resource.
23250        '''
23251        self.port_override = port_override if port_override is not None else 0
23252        '''
23253         The local port used by clients to connect to this resource.
23254        '''
23255        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23256        '''
23257         ID of the proxy cluster for this resource, if any.
23258        '''
23259        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23260        '''
23261         ID of the secret store containing credentials for this resource, if any.
23262        '''
23263        self.subdomain = subdomain if subdomain is not None else ''
23264        '''
23265         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23266        '''
23267        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23268        '''
23269         Tags is a map of key, value pairs.
23270        '''
23271        self.tls_required = tls_required if tls_required is not None else False
23272        '''
23273         If set, TLS must be used to connect to this resource.
23274        '''
23275        self.username = username if username is not None else ''
23276        '''
23277         The username to authenticate with.
23278        '''
23279
23280    def __repr__(self):
23281        return '<sdm.RabbitMQAMQP091 ' + \
23282            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23283            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23284            'healthy: ' + repr(self.healthy) + ' ' +\
23285            'hostname: ' + repr(self.hostname) + ' ' +\
23286            'id: ' + repr(self.id) + ' ' +\
23287            'name: ' + repr(self.name) + ' ' +\
23288            'password: ' + repr(self.password) + ' ' +\
23289            'port: ' + repr(self.port) + ' ' +\
23290            'port_override: ' + repr(self.port_override) + ' ' +\
23291            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23292            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23293            'subdomain: ' + repr(self.subdomain) + ' ' +\
23294            'tags: ' + repr(self.tags) + ' ' +\
23295            'tls_required: ' + repr(self.tls_required) + ' ' +\
23296            'username: ' + repr(self.username) + ' ' +\
23297            '>'
23298
23299    def to_dict(self):
23300        return {
23301            'bind_interface': self.bind_interface,
23302            'egress_filter': self.egress_filter,
23303            'healthy': self.healthy,
23304            'hostname': self.hostname,
23305            'id': self.id,
23306            'name': self.name,
23307            'password': self.password,
23308            'port': self.port,
23309            'port_override': self.port_override,
23310            'proxy_cluster_id': self.proxy_cluster_id,
23311            'secret_store_id': self.secret_store_id,
23312            'subdomain': self.subdomain,
23313            'tags': self.tags,
23314            'tls_required': self.tls_required,
23315            'username': self.username,
23316        }
23317
23318    @classmethod
23319    def from_dict(cls, d):
23320        return cls(
23321            bind_interface=d.get('bind_interface'),
23322            egress_filter=d.get('egress_filter'),
23323            healthy=d.get('healthy'),
23324            hostname=d.get('hostname'),
23325            id=d.get('id'),
23326            name=d.get('name'),
23327            password=d.get('password'),
23328            port=d.get('port'),
23329            port_override=d.get('port_override'),
23330            proxy_cluster_id=d.get('proxy_cluster_id'),
23331            secret_store_id=d.get('secret_store_id'),
23332            subdomain=d.get('subdomain'),
23333            tags=d.get('tags'),
23334            tls_required=d.get('tls_required'),
23335            username=d.get('username'),
23336        )
23337
23338
23339class RateLimitMetadata:
23340    '''
23341         RateLimitMetadata contains information about remaining requests avaialable
23342     to the user over some timeframe.
23343    '''
23344    __slots__ = [
23345        'bucket',
23346        'limit',
23347        'remaining',
23348        'reset_at',
23349    ]
23350
23351    def __init__(
23352        self,
23353        bucket=None,
23354        limit=None,
23355        remaining=None,
23356        reset_at=None,
23357    ):
23358        self.bucket = bucket if bucket is not None else ''
23359        '''
23360         The bucket this user/token is associated with, which may be shared between
23361         multiple users/tokens.
23362        '''
23363        self.limit = limit if limit is not None else 0
23364        '''
23365         How many total requests the user/token is authorized to make before being
23366         rate limited.
23367        '''
23368        self.remaining = remaining if remaining is not None else 0
23369        '''
23370         How many remaining requests out of the limit are still avaialable.
23371        '''
23372        self.reset_at = reset_at if reset_at is not None else None
23373        '''
23374         The time when remaining will be reset to limit.
23375        '''
23376
23377    def __repr__(self):
23378        return '<sdm.RateLimitMetadata ' + \
23379            'bucket: ' + repr(self.bucket) + ' ' +\
23380            'limit: ' + repr(self.limit) + ' ' +\
23381            'remaining: ' + repr(self.remaining) + ' ' +\
23382            'reset_at: ' + repr(self.reset_at) + ' ' +\
23383            '>'
23384
23385    def to_dict(self):
23386        return {
23387            'bucket': self.bucket,
23388            'limit': self.limit,
23389            'remaining': self.remaining,
23390            'reset_at': self.reset_at,
23391        }
23392
23393    @classmethod
23394    def from_dict(cls, d):
23395        return cls(
23396            bucket=d.get('bucket'),
23397            limit=d.get('limit'),
23398            remaining=d.get('remaining'),
23399            reset_at=d.get('reset_at'),
23400        )
23401
23402
23403class RawTCP:
23404    __slots__ = [
23405        'bind_interface',
23406        'egress_filter',
23407        'healthy',
23408        'hostname',
23409        'id',
23410        'name',
23411        'port',
23412        'port_override',
23413        'proxy_cluster_id',
23414        'secret_store_id',
23415        'subdomain',
23416        'tags',
23417    ]
23418
23419    def __init__(
23420        self,
23421        bind_interface=None,
23422        egress_filter=None,
23423        healthy=None,
23424        hostname=None,
23425        id=None,
23426        name=None,
23427        port=None,
23428        port_override=None,
23429        proxy_cluster_id=None,
23430        secret_store_id=None,
23431        subdomain=None,
23432        tags=None,
23433    ):
23434        self.bind_interface = bind_interface if bind_interface is not None else ''
23435        '''
23436         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23437        '''
23438        self.egress_filter = egress_filter if egress_filter is not None else ''
23439        '''
23440         A filter applied to the routing logic to pin datasource to nodes.
23441        '''
23442        self.healthy = healthy if healthy is not None else False
23443        '''
23444         True if the datasource is reachable and the credentials are valid.
23445        '''
23446        self.hostname = hostname if hostname is not None else ''
23447        '''
23448         The host to dial to initiate a connection from the egress node to this resource.
23449        '''
23450        self.id = id if id is not None else ''
23451        '''
23452         Unique identifier of the Resource.
23453        '''
23454        self.name = name if name is not None else ''
23455        '''
23456         Unique human-readable name of the Resource.
23457        '''
23458        self.port = port if port is not None else 0
23459        '''
23460         The port to dial to initiate a connection from the egress node to this resource.
23461        '''
23462        self.port_override = port_override if port_override is not None else 0
23463        '''
23464         The local port used by clients to connect to this resource.
23465        '''
23466        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23467        '''
23468         ID of the proxy cluster for this resource, if any.
23469        '''
23470        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23471        '''
23472         ID of the secret store containing credentials for this resource, if any.
23473        '''
23474        self.subdomain = subdomain if subdomain is not None else ''
23475        '''
23476         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23477        '''
23478        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23479        '''
23480         Tags is a map of key, value pairs.
23481        '''
23482
23483    def __repr__(self):
23484        return '<sdm.RawTCP ' + \
23485            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23486            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23487            'healthy: ' + repr(self.healthy) + ' ' +\
23488            'hostname: ' + repr(self.hostname) + ' ' +\
23489            'id: ' + repr(self.id) + ' ' +\
23490            'name: ' + repr(self.name) + ' ' +\
23491            'port: ' + repr(self.port) + ' ' +\
23492            'port_override: ' + repr(self.port_override) + ' ' +\
23493            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23494            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23495            'subdomain: ' + repr(self.subdomain) + ' ' +\
23496            'tags: ' + repr(self.tags) + ' ' +\
23497            '>'
23498
23499    def to_dict(self):
23500        return {
23501            'bind_interface': self.bind_interface,
23502            'egress_filter': self.egress_filter,
23503            'healthy': self.healthy,
23504            'hostname': self.hostname,
23505            'id': self.id,
23506            'name': self.name,
23507            'port': self.port,
23508            'port_override': self.port_override,
23509            'proxy_cluster_id': self.proxy_cluster_id,
23510            'secret_store_id': self.secret_store_id,
23511            'subdomain': self.subdomain,
23512            'tags': self.tags,
23513        }
23514
23515    @classmethod
23516    def from_dict(cls, d):
23517        return cls(
23518            bind_interface=d.get('bind_interface'),
23519            egress_filter=d.get('egress_filter'),
23520            healthy=d.get('healthy'),
23521            hostname=d.get('hostname'),
23522            id=d.get('id'),
23523            name=d.get('name'),
23524            port=d.get('port'),
23525            port_override=d.get('port_override'),
23526            proxy_cluster_id=d.get('proxy_cluster_id'),
23527            secret_store_id=d.get('secret_store_id'),
23528            subdomain=d.get('subdomain'),
23529            tags=d.get('tags'),
23530        )
23531
23532
23533class Redis:
23534    __slots__ = [
23535        'bind_interface',
23536        'egress_filter',
23537        'healthy',
23538        'hostname',
23539        'id',
23540        'name',
23541        'password',
23542        'port',
23543        'port_override',
23544        'proxy_cluster_id',
23545        'secret_store_id',
23546        'subdomain',
23547        'tags',
23548        'tls_required',
23549        'username',
23550    ]
23551
23552    def __init__(
23553        self,
23554        bind_interface=None,
23555        egress_filter=None,
23556        healthy=None,
23557        hostname=None,
23558        id=None,
23559        name=None,
23560        password=None,
23561        port=None,
23562        port_override=None,
23563        proxy_cluster_id=None,
23564        secret_store_id=None,
23565        subdomain=None,
23566        tags=None,
23567        tls_required=None,
23568        username=None,
23569    ):
23570        self.bind_interface = bind_interface if bind_interface is not None else ''
23571        '''
23572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23573        '''
23574        self.egress_filter = egress_filter if egress_filter is not None else ''
23575        '''
23576         A filter applied to the routing logic to pin datasource to nodes.
23577        '''
23578        self.healthy = healthy if healthy is not None else False
23579        '''
23580         True if the datasource is reachable and the credentials are valid.
23581        '''
23582        self.hostname = hostname if hostname is not None else ''
23583        '''
23584         The host to dial to initiate a connection from the egress node to this resource.
23585        '''
23586        self.id = id if id is not None else ''
23587        '''
23588         Unique identifier of the Resource.
23589        '''
23590        self.name = name if name is not None else ''
23591        '''
23592         Unique human-readable name of the Resource.
23593        '''
23594        self.password = password if password is not None else ''
23595        '''
23596         The password to authenticate with.
23597        '''
23598        self.port = port if port is not None else 0
23599        '''
23600         The port to dial to initiate a connection from the egress node to this resource.
23601        '''
23602        self.port_override = port_override if port_override is not None else 0
23603        '''
23604         The local port used by clients to connect to this resource.
23605        '''
23606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23607        '''
23608         ID of the proxy cluster for this resource, if any.
23609        '''
23610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23611        '''
23612         ID of the secret store containing credentials for this resource, if any.
23613        '''
23614        self.subdomain = subdomain if subdomain is not None else ''
23615        '''
23616         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23617        '''
23618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23619        '''
23620         Tags is a map of key, value pairs.
23621        '''
23622        self.tls_required = tls_required if tls_required is not None else False
23623        '''
23624         If set, TLS must be used to connect to this resource.
23625        '''
23626        self.username = username if username is not None else ''
23627        '''
23628         The username to authenticate with.
23629        '''
23630
23631    def __repr__(self):
23632        return '<sdm.Redis ' + \
23633            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23634            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23635            'healthy: ' + repr(self.healthy) + ' ' +\
23636            'hostname: ' + repr(self.hostname) + ' ' +\
23637            'id: ' + repr(self.id) + ' ' +\
23638            'name: ' + repr(self.name) + ' ' +\
23639            'password: ' + repr(self.password) + ' ' +\
23640            'port: ' + repr(self.port) + ' ' +\
23641            'port_override: ' + repr(self.port_override) + ' ' +\
23642            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23643            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23644            'subdomain: ' + repr(self.subdomain) + ' ' +\
23645            'tags: ' + repr(self.tags) + ' ' +\
23646            'tls_required: ' + repr(self.tls_required) + ' ' +\
23647            'username: ' + repr(self.username) + ' ' +\
23648            '>'
23649
23650    def to_dict(self):
23651        return {
23652            'bind_interface': self.bind_interface,
23653            'egress_filter': self.egress_filter,
23654            'healthy': self.healthy,
23655            'hostname': self.hostname,
23656            'id': self.id,
23657            'name': self.name,
23658            'password': self.password,
23659            'port': self.port,
23660            'port_override': self.port_override,
23661            'proxy_cluster_id': self.proxy_cluster_id,
23662            'secret_store_id': self.secret_store_id,
23663            'subdomain': self.subdomain,
23664            'tags': self.tags,
23665            'tls_required': self.tls_required,
23666            'username': self.username,
23667        }
23668
23669    @classmethod
23670    def from_dict(cls, d):
23671        return cls(
23672            bind_interface=d.get('bind_interface'),
23673            egress_filter=d.get('egress_filter'),
23674            healthy=d.get('healthy'),
23675            hostname=d.get('hostname'),
23676            id=d.get('id'),
23677            name=d.get('name'),
23678            password=d.get('password'),
23679            port=d.get('port'),
23680            port_override=d.get('port_override'),
23681            proxy_cluster_id=d.get('proxy_cluster_id'),
23682            secret_store_id=d.get('secret_store_id'),
23683            subdomain=d.get('subdomain'),
23684            tags=d.get('tags'),
23685            tls_required=d.get('tls_required'),
23686            username=d.get('username'),
23687        )
23688
23689
23690class RedisCluster:
23691    __slots__ = [
23692        'bind_interface',
23693        'egress_filter',
23694        'healthy',
23695        'hostname',
23696        'id',
23697        'name',
23698        'password',
23699        'port',
23700        'port_override',
23701        'proxy_cluster_id',
23702        'secret_store_id',
23703        'subdomain',
23704        'tags',
23705        'tls_required',
23706        'username',
23707    ]
23708
23709    def __init__(
23710        self,
23711        bind_interface=None,
23712        egress_filter=None,
23713        healthy=None,
23714        hostname=None,
23715        id=None,
23716        name=None,
23717        password=None,
23718        port=None,
23719        port_override=None,
23720        proxy_cluster_id=None,
23721        secret_store_id=None,
23722        subdomain=None,
23723        tags=None,
23724        tls_required=None,
23725        username=None,
23726    ):
23727        self.bind_interface = bind_interface if bind_interface is not None else ''
23728        '''
23729         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23730        '''
23731        self.egress_filter = egress_filter if egress_filter is not None else ''
23732        '''
23733         A filter applied to the routing logic to pin datasource to nodes.
23734        '''
23735        self.healthy = healthy if healthy is not None else False
23736        '''
23737         True if the datasource is reachable and the credentials are valid.
23738        '''
23739        self.hostname = hostname if hostname is not None else ''
23740        '''
23741         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23742        '''
23743        self.id = id if id is not None else ''
23744        '''
23745         Unique identifier of the Resource.
23746        '''
23747        self.name = name if name is not None else ''
23748        '''
23749         Unique human-readable name of the Resource.
23750        '''
23751        self.password = password if password is not None else ''
23752        '''
23753         The password to authenticate with.
23754        '''
23755        self.port = port if port is not None else 0
23756        '''
23757         The port to dial to initiate a connection from the egress node to this resource.
23758        '''
23759        self.port_override = port_override if port_override is not None else 0
23760        '''
23761         The local port used by clients to connect to this resource.
23762        '''
23763        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23764        '''
23765         ID of the proxy cluster for this resource, if any.
23766        '''
23767        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23768        '''
23769         ID of the secret store containing credentials for this resource, if any.
23770        '''
23771        self.subdomain = subdomain if subdomain is not None else ''
23772        '''
23773         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23774        '''
23775        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23776        '''
23777         Tags is a map of key, value pairs.
23778        '''
23779        self.tls_required = tls_required if tls_required is not None else False
23780        '''
23781         If set, TLS must be used to connect to this resource.
23782        '''
23783        self.username = username if username is not None else ''
23784        '''
23785         The username to authenticate with.
23786        '''
23787
23788    def __repr__(self):
23789        return '<sdm.RedisCluster ' + \
23790            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23791            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23792            'healthy: ' + repr(self.healthy) + ' ' +\
23793            'hostname: ' + repr(self.hostname) + ' ' +\
23794            'id: ' + repr(self.id) + ' ' +\
23795            'name: ' + repr(self.name) + ' ' +\
23796            'password: ' + repr(self.password) + ' ' +\
23797            'port: ' + repr(self.port) + ' ' +\
23798            'port_override: ' + repr(self.port_override) + ' ' +\
23799            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23800            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23801            'subdomain: ' + repr(self.subdomain) + ' ' +\
23802            'tags: ' + repr(self.tags) + ' ' +\
23803            'tls_required: ' + repr(self.tls_required) + ' ' +\
23804            'username: ' + repr(self.username) + ' ' +\
23805            '>'
23806
23807    def to_dict(self):
23808        return {
23809            'bind_interface': self.bind_interface,
23810            'egress_filter': self.egress_filter,
23811            'healthy': self.healthy,
23812            'hostname': self.hostname,
23813            'id': self.id,
23814            'name': self.name,
23815            'password': self.password,
23816            'port': self.port,
23817            'port_override': self.port_override,
23818            'proxy_cluster_id': self.proxy_cluster_id,
23819            'secret_store_id': self.secret_store_id,
23820            'subdomain': self.subdomain,
23821            'tags': self.tags,
23822            'tls_required': self.tls_required,
23823            'username': self.username,
23824        }
23825
23826    @classmethod
23827    def from_dict(cls, d):
23828        return cls(
23829            bind_interface=d.get('bind_interface'),
23830            egress_filter=d.get('egress_filter'),
23831            healthy=d.get('healthy'),
23832            hostname=d.get('hostname'),
23833            id=d.get('id'),
23834            name=d.get('name'),
23835            password=d.get('password'),
23836            port=d.get('port'),
23837            port_override=d.get('port_override'),
23838            proxy_cluster_id=d.get('proxy_cluster_id'),
23839            secret_store_id=d.get('secret_store_id'),
23840            subdomain=d.get('subdomain'),
23841            tags=d.get('tags'),
23842            tls_required=d.get('tls_required'),
23843            username=d.get('username'),
23844        )
23845
23846
23847class Redshift:
23848    __slots__ = [
23849        'bind_interface',
23850        'database',
23851        'egress_filter',
23852        'healthy',
23853        'hostname',
23854        'id',
23855        'name',
23856        'override_database',
23857        'password',
23858        'port',
23859        'port_override',
23860        'proxy_cluster_id',
23861        'secret_store_id',
23862        'subdomain',
23863        'tags',
23864        'username',
23865    ]
23866
23867    def __init__(
23868        self,
23869        bind_interface=None,
23870        database=None,
23871        egress_filter=None,
23872        healthy=None,
23873        hostname=None,
23874        id=None,
23875        name=None,
23876        override_database=None,
23877        password=None,
23878        port=None,
23879        port_override=None,
23880        proxy_cluster_id=None,
23881        secret_store_id=None,
23882        subdomain=None,
23883        tags=None,
23884        username=None,
23885    ):
23886        self.bind_interface = bind_interface if bind_interface is not None else ''
23887        '''
23888         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23889        '''
23890        self.database = database if database is not None else ''
23891        '''
23892         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23893        '''
23894        self.egress_filter = egress_filter if egress_filter is not None else ''
23895        '''
23896         A filter applied to the routing logic to pin datasource to nodes.
23897        '''
23898        self.healthy = healthy if healthy is not None else False
23899        '''
23900         True if the datasource is reachable and the credentials are valid.
23901        '''
23902        self.hostname = hostname if hostname is not None else ''
23903        '''
23904         The host to dial to initiate a connection from the egress node to this resource.
23905        '''
23906        self.id = id if id is not None else ''
23907        '''
23908         Unique identifier of the Resource.
23909        '''
23910        self.name = name if name is not None else ''
23911        '''
23912         Unique human-readable name of the Resource.
23913        '''
23914        self.override_database = override_database if override_database is not None else False
23915        '''
23916         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.
23917        '''
23918        self.password = password if password is not None else ''
23919        '''
23920         The password to authenticate with.
23921        '''
23922        self.port = port if port is not None else 0
23923        '''
23924         The port to dial to initiate a connection from the egress node to this resource.
23925        '''
23926        self.port_override = port_override if port_override is not None else 0
23927        '''
23928         The local port used by clients to connect to this resource.
23929        '''
23930        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23931        '''
23932         ID of the proxy cluster for this resource, if any.
23933        '''
23934        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23935        '''
23936         ID of the secret store containing credentials for this resource, if any.
23937        '''
23938        self.subdomain = subdomain if subdomain is not None else ''
23939        '''
23940         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23941        '''
23942        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23943        '''
23944         Tags is a map of key, value pairs.
23945        '''
23946        self.username = username if username is not None else ''
23947        '''
23948         The username to authenticate with.
23949        '''
23950
23951    def __repr__(self):
23952        return '<sdm.Redshift ' + \
23953            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23954            'database: ' + repr(self.database) + ' ' +\
23955            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23956            'healthy: ' + repr(self.healthy) + ' ' +\
23957            'hostname: ' + repr(self.hostname) + ' ' +\
23958            'id: ' + repr(self.id) + ' ' +\
23959            'name: ' + repr(self.name) + ' ' +\
23960            'override_database: ' + repr(self.override_database) + ' ' +\
23961            'password: ' + repr(self.password) + ' ' +\
23962            'port: ' + repr(self.port) + ' ' +\
23963            'port_override: ' + repr(self.port_override) + ' ' +\
23964            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23965            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23966            'subdomain: ' + repr(self.subdomain) + ' ' +\
23967            'tags: ' + repr(self.tags) + ' ' +\
23968            'username: ' + repr(self.username) + ' ' +\
23969            '>'
23970
23971    def to_dict(self):
23972        return {
23973            'bind_interface': self.bind_interface,
23974            'database': self.database,
23975            'egress_filter': self.egress_filter,
23976            'healthy': self.healthy,
23977            'hostname': self.hostname,
23978            'id': self.id,
23979            'name': self.name,
23980            'override_database': self.override_database,
23981            'password': self.password,
23982            'port': self.port,
23983            'port_override': self.port_override,
23984            'proxy_cluster_id': self.proxy_cluster_id,
23985            'secret_store_id': self.secret_store_id,
23986            'subdomain': self.subdomain,
23987            'tags': self.tags,
23988            'username': self.username,
23989        }
23990
23991    @classmethod
23992    def from_dict(cls, d):
23993        return cls(
23994            bind_interface=d.get('bind_interface'),
23995            database=d.get('database'),
23996            egress_filter=d.get('egress_filter'),
23997            healthy=d.get('healthy'),
23998            hostname=d.get('hostname'),
23999            id=d.get('id'),
24000            name=d.get('name'),
24001            override_database=d.get('override_database'),
24002            password=d.get('password'),
24003            port=d.get('port'),
24004            port_override=d.get('port_override'),
24005            proxy_cluster_id=d.get('proxy_cluster_id'),
24006            secret_store_id=d.get('secret_store_id'),
24007            subdomain=d.get('subdomain'),
24008            tags=d.get('tags'),
24009            username=d.get('username'),
24010        )
24011
24012
24013class RedshiftIAM:
24014    __slots__ = [
24015        'bind_interface',
24016        'cluster_id',
24017        'database',
24018        'egress_filter',
24019        'healthy',
24020        'hostname',
24021        'id',
24022        'name',
24023        'override_database',
24024        'port',
24025        'port_override',
24026        'proxy_cluster_id',
24027        'region',
24028        'role_assumption_arn',
24029        'secret_store_id',
24030        'subdomain',
24031        'tags',
24032    ]
24033
24034    def __init__(
24035        self,
24036        bind_interface=None,
24037        cluster_id=None,
24038        database=None,
24039        egress_filter=None,
24040        healthy=None,
24041        hostname=None,
24042        id=None,
24043        name=None,
24044        override_database=None,
24045        port=None,
24046        port_override=None,
24047        proxy_cluster_id=None,
24048        region=None,
24049        role_assumption_arn=None,
24050        secret_store_id=None,
24051        subdomain=None,
24052        tags=None,
24053    ):
24054        self.bind_interface = bind_interface if bind_interface is not None else ''
24055        '''
24056         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24057        '''
24058        self.cluster_id = cluster_id if cluster_id is not None else ''
24059        '''
24060         Cluster Identified of Redshift cluster
24061        '''
24062        self.database = database if database is not None else ''
24063        '''
24064         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24065        '''
24066        self.egress_filter = egress_filter if egress_filter is not None else ''
24067        '''
24068         A filter applied to the routing logic to pin datasource to nodes.
24069        '''
24070        self.healthy = healthy if healthy is not None else False
24071        '''
24072         True if the datasource is reachable and the credentials are valid.
24073        '''
24074        self.hostname = hostname if hostname is not None else ''
24075        '''
24076         The host to dial to initiate a connection from the egress node to this resource.
24077        '''
24078        self.id = id if id is not None else ''
24079        '''
24080         Unique identifier of the Resource.
24081        '''
24082        self.name = name if name is not None else ''
24083        '''
24084         Unique human-readable name of the Resource.
24085        '''
24086        self.override_database = override_database if override_database is not None else False
24087        '''
24088         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.
24089        '''
24090        self.port = port if port is not None else 0
24091        '''
24092         The port to dial to initiate a connection from the egress node to this resource.
24093        '''
24094        self.port_override = port_override if port_override is not None else 0
24095        '''
24096         The local port used by clients to connect to this resource.
24097        '''
24098        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24099        '''
24100         ID of the proxy cluster for this resource, if any.
24101        '''
24102        self.region = region if region is not None else ''
24103        '''
24104         The AWS region to connect to.
24105        '''
24106        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24107        '''
24108         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24109        '''
24110        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24111        '''
24112         ID of the secret store containing credentials for this resource, if any.
24113        '''
24114        self.subdomain = subdomain if subdomain is not None else ''
24115        '''
24116         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24117        '''
24118        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24119        '''
24120         Tags is a map of key, value pairs.
24121        '''
24122
24123    def __repr__(self):
24124        return '<sdm.RedshiftIAM ' + \
24125            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24126            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
24127            'database: ' + repr(self.database) + ' ' +\
24128            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24129            'healthy: ' + repr(self.healthy) + ' ' +\
24130            'hostname: ' + repr(self.hostname) + ' ' +\
24131            'id: ' + repr(self.id) + ' ' +\
24132            'name: ' + repr(self.name) + ' ' +\
24133            'override_database: ' + repr(self.override_database) + ' ' +\
24134            'port: ' + repr(self.port) + ' ' +\
24135            'port_override: ' + repr(self.port_override) + ' ' +\
24136            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24137            'region: ' + repr(self.region) + ' ' +\
24138            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24139            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24140            'subdomain: ' + repr(self.subdomain) + ' ' +\
24141            'tags: ' + repr(self.tags) + ' ' +\
24142            '>'
24143
24144    def to_dict(self):
24145        return {
24146            'bind_interface': self.bind_interface,
24147            'cluster_id': self.cluster_id,
24148            'database': self.database,
24149            'egress_filter': self.egress_filter,
24150            'healthy': self.healthy,
24151            'hostname': self.hostname,
24152            'id': self.id,
24153            'name': self.name,
24154            'override_database': self.override_database,
24155            'port': self.port,
24156            'port_override': self.port_override,
24157            'proxy_cluster_id': self.proxy_cluster_id,
24158            'region': self.region,
24159            'role_assumption_arn': self.role_assumption_arn,
24160            'secret_store_id': self.secret_store_id,
24161            'subdomain': self.subdomain,
24162            'tags': self.tags,
24163        }
24164
24165    @classmethod
24166    def from_dict(cls, d):
24167        return cls(
24168            bind_interface=d.get('bind_interface'),
24169            cluster_id=d.get('cluster_id'),
24170            database=d.get('database'),
24171            egress_filter=d.get('egress_filter'),
24172            healthy=d.get('healthy'),
24173            hostname=d.get('hostname'),
24174            id=d.get('id'),
24175            name=d.get('name'),
24176            override_database=d.get('override_database'),
24177            port=d.get('port'),
24178            port_override=d.get('port_override'),
24179            proxy_cluster_id=d.get('proxy_cluster_id'),
24180            region=d.get('region'),
24181            role_assumption_arn=d.get('role_assumption_arn'),
24182            secret_store_id=d.get('secret_store_id'),
24183            subdomain=d.get('subdomain'),
24184            tags=d.get('tags'),
24185        )
24186
24187
24188class RedshiftServerlessIAM:
24189    __slots__ = [
24190        'bind_interface',
24191        'database',
24192        'egress_filter',
24193        'healthy',
24194        'hostname',
24195        'id',
24196        'name',
24197        'override_database',
24198        'port',
24199        'port_override',
24200        'proxy_cluster_id',
24201        'region',
24202        'role_assumption_arn',
24203        'secret_store_id',
24204        'subdomain',
24205        'tags',
24206        'workgroup',
24207    ]
24208
24209    def __init__(
24210        self,
24211        bind_interface=None,
24212        database=None,
24213        egress_filter=None,
24214        healthy=None,
24215        hostname=None,
24216        id=None,
24217        name=None,
24218        override_database=None,
24219        port=None,
24220        port_override=None,
24221        proxy_cluster_id=None,
24222        region=None,
24223        role_assumption_arn=None,
24224        secret_store_id=None,
24225        subdomain=None,
24226        tags=None,
24227        workgroup=None,
24228    ):
24229        self.bind_interface = bind_interface if bind_interface is not None else ''
24230        '''
24231         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
24232        '''
24233        self.database = database if database is not None else ''
24234        '''
24235         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24236        '''
24237        self.egress_filter = egress_filter if egress_filter is not None else ''
24238        '''
24239         A filter applied to the routing logic to pin datasource to nodes.
24240        '''
24241        self.healthy = healthy if healthy is not None else False
24242        '''
24243         True if the datasource is reachable and the credentials are valid.
24244        '''
24245        self.hostname = hostname if hostname is not None else ''
24246        '''
24247         The host to dial to initiate a connection from the egress node to this resource.
24248        '''
24249        self.id = id if id is not None else ''
24250        '''
24251         Unique identifier of the Resource.
24252        '''
24253        self.name = name if name is not None else ''
24254        '''
24255         Unique human-readable name of the Resource.
24256        '''
24257        self.override_database = override_database if override_database is not None else False
24258        '''
24259         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.
24260        '''
24261        self.port = port if port is not None else 0
24262        '''
24263         The port to dial to initiate a connection from the egress node to this resource.
24264        '''
24265        self.port_override = port_override if port_override is not None else 0
24266        '''
24267         The local port used by clients to connect to this resource.
24268        '''
24269        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24270        '''
24271         ID of the proxy cluster for this resource, if any.
24272        '''
24273        self.region = region if region is not None else ''
24274        '''
24275         The AWS region to connect to.
24276        '''
24277        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
24278        '''
24279         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
24280        '''
24281        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24282        '''
24283         ID of the secret store containing credentials for this resource, if any.
24284        '''
24285        self.subdomain = subdomain if subdomain is not None else ''
24286        '''
24287         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
24288        '''
24289        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24290        '''
24291         Tags is a map of key, value pairs.
24292        '''
24293        self.workgroup = workgroup if workgroup is not None else ''
24294        '''
24295         Workgroup name in the serverless Redshift
24296        '''
24297
24298    def __repr__(self):
24299        return '<sdm.RedshiftServerlessIAM ' + \
24300            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24301            'database: ' + repr(self.database) + ' ' +\
24302            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24303            'healthy: ' + repr(self.healthy) + ' ' +\
24304            'hostname: ' + repr(self.hostname) + ' ' +\
24305            'id: ' + repr(self.id) + ' ' +\
24306            'name: ' + repr(self.name) + ' ' +\
24307            'override_database: ' + repr(self.override_database) + ' ' +\
24308            'port: ' + repr(self.port) + ' ' +\
24309            'port_override: ' + repr(self.port_override) + ' ' +\
24310            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24311            'region: ' + repr(self.region) + ' ' +\
24312            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
24313            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24314            'subdomain: ' + repr(self.subdomain) + ' ' +\
24315            'tags: ' + repr(self.tags) + ' ' +\
24316            'workgroup: ' + repr(self.workgroup) + ' ' +\
24317            '>'
24318
24319    def to_dict(self):
24320        return {
24321            'bind_interface': self.bind_interface,
24322            'database': self.database,
24323            'egress_filter': self.egress_filter,
24324            'healthy': self.healthy,
24325            'hostname': self.hostname,
24326            'id': self.id,
24327            'name': self.name,
24328            'override_database': self.override_database,
24329            'port': self.port,
24330            'port_override': self.port_override,
24331            'proxy_cluster_id': self.proxy_cluster_id,
24332            'region': self.region,
24333            'role_assumption_arn': self.role_assumption_arn,
24334            'secret_store_id': self.secret_store_id,
24335            'subdomain': self.subdomain,
24336            'tags': self.tags,
24337            'workgroup': self.workgroup,
24338        }
24339
24340    @classmethod
24341    def from_dict(cls, d):
24342        return cls(
24343            bind_interface=d.get('bind_interface'),
24344            database=d.get('database'),
24345            egress_filter=d.get('egress_filter'),
24346            healthy=d.get('healthy'),
24347            hostname=d.get('hostname'),
24348            id=d.get('id'),
24349            name=d.get('name'),
24350            override_database=d.get('override_database'),
24351            port=d.get('port'),
24352            port_override=d.get('port_override'),
24353            proxy_cluster_id=d.get('proxy_cluster_id'),
24354            region=d.get('region'),
24355            role_assumption_arn=d.get('role_assumption_arn'),
24356            secret_store_id=d.get('secret_store_id'),
24357            subdomain=d.get('subdomain'),
24358            tags=d.get('tags'),
24359            workgroup=d.get('workgroup'),
24360        )
24361
24362
24363class Relay:
24364    '''
24365         Relay represents a StrongDM CLI installation running in relay mode.
24366    '''
24367    __slots__ = [
24368        'device',
24369        'gateway_filter',
24370        'id',
24371        'location',
24372        'maintenance_windows',
24373        'name',
24374        'state',
24375        'tags',
24376        'version',
24377    ]
24378
24379    def __init__(
24380        self,
24381        device=None,
24382        gateway_filter=None,
24383        id=None,
24384        location=None,
24385        maintenance_windows=None,
24386        name=None,
24387        state=None,
24388        tags=None,
24389        version=None,
24390    ):
24391        self.device = device if device is not None else ''
24392        '''
24393         Device is a read only device name uploaded by the gateway process when
24394         it comes online.
24395        '''
24396        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24397        '''
24398         GatewayFilter can be used to restrict the peering between relays and
24399         gateways. Deprecated.
24400        '''
24401        self.id = id if id is not None else ''
24402        '''
24403         Unique identifier of the Relay.
24404        '''
24405        self.location = location if location is not None else ''
24406        '''
24407         Location is a read only network location uploaded by the gateway process
24408         when it comes online.
24409        '''
24410        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24411        '''
24412         Maintenance Windows define when this node is allowed to restart. If a node
24413         is requested to restart, it will check each window to determine if any of
24414         them permit it to restart, and if any do, it will. This check is repeated
24415         per window until the restart is successfully completed.
24416         
24417         If not set here, may be set on the command line or via an environment variable
24418         on the process itself; any server setting will take precedence over local
24419         settings. This setting is ineffective for nodes below version 38.44.0.
24420         
24421         If this setting is not applied via this remote configuration or via local
24422         configuration, the default setting is used: always allow restarts if serving
24423         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24424        '''
24425        self.name = name if name is not None else ''
24426        '''
24427         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.
24428        '''
24429        self.state = state if state is not None else ''
24430        '''
24431         The current state of the relay, one of the NodeState constants.
24432        '''
24433        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24434        '''
24435         Tags is a map of key, value pairs.
24436        '''
24437        self.version = version if version is not None else ''
24438        '''
24439         Version is a read only sdm binary version uploaded by the gateway process
24440         when it comes online.
24441        '''
24442
24443    def __repr__(self):
24444        return '<sdm.Relay ' + \
24445            'device: ' + repr(self.device) + ' ' +\
24446            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24447            'id: ' + repr(self.id) + ' ' +\
24448            'location: ' + repr(self.location) + ' ' +\
24449            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24450            'name: ' + repr(self.name) + ' ' +\
24451            'state: ' + repr(self.state) + ' ' +\
24452            'tags: ' + repr(self.tags) + ' ' +\
24453            'version: ' + repr(self.version) + ' ' +\
24454            '>'
24455
24456    def to_dict(self):
24457        return {
24458            'device': self.device,
24459            'gateway_filter': self.gateway_filter,
24460            'id': self.id,
24461            'location': self.location,
24462            'maintenance_windows': self.maintenance_windows,
24463            'name': self.name,
24464            'state': self.state,
24465            'tags': self.tags,
24466            'version': self.version,
24467        }
24468
24469    @classmethod
24470    def from_dict(cls, d):
24471        return cls(
24472            device=d.get('device'),
24473            gateway_filter=d.get('gateway_filter'),
24474            id=d.get('id'),
24475            location=d.get('location'),
24476            maintenance_windows=d.get('maintenance_windows'),
24477            name=d.get('name'),
24478            state=d.get('state'),
24479            tags=d.get('tags'),
24480            version=d.get('version'),
24481        )
24482
24483
24484class RemoteIdentity:
24485    '''
24486         RemoteIdentities define the username to be used for a specific account
24487     when connecting to a remote resource using that group.
24488    '''
24489    __slots__ = [
24490        'account_id',
24491        'id',
24492        'remote_identity_group_id',
24493        'username',
24494    ]
24495
24496    def __init__(
24497        self,
24498        account_id=None,
24499        id=None,
24500        remote_identity_group_id=None,
24501        username=None,
24502    ):
24503        self.account_id = account_id if account_id is not None else ''
24504        '''
24505         The account for this remote identity.
24506        '''
24507        self.id = id if id is not None else ''
24508        '''
24509         Unique identifier of the RemoteIdentity.
24510        '''
24511        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24512        '''
24513         The remote identity group.
24514        '''
24515        self.username = username if username is not None else ''
24516        '''
24517         The username to be used as the remote identity for this account.
24518        '''
24519
24520    def __repr__(self):
24521        return '<sdm.RemoteIdentity ' + \
24522            'account_id: ' + repr(self.account_id) + ' ' +\
24523            'id: ' + repr(self.id) + ' ' +\
24524            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24525            'username: ' + repr(self.username) + ' ' +\
24526            '>'
24527
24528    def to_dict(self):
24529        return {
24530            'account_id': self.account_id,
24531            'id': self.id,
24532            'remote_identity_group_id': self.remote_identity_group_id,
24533            'username': self.username,
24534        }
24535
24536    @classmethod
24537    def from_dict(cls, d):
24538        return cls(
24539            account_id=d.get('account_id'),
24540            id=d.get('id'),
24541            remote_identity_group_id=d.get('remote_identity_group_id'),
24542            username=d.get('username'),
24543        )
24544
24545
24546class RemoteIdentityCreateResponse:
24547    '''
24548         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24549    '''
24550    __slots__ = [
24551        'meta',
24552        'rate_limit',
24553        'remote_identity',
24554    ]
24555
24556    def __init__(
24557        self,
24558        meta=None,
24559        rate_limit=None,
24560        remote_identity=None,
24561    ):
24562        self.meta = meta if meta is not None else None
24563        '''
24564         Reserved for future use.
24565        '''
24566        self.rate_limit = rate_limit if rate_limit is not None else None
24567        '''
24568         Rate limit information.
24569        '''
24570        self.remote_identity = remote_identity if remote_identity is not None else None
24571        '''
24572         The created RemoteIdentity.
24573        '''
24574
24575    def __repr__(self):
24576        return '<sdm.RemoteIdentityCreateResponse ' + \
24577            'meta: ' + repr(self.meta) + ' ' +\
24578            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24579            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24580            '>'
24581
24582    def to_dict(self):
24583        return {
24584            'meta': self.meta,
24585            'rate_limit': self.rate_limit,
24586            'remote_identity': self.remote_identity,
24587        }
24588
24589    @classmethod
24590    def from_dict(cls, d):
24591        return cls(
24592            meta=d.get('meta'),
24593            rate_limit=d.get('rate_limit'),
24594            remote_identity=d.get('remote_identity'),
24595        )
24596
24597
24598class RemoteIdentityDeleteResponse:
24599    '''
24600         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24601    '''
24602    __slots__ = [
24603        'meta',
24604        'rate_limit',
24605    ]
24606
24607    def __init__(
24608        self,
24609        meta=None,
24610        rate_limit=None,
24611    ):
24612        self.meta = meta if meta is not None else None
24613        '''
24614         Reserved for future use.
24615        '''
24616        self.rate_limit = rate_limit if rate_limit is not None else None
24617        '''
24618         Rate limit information.
24619        '''
24620
24621    def __repr__(self):
24622        return '<sdm.RemoteIdentityDeleteResponse ' + \
24623            'meta: ' + repr(self.meta) + ' ' +\
24624            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24625            '>'
24626
24627    def to_dict(self):
24628        return {
24629            'meta': self.meta,
24630            'rate_limit': self.rate_limit,
24631        }
24632
24633    @classmethod
24634    def from_dict(cls, d):
24635        return cls(
24636            meta=d.get('meta'),
24637            rate_limit=d.get('rate_limit'),
24638        )
24639
24640
24641class RemoteIdentityGetResponse:
24642    '''
24643         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24644    '''
24645    __slots__ = [
24646        'meta',
24647        'rate_limit',
24648        'remote_identity',
24649    ]
24650
24651    def __init__(
24652        self,
24653        meta=None,
24654        rate_limit=None,
24655        remote_identity=None,
24656    ):
24657        self.meta = meta if meta is not None else None
24658        '''
24659         Reserved for future use.
24660        '''
24661        self.rate_limit = rate_limit if rate_limit is not None else None
24662        '''
24663         Rate limit information.
24664        '''
24665        self.remote_identity = remote_identity if remote_identity is not None else None
24666        '''
24667         The requested RemoteIdentity.
24668        '''
24669
24670    def __repr__(self):
24671        return '<sdm.RemoteIdentityGetResponse ' + \
24672            'meta: ' + repr(self.meta) + ' ' +\
24673            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24674            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24675            '>'
24676
24677    def to_dict(self):
24678        return {
24679            'meta': self.meta,
24680            'rate_limit': self.rate_limit,
24681            'remote_identity': self.remote_identity,
24682        }
24683
24684    @classmethod
24685    def from_dict(cls, d):
24686        return cls(
24687            meta=d.get('meta'),
24688            rate_limit=d.get('rate_limit'),
24689            remote_identity=d.get('remote_identity'),
24690        )
24691
24692
24693class RemoteIdentityGroup:
24694    '''
24695         A RemoteIdentityGroup defines a group of remote identities.
24696    '''
24697    __slots__ = [
24698        'id',
24699        'name',
24700    ]
24701
24702    def __init__(
24703        self,
24704        id=None,
24705        name=None,
24706    ):
24707        self.id = id if id is not None else ''
24708        '''
24709         Unique identifier of the RemoteIdentityGroup.
24710        '''
24711        self.name = name if name is not None else ''
24712        '''
24713         Unique human-readable name of the RemoteIdentityGroup.
24714        '''
24715
24716    def __repr__(self):
24717        return '<sdm.RemoteIdentityGroup ' + \
24718            'id: ' + repr(self.id) + ' ' +\
24719            'name: ' + repr(self.name) + ' ' +\
24720            '>'
24721
24722    def to_dict(self):
24723        return {
24724            'id': self.id,
24725            'name': self.name,
24726        }
24727
24728    @classmethod
24729    def from_dict(cls, d):
24730        return cls(
24731            id=d.get('id'),
24732            name=d.get('name'),
24733        )
24734
24735
24736class RemoteIdentityGroupGetResponse:
24737    '''
24738         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24739    '''
24740    __slots__ = [
24741        'meta',
24742        'rate_limit',
24743        'remote_identity_group',
24744    ]
24745
24746    def __init__(
24747        self,
24748        meta=None,
24749        rate_limit=None,
24750        remote_identity_group=None,
24751    ):
24752        self.meta = meta if meta is not None else None
24753        '''
24754         Reserved for future use.
24755        '''
24756        self.rate_limit = rate_limit if rate_limit is not None else None
24757        '''
24758         Rate limit information.
24759        '''
24760        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24761        '''
24762         The requested RemoteIdentityGroup.
24763        '''
24764
24765    def __repr__(self):
24766        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24767            'meta: ' + repr(self.meta) + ' ' +\
24768            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24769            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24770            '>'
24771
24772    def to_dict(self):
24773        return {
24774            'meta': self.meta,
24775            'rate_limit': self.rate_limit,
24776            'remote_identity_group': self.remote_identity_group,
24777        }
24778
24779    @classmethod
24780    def from_dict(cls, d):
24781        return cls(
24782            meta=d.get('meta'),
24783            rate_limit=d.get('rate_limit'),
24784            remote_identity_group=d.get('remote_identity_group'),
24785        )
24786
24787
24788class RemoteIdentityGroupHistory:
24789    '''
24790         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24791     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24792     RemoteIdentityGroupHistory record.
24793    '''
24794    __slots__ = [
24795        'activity_id',
24796        'deleted_at',
24797        'remote_identity_group',
24798        'timestamp',
24799    ]
24800
24801    def __init__(
24802        self,
24803        activity_id=None,
24804        deleted_at=None,
24805        remote_identity_group=None,
24806        timestamp=None,
24807    ):
24808        self.activity_id = activity_id if activity_id is not None else ''
24809        '''
24810         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24811         May be empty for some system-initiated updates.
24812        '''
24813        self.deleted_at = deleted_at if deleted_at is not None else None
24814        '''
24815         If this RemoteIdentityGroup was deleted, the time it was deleted.
24816        '''
24817        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24818        '''
24819         The complete RemoteIdentityGroup state at this time.
24820        '''
24821        self.timestamp = timestamp if timestamp is not None else None
24822        '''
24823         The time at which the RemoteIdentityGroup state was recorded.
24824        '''
24825
24826    def __repr__(self):
24827        return '<sdm.RemoteIdentityGroupHistory ' + \
24828            'activity_id: ' + repr(self.activity_id) + ' ' +\
24829            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24830            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24831            'timestamp: ' + repr(self.timestamp) + ' ' +\
24832            '>'
24833
24834    def to_dict(self):
24835        return {
24836            'activity_id': self.activity_id,
24837            'deleted_at': self.deleted_at,
24838            'remote_identity_group': self.remote_identity_group,
24839            'timestamp': self.timestamp,
24840        }
24841
24842    @classmethod
24843    def from_dict(cls, d):
24844        return cls(
24845            activity_id=d.get('activity_id'),
24846            deleted_at=d.get('deleted_at'),
24847            remote_identity_group=d.get('remote_identity_group'),
24848            timestamp=d.get('timestamp'),
24849        )
24850
24851
24852class RemoteIdentityHistory:
24853    '''
24854         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
24855     where every change (create, update and delete) to a RemoteIdentity produces an
24856     RemoteIdentityHistory record.
24857    '''
24858    __slots__ = [
24859        'activity_id',
24860        'deleted_at',
24861        'remote_identity',
24862        'timestamp',
24863    ]
24864
24865    def __init__(
24866        self,
24867        activity_id=None,
24868        deleted_at=None,
24869        remote_identity=None,
24870        timestamp=None,
24871    ):
24872        self.activity_id = activity_id if activity_id is not None else ''
24873        '''
24874         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24875         May be empty for some system-initiated updates.
24876        '''
24877        self.deleted_at = deleted_at if deleted_at is not None else None
24878        '''
24879         If this RemoteIdentity was deleted, the time it was deleted.
24880        '''
24881        self.remote_identity = remote_identity if remote_identity is not None else None
24882        '''
24883         The complete RemoteIdentity state at this time.
24884        '''
24885        self.timestamp = timestamp if timestamp is not None else None
24886        '''
24887         The time at which the RemoteIdentity state was recorded.
24888        '''
24889
24890    def __repr__(self):
24891        return '<sdm.RemoteIdentityHistory ' + \
24892            'activity_id: ' + repr(self.activity_id) + ' ' +\
24893            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24894            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24895            'timestamp: ' + repr(self.timestamp) + ' ' +\
24896            '>'
24897
24898    def to_dict(self):
24899        return {
24900            'activity_id': self.activity_id,
24901            'deleted_at': self.deleted_at,
24902            'remote_identity': self.remote_identity,
24903            'timestamp': self.timestamp,
24904        }
24905
24906    @classmethod
24907    def from_dict(cls, d):
24908        return cls(
24909            activity_id=d.get('activity_id'),
24910            deleted_at=d.get('deleted_at'),
24911            remote_identity=d.get('remote_identity'),
24912            timestamp=d.get('timestamp'),
24913        )
24914
24915
24916class RemoteIdentityUpdateResponse:
24917    '''
24918         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
24919     a RemoteIdentityUpdateRequest.
24920    '''
24921    __slots__ = [
24922        'meta',
24923        'rate_limit',
24924        'remote_identity',
24925    ]
24926
24927    def __init__(
24928        self,
24929        meta=None,
24930        rate_limit=None,
24931        remote_identity=None,
24932    ):
24933        self.meta = meta if meta is not None else None
24934        '''
24935         Reserved for future use.
24936        '''
24937        self.rate_limit = rate_limit if rate_limit is not None else None
24938        '''
24939         Rate limit information.
24940        '''
24941        self.remote_identity = remote_identity if remote_identity is not None else None
24942        '''
24943         The updated RemoteIdentity.
24944        '''
24945
24946    def __repr__(self):
24947        return '<sdm.RemoteIdentityUpdateResponse ' + \
24948            'meta: ' + repr(self.meta) + ' ' +\
24949            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24950            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24951            '>'
24952
24953    def to_dict(self):
24954        return {
24955            'meta': self.meta,
24956            'rate_limit': self.rate_limit,
24957            'remote_identity': self.remote_identity,
24958        }
24959
24960    @classmethod
24961    def from_dict(cls, d):
24962        return cls(
24963            meta=d.get('meta'),
24964            rate_limit=d.get('rate_limit'),
24965            remote_identity=d.get('remote_identity'),
24966        )
24967
24968
24969class ReplayChunk:
24970    '''
24971         A ReplayChunk represents a single "chunk" of data from the query replay.
24972    '''
24973    __slots__ = [
24974        'data',
24975        'events',
24976        'symmetric_key',
24977    ]
24978
24979    def __init__(
24980        self,
24981        data=None,
24982        events=None,
24983        symmetric_key=None,
24984    ):
24985        self.data = data if data is not None else b''
24986        '''
24987         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24988        '''
24989        self.events = events if events is not None else []
24990        '''
24991         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24992         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24993        '''
24994        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24995        '''
24996         If the data is encrypted, this contains the encrypted symmetric key
24997        '''
24998
24999    def __repr__(self):
25000        return '<sdm.ReplayChunk ' + \
25001            'data: ' + repr(self.data) + ' ' +\
25002            'events: ' + repr(self.events) + ' ' +\
25003            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25004            '>'
25005
25006    def to_dict(self):
25007        return {
25008            'data': self.data,
25009            'events': self.events,
25010            'symmetric_key': self.symmetric_key,
25011        }
25012
25013    @classmethod
25014    def from_dict(cls, d):
25015        return cls(
25016            data=d.get('data'),
25017            events=d.get('events'),
25018            symmetric_key=d.get('symmetric_key'),
25019        )
25020
25021
25022class ReplayChunkEvent:
25023    '''
25024         A ReplayChunkEvent represents a single event within a query replay.
25025     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25026    '''
25027    __slots__ = [
25028        'data',
25029        'duration',
25030    ]
25031
25032    def __init__(
25033        self,
25034        data=None,
25035        duration=None,
25036    ):
25037        self.data = data if data is not None else b''
25038        '''
25039         The raw data of the ReplayChunkEvent.
25040        '''
25041        self.duration = duration if duration is not None else None
25042        '''
25043         The time duration over which the data in this ReplayChunkEvent was transferred.
25044        '''
25045
25046    def __repr__(self):
25047        return '<sdm.ReplayChunkEvent ' + \
25048            'data: ' + repr(self.data) + ' ' +\
25049            'duration: ' + repr(self.duration) + ' ' +\
25050            '>'
25051
25052    def to_dict(self):
25053        return {
25054            'data': self.data,
25055            'duration': self.duration,
25056        }
25057
25058    @classmethod
25059    def from_dict(cls, d):
25060        return cls(
25061            data=d.get('data'),
25062            duration=d.get('duration'),
25063        )
25064
25065
25066class RequestableResource:
25067    '''
25068         RequestableResource is a resource that can be requested via an AccessRequestConfig
25069    '''
25070    __slots__ = [
25071        'access',
25072        'authentication',
25073        'healthy',
25074        'id',
25075        'name',
25076        'tags',
25077        'type',
25078    ]
25079
25080    def __init__(
25081        self,
25082        access=None,
25083        authentication=None,
25084        healthy=None,
25085        id=None,
25086        name=None,
25087        tags=None,
25088        type=None,
25089    ):
25090        self.access = access if access is not None else ''
25091        '''
25092         The current state of the user's access to the resources
25093        '''
25094        self.authentication = authentication if authentication is not None else ''
25095        '''
25096         The type of authentication for the resource
25097        '''
25098        self.healthy = healthy if healthy is not None else False
25099        '''
25100         The health check status of the reasource
25101        '''
25102        self.id = id if id is not None else ''
25103        '''
25104         The resource id.
25105        '''
25106        self.name = name if name is not None else ''
25107        '''
25108         The resource name.
25109        '''
25110        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25111        '''
25112         Any tags attached to this resource
25113        '''
25114        self.type = type if type is not None else ''
25115        '''
25116         The resource type
25117        '''
25118
25119    def __repr__(self):
25120        return '<sdm.RequestableResource ' + \
25121            'access: ' + repr(self.access) + ' ' +\
25122            'authentication: ' + repr(self.authentication) + ' ' +\
25123            'healthy: ' + repr(self.healthy) + ' ' +\
25124            'id: ' + repr(self.id) + ' ' +\
25125            'name: ' + repr(self.name) + ' ' +\
25126            'tags: ' + repr(self.tags) + ' ' +\
25127            'type: ' + repr(self.type) + ' ' +\
25128            '>'
25129
25130    def to_dict(self):
25131        return {
25132            'access': self.access,
25133            'authentication': self.authentication,
25134            'healthy': self.healthy,
25135            'id': self.id,
25136            'name': self.name,
25137            'tags': self.tags,
25138            'type': self.type,
25139        }
25140
25141    @classmethod
25142    def from_dict(cls, d):
25143        return cls(
25144            access=d.get('access'),
25145            authentication=d.get('authentication'),
25146            healthy=d.get('healthy'),
25147            id=d.get('id'),
25148            name=d.get('name'),
25149            tags=d.get('tags'),
25150            type=d.get('type'),
25151        )
25152
25153
25154class ResourceCreateResponse:
25155    '''
25156         ResourceCreateResponse reports how the Resources were created in the system.
25157    '''
25158    __slots__ = [
25159        'meta',
25160        'rate_limit',
25161        'resource',
25162    ]
25163
25164    def __init__(
25165        self,
25166        meta=None,
25167        rate_limit=None,
25168        resource=None,
25169    ):
25170        self.meta = meta if meta is not None else None
25171        '''
25172         Reserved for future use.
25173        '''
25174        self.rate_limit = rate_limit if rate_limit is not None else None
25175        '''
25176         Rate limit information.
25177        '''
25178        self.resource = resource if resource is not None else None
25179        '''
25180         The created Resource.
25181        '''
25182
25183    def __repr__(self):
25184        return '<sdm.ResourceCreateResponse ' + \
25185            'meta: ' + repr(self.meta) + ' ' +\
25186            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25187            'resource: ' + repr(self.resource) + ' ' +\
25188            '>'
25189
25190    def to_dict(self):
25191        return {
25192            'meta': self.meta,
25193            'rate_limit': self.rate_limit,
25194            'resource': self.resource,
25195        }
25196
25197    @classmethod
25198    def from_dict(cls, d):
25199        return cls(
25200            meta=d.get('meta'),
25201            rate_limit=d.get('rate_limit'),
25202            resource=d.get('resource'),
25203        )
25204
25205
25206class ResourceDeleteResponse:
25207    '''
25208         ResourceDeleteResponse returns information about a Resource that was deleted.
25209    '''
25210    __slots__ = [
25211        'meta',
25212        'rate_limit',
25213    ]
25214
25215    def __init__(
25216        self,
25217        meta=None,
25218        rate_limit=None,
25219    ):
25220        self.meta = meta if meta is not None else None
25221        '''
25222         Reserved for future use.
25223        '''
25224        self.rate_limit = rate_limit if rate_limit is not None else None
25225        '''
25226         Rate limit information.
25227        '''
25228
25229    def __repr__(self):
25230        return '<sdm.ResourceDeleteResponse ' + \
25231            'meta: ' + repr(self.meta) + ' ' +\
25232            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25233            '>'
25234
25235    def to_dict(self):
25236        return {
25237            'meta': self.meta,
25238            'rate_limit': self.rate_limit,
25239        }
25240
25241    @classmethod
25242    def from_dict(cls, d):
25243        return cls(
25244            meta=d.get('meta'),
25245            rate_limit=d.get('rate_limit'),
25246        )
25247
25248
25249class ResourceGetResponse:
25250    '''
25251         ResourceGetResponse returns a requested Resource.
25252    '''
25253    __slots__ = [
25254        'meta',
25255        'rate_limit',
25256        'resource',
25257    ]
25258
25259    def __init__(
25260        self,
25261        meta=None,
25262        rate_limit=None,
25263        resource=None,
25264    ):
25265        self.meta = meta if meta is not None else None
25266        '''
25267         Reserved for future use.
25268        '''
25269        self.rate_limit = rate_limit if rate_limit is not None else None
25270        '''
25271         Rate limit information.
25272        '''
25273        self.resource = resource if resource is not None else None
25274        '''
25275         The requested Resource.
25276        '''
25277
25278    def __repr__(self):
25279        return '<sdm.ResourceGetResponse ' + \
25280            'meta: ' + repr(self.meta) + ' ' +\
25281            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25282            'resource: ' + repr(self.resource) + ' ' +\
25283            '>'
25284
25285    def to_dict(self):
25286        return {
25287            'meta': self.meta,
25288            'rate_limit': self.rate_limit,
25289            'resource': self.resource,
25290        }
25291
25292    @classmethod
25293    def from_dict(cls, d):
25294        return cls(
25295            meta=d.get('meta'),
25296            rate_limit=d.get('rate_limit'),
25297            resource=d.get('resource'),
25298        )
25299
25300
25301class ResourceHealthcheckRequest:
25302    '''
25303         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25304    '''
25305    __slots__ = [
25306        'id',
25307    ]
25308
25309    def __init__(
25310        self,
25311        id=None,
25312    ):
25313        self.id = id if id is not None else ''
25314        '''
25315         The unique identifier of the Resource to healthcheck.
25316        '''
25317
25318    def __repr__(self):
25319        return '<sdm.ResourceHealthcheckRequest ' + \
25320            'id: ' + repr(self.id) + ' ' +\
25321            '>'
25322
25323    def to_dict(self):
25324        return {
25325            'id': self.id,
25326        }
25327
25328    @classmethod
25329    def from_dict(cls, d):
25330        return cls(id=d.get('id'), )
25331
25332
25333class ResourceHealthcheckResponse:
25334    '''
25335         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25336     Healthchecks are non blocking, and this contains no non-metadata.
25337    '''
25338    __slots__ = [
25339        'meta',
25340        'rate_limit',
25341    ]
25342
25343    def __init__(
25344        self,
25345        meta=None,
25346        rate_limit=None,
25347    ):
25348        self.meta = meta if meta is not None else None
25349        '''
25350         Reserved for future use.
25351        '''
25352        self.rate_limit = rate_limit if rate_limit is not None else None
25353        '''
25354         Rate limit information.
25355        '''
25356
25357    def __repr__(self):
25358        return '<sdm.ResourceHealthcheckResponse ' + \
25359            'meta: ' + repr(self.meta) + ' ' +\
25360            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25361            '>'
25362
25363    def to_dict(self):
25364        return {
25365            'meta': self.meta,
25366            'rate_limit': self.rate_limit,
25367        }
25368
25369    @classmethod
25370    def from_dict(cls, d):
25371        return cls(
25372            meta=d.get('meta'),
25373            rate_limit=d.get('rate_limit'),
25374        )
25375
25376
25377class ResourceHistory:
25378    '''
25379         ResourceHistory records the state of a Resource at a given point in time,
25380     where every change (create, update and delete) to a Resource produces an
25381     ResourceHistory record.
25382    '''
25383    __slots__ = [
25384        'activity_id',
25385        'deleted_at',
25386        'resource',
25387        'timestamp',
25388    ]
25389
25390    def __init__(
25391        self,
25392        activity_id=None,
25393        deleted_at=None,
25394        resource=None,
25395        timestamp=None,
25396    ):
25397        self.activity_id = activity_id if activity_id is not None else ''
25398        '''
25399         The unique identifier of the Activity that produced this change to the Resource.
25400         May be empty for some system-initiated updates.
25401        '''
25402        self.deleted_at = deleted_at if deleted_at is not None else None
25403        '''
25404         If this Resource was deleted, the time it was deleted.
25405        '''
25406        self.resource = resource if resource is not None else None
25407        '''
25408         The complete Resource state at this time.
25409        '''
25410        self.timestamp = timestamp if timestamp is not None else None
25411        '''
25412         The time at which the Resource state was recorded.
25413        '''
25414
25415    def __repr__(self):
25416        return '<sdm.ResourceHistory ' + \
25417            'activity_id: ' + repr(self.activity_id) + ' ' +\
25418            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25419            'resource: ' + repr(self.resource) + ' ' +\
25420            'timestamp: ' + repr(self.timestamp) + ' ' +\
25421            '>'
25422
25423    def to_dict(self):
25424        return {
25425            'activity_id': self.activity_id,
25426            'deleted_at': self.deleted_at,
25427            'resource': self.resource,
25428            'timestamp': self.timestamp,
25429        }
25430
25431    @classmethod
25432    def from_dict(cls, d):
25433        return cls(
25434            activity_id=d.get('activity_id'),
25435            deleted_at=d.get('deleted_at'),
25436            resource=d.get('resource'),
25437            timestamp=d.get('timestamp'),
25438        )
25439
25440
25441class ResourceUpdateResponse:
25442    '''
25443         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25444     a ResourceUpdateRequest.
25445    '''
25446    __slots__ = [
25447        'meta',
25448        'rate_limit',
25449        'resource',
25450    ]
25451
25452    def __init__(
25453        self,
25454        meta=None,
25455        rate_limit=None,
25456        resource=None,
25457    ):
25458        self.meta = meta if meta is not None else None
25459        '''
25460         Reserved for future use.
25461        '''
25462        self.rate_limit = rate_limit if rate_limit is not None else None
25463        '''
25464         Rate limit information.
25465        '''
25466        self.resource = resource if resource is not None else None
25467        '''
25468         The updated Resource.
25469        '''
25470
25471    def __repr__(self):
25472        return '<sdm.ResourceUpdateResponse ' + \
25473            'meta: ' + repr(self.meta) + ' ' +\
25474            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25475            'resource: ' + repr(self.resource) + ' ' +\
25476            '>'
25477
25478    def to_dict(self):
25479        return {
25480            'meta': self.meta,
25481            'rate_limit': self.rate_limit,
25482            'resource': self.resource,
25483        }
25484
25485    @classmethod
25486    def from_dict(cls, d):
25487        return cls(
25488            meta=d.get('meta'),
25489            rate_limit=d.get('rate_limit'),
25490            resource=d.get('resource'),
25491        )
25492
25493
25494class Role:
25495    '''
25496         A Role has a list of access rules which determine which Resources the members
25497     of the Role have access to. An Account can be a member of multiple Roles via
25498     AccountAttachments.
25499    '''
25500    __slots__ = [
25501        'access_rules',
25502        'id',
25503        'managed_by',
25504        'name',
25505        'tags',
25506    ]
25507
25508    def __init__(
25509        self,
25510        access_rules=None,
25511        id=None,
25512        managed_by=None,
25513        name=None,
25514        tags=None,
25515    ):
25516        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25517        )
25518        '''
25519         AccessRules is a list of access rules defining the resources this Role has access to.
25520        '''
25521        self.id = id if id is not None else ''
25522        '''
25523         Unique identifier of the Role.
25524        '''
25525        self.managed_by = managed_by if managed_by is not None else ''
25526        '''
25527         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25528        '''
25529        self.name = name if name is not None else ''
25530        '''
25531         Unique human-readable name of the Role.
25532        '''
25533        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25534        '''
25535         Tags is a map of key, value pairs.
25536        '''
25537
25538    def __repr__(self):
25539        return '<sdm.Role ' + \
25540            'access_rules: ' + repr(self.access_rules) + ' ' +\
25541            'id: ' + repr(self.id) + ' ' +\
25542            'managed_by: ' + repr(self.managed_by) + ' ' +\
25543            'name: ' + repr(self.name) + ' ' +\
25544            'tags: ' + repr(self.tags) + ' ' +\
25545            '>'
25546
25547    def to_dict(self):
25548        return {
25549            'access_rules': self.access_rules,
25550            'id': self.id,
25551            'managed_by': self.managed_by,
25552            'name': self.name,
25553            'tags': self.tags,
25554        }
25555
25556    @classmethod
25557    def from_dict(cls, d):
25558        return cls(
25559            access_rules=d.get('access_rules'),
25560            id=d.get('id'),
25561            managed_by=d.get('managed_by'),
25562            name=d.get('name'),
25563            tags=d.get('tags'),
25564        )
25565
25566
25567class RoleCreateResponse:
25568    '''
25569         RoleCreateResponse reports how the Roles were created in the system. It can
25570     communicate partial successes or failures.
25571    '''
25572    __slots__ = [
25573        'meta',
25574        'rate_limit',
25575        'role',
25576    ]
25577
25578    def __init__(
25579        self,
25580        meta=None,
25581        rate_limit=None,
25582        role=None,
25583    ):
25584        self.meta = meta if meta is not None else None
25585        '''
25586         Reserved for future use.
25587        '''
25588        self.rate_limit = rate_limit if rate_limit is not None else None
25589        '''
25590         Rate limit information.
25591        '''
25592        self.role = role if role is not None else None
25593        '''
25594         The created Role.
25595        '''
25596
25597    def __repr__(self):
25598        return '<sdm.RoleCreateResponse ' + \
25599            'meta: ' + repr(self.meta) + ' ' +\
25600            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25601            'role: ' + repr(self.role) + ' ' +\
25602            '>'
25603
25604    def to_dict(self):
25605        return {
25606            'meta': self.meta,
25607            'rate_limit': self.rate_limit,
25608            'role': self.role,
25609        }
25610
25611    @classmethod
25612    def from_dict(cls, d):
25613        return cls(
25614            meta=d.get('meta'),
25615            rate_limit=d.get('rate_limit'),
25616            role=d.get('role'),
25617        )
25618
25619
25620class RoleDeleteResponse:
25621    '''
25622         RoleDeleteResponse returns information about a Role that was deleted.
25623    '''
25624    __slots__ = [
25625        'meta',
25626        'rate_limit',
25627    ]
25628
25629    def __init__(
25630        self,
25631        meta=None,
25632        rate_limit=None,
25633    ):
25634        self.meta = meta if meta is not None else None
25635        '''
25636         Reserved for future use.
25637        '''
25638        self.rate_limit = rate_limit if rate_limit is not None else None
25639        '''
25640         Rate limit information.
25641        '''
25642
25643    def __repr__(self):
25644        return '<sdm.RoleDeleteResponse ' + \
25645            'meta: ' + repr(self.meta) + ' ' +\
25646            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25647            '>'
25648
25649    def to_dict(self):
25650        return {
25651            'meta': self.meta,
25652            'rate_limit': self.rate_limit,
25653        }
25654
25655    @classmethod
25656    def from_dict(cls, d):
25657        return cls(
25658            meta=d.get('meta'),
25659            rate_limit=d.get('rate_limit'),
25660        )
25661
25662
25663class RoleGetResponse:
25664    '''
25665         RoleGetResponse returns a requested Role.
25666    '''
25667    __slots__ = [
25668        'meta',
25669        'rate_limit',
25670        'role',
25671    ]
25672
25673    def __init__(
25674        self,
25675        meta=None,
25676        rate_limit=None,
25677        role=None,
25678    ):
25679        self.meta = meta if meta is not None else None
25680        '''
25681         Reserved for future use.
25682        '''
25683        self.rate_limit = rate_limit if rate_limit is not None else None
25684        '''
25685         Rate limit information.
25686        '''
25687        self.role = role if role is not None else None
25688        '''
25689         The requested Role.
25690        '''
25691
25692    def __repr__(self):
25693        return '<sdm.RoleGetResponse ' + \
25694            'meta: ' + repr(self.meta) + ' ' +\
25695            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25696            'role: ' + repr(self.role) + ' ' +\
25697            '>'
25698
25699    def to_dict(self):
25700        return {
25701            'meta': self.meta,
25702            'rate_limit': self.rate_limit,
25703            'role': self.role,
25704        }
25705
25706    @classmethod
25707    def from_dict(cls, d):
25708        return cls(
25709            meta=d.get('meta'),
25710            rate_limit=d.get('rate_limit'),
25711            role=d.get('role'),
25712        )
25713
25714
25715class RoleHistory:
25716    '''
25717         RoleHistory records the state of a Role at a given point in time,
25718     where every change (create, update and delete) to a Role produces an
25719     RoleHistory record.
25720    '''
25721    __slots__ = [
25722        'activity_id',
25723        'deleted_at',
25724        'role',
25725        'timestamp',
25726    ]
25727
25728    def __init__(
25729        self,
25730        activity_id=None,
25731        deleted_at=None,
25732        role=None,
25733        timestamp=None,
25734    ):
25735        self.activity_id = activity_id if activity_id is not None else ''
25736        '''
25737         The unique identifier of the Activity that produced this change to the Role.
25738         May be empty for some system-initiated updates.
25739        '''
25740        self.deleted_at = deleted_at if deleted_at is not None else None
25741        '''
25742         If this Role was deleted, the time it was deleted.
25743        '''
25744        self.role = role if role is not None else None
25745        '''
25746         The complete Role state at this time.
25747        '''
25748        self.timestamp = timestamp if timestamp is not None else None
25749        '''
25750         The time at which the Role state was recorded.
25751        '''
25752
25753    def __repr__(self):
25754        return '<sdm.RoleHistory ' + \
25755            'activity_id: ' + repr(self.activity_id) + ' ' +\
25756            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25757            'role: ' + repr(self.role) + ' ' +\
25758            'timestamp: ' + repr(self.timestamp) + ' ' +\
25759            '>'
25760
25761    def to_dict(self):
25762        return {
25763            'activity_id': self.activity_id,
25764            'deleted_at': self.deleted_at,
25765            'role': self.role,
25766            'timestamp': self.timestamp,
25767        }
25768
25769    @classmethod
25770    def from_dict(cls, d):
25771        return cls(
25772            activity_id=d.get('activity_id'),
25773            deleted_at=d.get('deleted_at'),
25774            role=d.get('role'),
25775            timestamp=d.get('timestamp'),
25776        )
25777
25778
25779class RoleResource:
25780    '''
25781         RoleResource represents an individual access grant of a Role to a Resource.
25782    '''
25783    __slots__ = [
25784        'granted_at',
25785        'resource_id',
25786        'role_id',
25787    ]
25788
25789    def __init__(
25790        self,
25791        granted_at=None,
25792        resource_id=None,
25793        role_id=None,
25794    ):
25795        self.granted_at = granted_at if granted_at is not None else None
25796        '''
25797         The most recent time at which access was granted. If access was granted,
25798         revoked, and granted again, this will reflect the later time.
25799        '''
25800        self.resource_id = resource_id if resource_id is not None else ''
25801        '''
25802         The unique identifier of the Resource to which access is granted.
25803        '''
25804        self.role_id = role_id if role_id is not None else ''
25805        '''
25806         The unique identifier of the Role to which access is granted.
25807        '''
25808
25809    def __repr__(self):
25810        return '<sdm.RoleResource ' + \
25811            'granted_at: ' + repr(self.granted_at) + ' ' +\
25812            'resource_id: ' + repr(self.resource_id) + ' ' +\
25813            'role_id: ' + repr(self.role_id) + ' ' +\
25814            '>'
25815
25816    def to_dict(self):
25817        return {
25818            'granted_at': self.granted_at,
25819            'resource_id': self.resource_id,
25820            'role_id': self.role_id,
25821        }
25822
25823    @classmethod
25824    def from_dict(cls, d):
25825        return cls(
25826            granted_at=d.get('granted_at'),
25827            resource_id=d.get('resource_id'),
25828            role_id=d.get('role_id'),
25829        )
25830
25831
25832class RoleResourceHistory:
25833    '''
25834         RoleResourceHistory records the state of a RoleResource at a given point in time,
25835     where every change (create or delete) to a RoleResource produces an
25836     RoleResourceHistory record.
25837    '''
25838    __slots__ = [
25839        'activity_id',
25840        'deleted_at',
25841        'role_resource',
25842        'timestamp',
25843    ]
25844
25845    def __init__(
25846        self,
25847        activity_id=None,
25848        deleted_at=None,
25849        role_resource=None,
25850        timestamp=None,
25851    ):
25852        self.activity_id = activity_id if activity_id is not None else ''
25853        '''
25854         The unique identifier of the Activity that produced this change to the RoleResource.
25855         May be empty for some system-initiated updates.
25856        '''
25857        self.deleted_at = deleted_at if deleted_at is not None else None
25858        '''
25859         If this RoleResource was deleted, the time it was deleted.
25860        '''
25861        self.role_resource = role_resource if role_resource is not None else None
25862        '''
25863         The complete RoleResource state at this time.
25864        '''
25865        self.timestamp = timestamp if timestamp is not None else None
25866        '''
25867         The time at which the RoleResource state was recorded.
25868        '''
25869
25870    def __repr__(self):
25871        return '<sdm.RoleResourceHistory ' + \
25872            'activity_id: ' + repr(self.activity_id) + ' ' +\
25873            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25874            'role_resource: ' + repr(self.role_resource) + ' ' +\
25875            'timestamp: ' + repr(self.timestamp) + ' ' +\
25876            '>'
25877
25878    def to_dict(self):
25879        return {
25880            'activity_id': self.activity_id,
25881            'deleted_at': self.deleted_at,
25882            'role_resource': self.role_resource,
25883            'timestamp': self.timestamp,
25884        }
25885
25886    @classmethod
25887    def from_dict(cls, d):
25888        return cls(
25889            activity_id=d.get('activity_id'),
25890            deleted_at=d.get('deleted_at'),
25891            role_resource=d.get('role_resource'),
25892            timestamp=d.get('timestamp'),
25893        )
25894
25895
25896class RoleUpdateResponse:
25897    '''
25898         RoleUpdateResponse returns the fields of a Role after it has been updated by
25899     a RoleUpdateRequest.
25900    '''
25901    __slots__ = [
25902        'meta',
25903        'rate_limit',
25904        'role',
25905    ]
25906
25907    def __init__(
25908        self,
25909        meta=None,
25910        rate_limit=None,
25911        role=None,
25912    ):
25913        self.meta = meta if meta is not None else None
25914        '''
25915         Reserved for future use.
25916        '''
25917        self.rate_limit = rate_limit if rate_limit is not None else None
25918        '''
25919         Rate limit information.
25920        '''
25921        self.role = role if role is not None else None
25922        '''
25923         The updated Role.
25924        '''
25925
25926    def __repr__(self):
25927        return '<sdm.RoleUpdateResponse ' + \
25928            'meta: ' + repr(self.meta) + ' ' +\
25929            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25930            'role: ' + repr(self.role) + ' ' +\
25931            '>'
25932
25933    def to_dict(self):
25934        return {
25935            'meta': self.meta,
25936            'rate_limit': self.rate_limit,
25937            'role': self.role,
25938        }
25939
25940    @classmethod
25941    def from_dict(cls, d):
25942        return cls(
25943            meta=d.get('meta'),
25944            rate_limit=d.get('rate_limit'),
25945            role=d.get('role'),
25946        )
25947
25948
25949class SQLServer:
25950    __slots__ = [
25951        'allow_deprecated_encryption',
25952        'bind_interface',
25953        'database',
25954        'egress_filter',
25955        'healthy',
25956        'hostname',
25957        'id',
25958        'name',
25959        'override_database',
25960        'password',
25961        'port',
25962        'port_override',
25963        'proxy_cluster_id',
25964        'schema',
25965        'secret_store_id',
25966        'subdomain',
25967        'tags',
25968        'username',
25969    ]
25970
25971    def __init__(
25972        self,
25973        allow_deprecated_encryption=None,
25974        bind_interface=None,
25975        database=None,
25976        egress_filter=None,
25977        healthy=None,
25978        hostname=None,
25979        id=None,
25980        name=None,
25981        override_database=None,
25982        password=None,
25983        port=None,
25984        port_override=None,
25985        proxy_cluster_id=None,
25986        schema=None,
25987        secret_store_id=None,
25988        subdomain=None,
25989        tags=None,
25990        username=None,
25991    ):
25992        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
25993        '''
25994         Whether to allow deprecated encryption protocols to be used for this resource. For example,
25995         TLS 1.0.
25996        '''
25997        self.bind_interface = bind_interface if bind_interface is not None else ''
25998        '''
25999         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26000        '''
26001        self.database = database if database is not None else ''
26002        '''
26003         The database for healthchecks, and used for clients if Override Default Database is true.
26004        '''
26005        self.egress_filter = egress_filter if egress_filter is not None else ''
26006        '''
26007         A filter applied to the routing logic to pin datasource to nodes.
26008        '''
26009        self.healthy = healthy if healthy is not None else False
26010        '''
26011         True if the datasource is reachable and the credentials are valid.
26012        '''
26013        self.hostname = hostname if hostname is not None else ''
26014        '''
26015         The host to dial to initiate a connection from the egress node to this resource.
26016        '''
26017        self.id = id if id is not None else ''
26018        '''
26019         Unique identifier of the Resource.
26020        '''
26021        self.name = name if name is not None else ''
26022        '''
26023         Unique human-readable name of the Resource.
26024        '''
26025        self.override_database = override_database if override_database is not None else False
26026        '''
26027         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.
26028        '''
26029        self.password = password if password is not None else ''
26030        '''
26031         The password to authenticate with.
26032        '''
26033        self.port = port if port is not None else 0
26034        '''
26035         The port to dial to initiate a connection from the egress node to this resource.
26036        '''
26037        self.port_override = port_override if port_override is not None else 0
26038        '''
26039         The local port used by clients to connect to this resource.
26040        '''
26041        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26042        '''
26043         ID of the proxy cluster for this resource, if any.
26044        '''
26045        self.schema = schema if schema is not None else ''
26046        '''
26047         The Schema to use to direct initial requests.
26048        '''
26049        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26050        '''
26051         ID of the secret store containing credentials for this resource, if any.
26052        '''
26053        self.subdomain = subdomain if subdomain is not None else ''
26054        '''
26055         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26056        '''
26057        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26058        '''
26059         Tags is a map of key, value pairs.
26060        '''
26061        self.username = username if username is not None else ''
26062        '''
26063         The username to authenticate with.
26064        '''
26065
26066    def __repr__(self):
26067        return '<sdm.SQLServer ' + \
26068            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26069            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26070            'database: ' + repr(self.database) + ' ' +\
26071            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26072            'healthy: ' + repr(self.healthy) + ' ' +\
26073            'hostname: ' + repr(self.hostname) + ' ' +\
26074            'id: ' + repr(self.id) + ' ' +\
26075            'name: ' + repr(self.name) + ' ' +\
26076            'override_database: ' + repr(self.override_database) + ' ' +\
26077            'password: ' + repr(self.password) + ' ' +\
26078            'port: ' + repr(self.port) + ' ' +\
26079            'port_override: ' + repr(self.port_override) + ' ' +\
26080            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26081            'schema: ' + repr(self.schema) + ' ' +\
26082            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26083            'subdomain: ' + repr(self.subdomain) + ' ' +\
26084            'tags: ' + repr(self.tags) + ' ' +\
26085            'username: ' + repr(self.username) + ' ' +\
26086            '>'
26087
26088    def to_dict(self):
26089        return {
26090            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26091            'bind_interface': self.bind_interface,
26092            'database': self.database,
26093            'egress_filter': self.egress_filter,
26094            'healthy': self.healthy,
26095            'hostname': self.hostname,
26096            'id': self.id,
26097            'name': self.name,
26098            'override_database': self.override_database,
26099            'password': self.password,
26100            'port': self.port,
26101            'port_override': self.port_override,
26102            'proxy_cluster_id': self.proxy_cluster_id,
26103            'schema': self.schema,
26104            'secret_store_id': self.secret_store_id,
26105            'subdomain': self.subdomain,
26106            'tags': self.tags,
26107            'username': self.username,
26108        }
26109
26110    @classmethod
26111    def from_dict(cls, d):
26112        return cls(
26113            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26114            bind_interface=d.get('bind_interface'),
26115            database=d.get('database'),
26116            egress_filter=d.get('egress_filter'),
26117            healthy=d.get('healthy'),
26118            hostname=d.get('hostname'),
26119            id=d.get('id'),
26120            name=d.get('name'),
26121            override_database=d.get('override_database'),
26122            password=d.get('password'),
26123            port=d.get('port'),
26124            port_override=d.get('port_override'),
26125            proxy_cluster_id=d.get('proxy_cluster_id'),
26126            schema=d.get('schema'),
26127            secret_store_id=d.get('secret_store_id'),
26128            subdomain=d.get('subdomain'),
26129            tags=d.get('tags'),
26130            username=d.get('username'),
26131        )
26132
26133
26134class SQLServerAzureAD:
26135    __slots__ = [
26136        'allow_deprecated_encryption',
26137        'bind_interface',
26138        'client_id',
26139        'database',
26140        'egress_filter',
26141        'healthy',
26142        'hostname',
26143        'id',
26144        'name',
26145        'override_database',
26146        'port',
26147        'port_override',
26148        'proxy_cluster_id',
26149        'schema',
26150        'secret',
26151        'secret_store_id',
26152        'subdomain',
26153        'tags',
26154        'tenant_id',
26155    ]
26156
26157    def __init__(
26158        self,
26159        allow_deprecated_encryption=None,
26160        bind_interface=None,
26161        client_id=None,
26162        database=None,
26163        egress_filter=None,
26164        healthy=None,
26165        hostname=None,
26166        id=None,
26167        name=None,
26168        override_database=None,
26169        port=None,
26170        port_override=None,
26171        proxy_cluster_id=None,
26172        schema=None,
26173        secret=None,
26174        secret_store_id=None,
26175        subdomain=None,
26176        tags=None,
26177        tenant_id=None,
26178    ):
26179        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26180        '''
26181         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26182         TLS 1.0.
26183        '''
26184        self.bind_interface = bind_interface if bind_interface is not None else ''
26185        '''
26186         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26187        '''
26188        self.client_id = client_id if client_id is not None else ''
26189        '''
26190         The Azure AD application (client) ID with which to authenticate.
26191        '''
26192        self.database = database if database is not None else ''
26193        '''
26194         The database for healthchecks, and used for clients if Override Default Database is true.
26195        '''
26196        self.egress_filter = egress_filter if egress_filter is not None else ''
26197        '''
26198         A filter applied to the routing logic to pin datasource to nodes.
26199        '''
26200        self.healthy = healthy if healthy is not None else False
26201        '''
26202         True if the datasource is reachable and the credentials are valid.
26203        '''
26204        self.hostname = hostname if hostname is not None else ''
26205        '''
26206         The host to dial to initiate a connection from the egress node to this resource.
26207        '''
26208        self.id = id if id is not None else ''
26209        '''
26210         Unique identifier of the Resource.
26211        '''
26212        self.name = name if name is not None else ''
26213        '''
26214         Unique human-readable name of the Resource.
26215        '''
26216        self.override_database = override_database if override_database is not None else False
26217        '''
26218         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.
26219        '''
26220        self.port = port if port is not None else 0
26221        '''
26222         The port to dial to initiate a connection from the egress node to this resource.
26223        '''
26224        self.port_override = port_override if port_override is not None else 0
26225        '''
26226         The local port used by clients to connect to this resource.
26227        '''
26228        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26229        '''
26230         ID of the proxy cluster for this resource, if any.
26231        '''
26232        self.schema = schema if schema is not None else ''
26233        '''
26234         The Schema to use to direct initial requests.
26235        '''
26236        self.secret = secret if secret is not None else ''
26237        '''
26238         The Azure AD client secret (application password) with which to authenticate.
26239        '''
26240        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26241        '''
26242         ID of the secret store containing credentials for this resource, if any.
26243        '''
26244        self.subdomain = subdomain if subdomain is not None else ''
26245        '''
26246         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26247        '''
26248        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26249        '''
26250         Tags is a map of key, value pairs.
26251        '''
26252        self.tenant_id = tenant_id if tenant_id is not None else ''
26253        '''
26254         The Azure AD directory (tenant) ID with which to authenticate.
26255        '''
26256
26257    def __repr__(self):
26258        return '<sdm.SQLServerAzureAD ' + \
26259            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26260            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26261            'client_id: ' + repr(self.client_id) + ' ' +\
26262            'database: ' + repr(self.database) + ' ' +\
26263            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26264            'healthy: ' + repr(self.healthy) + ' ' +\
26265            'hostname: ' + repr(self.hostname) + ' ' +\
26266            'id: ' + repr(self.id) + ' ' +\
26267            'name: ' + repr(self.name) + ' ' +\
26268            'override_database: ' + repr(self.override_database) + ' ' +\
26269            'port: ' + repr(self.port) + ' ' +\
26270            'port_override: ' + repr(self.port_override) + ' ' +\
26271            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26272            'schema: ' + repr(self.schema) + ' ' +\
26273            'secret: ' + repr(self.secret) + ' ' +\
26274            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26275            'subdomain: ' + repr(self.subdomain) + ' ' +\
26276            'tags: ' + repr(self.tags) + ' ' +\
26277            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26278            '>'
26279
26280    def to_dict(self):
26281        return {
26282            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26283            'bind_interface': self.bind_interface,
26284            'client_id': self.client_id,
26285            'database': self.database,
26286            'egress_filter': self.egress_filter,
26287            'healthy': self.healthy,
26288            'hostname': self.hostname,
26289            'id': self.id,
26290            'name': self.name,
26291            'override_database': self.override_database,
26292            'port': self.port,
26293            'port_override': self.port_override,
26294            'proxy_cluster_id': self.proxy_cluster_id,
26295            'schema': self.schema,
26296            'secret': self.secret,
26297            'secret_store_id': self.secret_store_id,
26298            'subdomain': self.subdomain,
26299            'tags': self.tags,
26300            'tenant_id': self.tenant_id,
26301        }
26302
26303    @classmethod
26304    def from_dict(cls, d):
26305        return cls(
26306            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26307            bind_interface=d.get('bind_interface'),
26308            client_id=d.get('client_id'),
26309            database=d.get('database'),
26310            egress_filter=d.get('egress_filter'),
26311            healthy=d.get('healthy'),
26312            hostname=d.get('hostname'),
26313            id=d.get('id'),
26314            name=d.get('name'),
26315            override_database=d.get('override_database'),
26316            port=d.get('port'),
26317            port_override=d.get('port_override'),
26318            proxy_cluster_id=d.get('proxy_cluster_id'),
26319            schema=d.get('schema'),
26320            secret=d.get('secret'),
26321            secret_store_id=d.get('secret_store_id'),
26322            subdomain=d.get('subdomain'),
26323            tags=d.get('tags'),
26324            tenant_id=d.get('tenant_id'),
26325        )
26326
26327
26328class SQLServerKerberosAD:
26329    __slots__ = [
26330        'allow_deprecated_encryption',
26331        'bind_interface',
26332        'database',
26333        'egress_filter',
26334        'healthy',
26335        'hostname',
26336        'id',
26337        'keytab',
26338        'krb_config',
26339        'name',
26340        'override_database',
26341        'port',
26342        'port_override',
26343        'proxy_cluster_id',
26344        'realm',
26345        'schema',
26346        'secret_store_id',
26347        'server_spn',
26348        'subdomain',
26349        'tags',
26350        'username',
26351    ]
26352
26353    def __init__(
26354        self,
26355        allow_deprecated_encryption=None,
26356        bind_interface=None,
26357        database=None,
26358        egress_filter=None,
26359        healthy=None,
26360        hostname=None,
26361        id=None,
26362        keytab=None,
26363        krb_config=None,
26364        name=None,
26365        override_database=None,
26366        port=None,
26367        port_override=None,
26368        proxy_cluster_id=None,
26369        realm=None,
26370        schema=None,
26371        secret_store_id=None,
26372        server_spn=None,
26373        subdomain=None,
26374        tags=None,
26375        username=None,
26376    ):
26377        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26378        '''
26379         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26380         TLS 1.0.
26381        '''
26382        self.bind_interface = bind_interface if bind_interface is not None else ''
26383        '''
26384         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26385        '''
26386        self.database = database if database is not None else ''
26387        '''
26388         The database for healthchecks, and used for clients if Override Default Database is true.
26389        '''
26390        self.egress_filter = egress_filter if egress_filter is not None else ''
26391        '''
26392         A filter applied to the routing logic to pin datasource to nodes.
26393        '''
26394        self.healthy = healthy if healthy is not None else False
26395        '''
26396         True if the datasource is reachable and the credentials are valid.
26397        '''
26398        self.hostname = hostname if hostname is not None else ''
26399        '''
26400         The host to dial to initiate a connection from the egress node to this resource.
26401        '''
26402        self.id = id if id is not None else ''
26403        '''
26404         Unique identifier of the Resource.
26405        '''
26406        self.keytab = keytab if keytab is not None else ''
26407        '''
26408         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26409        '''
26410        self.krb_config = krb_config if krb_config is not None else ''
26411        '''
26412         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26413        '''
26414        self.name = name if name is not None else ''
26415        '''
26416         Unique human-readable name of the Resource.
26417        '''
26418        self.override_database = override_database if override_database is not None else False
26419        '''
26420         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.
26421        '''
26422        self.port = port if port is not None else 0
26423        '''
26424         The port to dial to initiate a connection from the egress node to this resource.
26425        '''
26426        self.port_override = port_override if port_override is not None else 0
26427        '''
26428         The local port used by clients to connect to this resource.
26429        '''
26430        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26431        '''
26432         ID of the proxy cluster for this resource, if any.
26433        '''
26434        self.realm = realm if realm is not None else ''
26435        '''
26436         The Active Directory domain (realm) to which the configured username belongs.
26437        '''
26438        self.schema = schema if schema is not None else ''
26439        '''
26440         The Schema to use to direct initial requests.
26441        '''
26442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26443        '''
26444         ID of the secret store containing credentials for this resource, if any.
26445        '''
26446        self.server_spn = server_spn if server_spn is not None else ''
26447        '''
26448         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26449        '''
26450        self.subdomain = subdomain if subdomain is not None else ''
26451        '''
26452         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26453        '''
26454        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26455        '''
26456         Tags is a map of key, value pairs.
26457        '''
26458        self.username = username if username is not None else ''
26459        '''
26460         The username to authenticate with.
26461        '''
26462
26463    def __repr__(self):
26464        return '<sdm.SQLServerKerberosAD ' + \
26465            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26466            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26467            'database: ' + repr(self.database) + ' ' +\
26468            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26469            'healthy: ' + repr(self.healthy) + ' ' +\
26470            'hostname: ' + repr(self.hostname) + ' ' +\
26471            'id: ' + repr(self.id) + ' ' +\
26472            'keytab: ' + repr(self.keytab) + ' ' +\
26473            'krb_config: ' + repr(self.krb_config) + ' ' +\
26474            'name: ' + repr(self.name) + ' ' +\
26475            'override_database: ' + repr(self.override_database) + ' ' +\
26476            'port: ' + repr(self.port) + ' ' +\
26477            'port_override: ' + repr(self.port_override) + ' ' +\
26478            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26479            'realm: ' + repr(self.realm) + ' ' +\
26480            'schema: ' + repr(self.schema) + ' ' +\
26481            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26482            'server_spn: ' + repr(self.server_spn) + ' ' +\
26483            'subdomain: ' + repr(self.subdomain) + ' ' +\
26484            'tags: ' + repr(self.tags) + ' ' +\
26485            'username: ' + repr(self.username) + ' ' +\
26486            '>'
26487
26488    def to_dict(self):
26489        return {
26490            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26491            'bind_interface': self.bind_interface,
26492            'database': self.database,
26493            'egress_filter': self.egress_filter,
26494            'healthy': self.healthy,
26495            'hostname': self.hostname,
26496            'id': self.id,
26497            'keytab': self.keytab,
26498            'krb_config': self.krb_config,
26499            'name': self.name,
26500            'override_database': self.override_database,
26501            'port': self.port,
26502            'port_override': self.port_override,
26503            'proxy_cluster_id': self.proxy_cluster_id,
26504            'realm': self.realm,
26505            'schema': self.schema,
26506            'secret_store_id': self.secret_store_id,
26507            'server_spn': self.server_spn,
26508            'subdomain': self.subdomain,
26509            'tags': self.tags,
26510            'username': self.username,
26511        }
26512
26513    @classmethod
26514    def from_dict(cls, d):
26515        return cls(
26516            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26517            bind_interface=d.get('bind_interface'),
26518            database=d.get('database'),
26519            egress_filter=d.get('egress_filter'),
26520            healthy=d.get('healthy'),
26521            hostname=d.get('hostname'),
26522            id=d.get('id'),
26523            keytab=d.get('keytab'),
26524            krb_config=d.get('krb_config'),
26525            name=d.get('name'),
26526            override_database=d.get('override_database'),
26527            port=d.get('port'),
26528            port_override=d.get('port_override'),
26529            proxy_cluster_id=d.get('proxy_cluster_id'),
26530            realm=d.get('realm'),
26531            schema=d.get('schema'),
26532            secret_store_id=d.get('secret_store_id'),
26533            server_spn=d.get('server_spn'),
26534            subdomain=d.get('subdomain'),
26535            tags=d.get('tags'),
26536            username=d.get('username'),
26537        )
26538
26539
26540class SSH:
26541    __slots__ = [
26542        'allow_deprecated_key_exchanges',
26543        'bind_interface',
26544        'egress_filter',
26545        'healthy',
26546        'hostname',
26547        'id',
26548        'key_type',
26549        'name',
26550        'port',
26551        'port_forwarding',
26552        'port_override',
26553        'proxy_cluster_id',
26554        'public_key',
26555        'secret_store_id',
26556        'subdomain',
26557        'tags',
26558        'username',
26559    ]
26560
26561    def __init__(
26562        self,
26563        allow_deprecated_key_exchanges=None,
26564        bind_interface=None,
26565        egress_filter=None,
26566        healthy=None,
26567        hostname=None,
26568        id=None,
26569        key_type=None,
26570        name=None,
26571        port=None,
26572        port_forwarding=None,
26573        port_override=None,
26574        proxy_cluster_id=None,
26575        public_key=None,
26576        secret_store_id=None,
26577        subdomain=None,
26578        tags=None,
26579        username=None,
26580    ):
26581        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26582        '''
26583         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26584        '''
26585        self.bind_interface = bind_interface if bind_interface is not None else ''
26586        '''
26587         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26588        '''
26589        self.egress_filter = egress_filter if egress_filter is not None else ''
26590        '''
26591         A filter applied to the routing logic to pin datasource to nodes.
26592        '''
26593        self.healthy = healthy if healthy is not None else False
26594        '''
26595         True if the datasource is reachable and the credentials are valid.
26596        '''
26597        self.hostname = hostname if hostname is not None else ''
26598        '''
26599         The host to dial to initiate a connection from the egress node to this resource.
26600        '''
26601        self.id = id if id is not None else ''
26602        '''
26603         Unique identifier of the Resource.
26604        '''
26605        self.key_type = key_type if key_type is not None else ''
26606        '''
26607         The key type to use e.g. rsa-2048 or ed25519
26608        '''
26609        self.name = name if name is not None else ''
26610        '''
26611         Unique human-readable name of the Resource.
26612        '''
26613        self.port = port if port is not None else 0
26614        '''
26615         The port to dial to initiate a connection from the egress node to this resource.
26616        '''
26617        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26618        '''
26619         Whether port forwarding is allowed through this server.
26620        '''
26621        self.port_override = port_override if port_override is not None else 0
26622        '''
26623         The local port used by clients to connect to this resource.
26624        '''
26625        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26626        '''
26627         ID of the proxy cluster for this resource, if any.
26628        '''
26629        self.public_key = public_key if public_key is not None else ''
26630        '''
26631         The public key to append to a server's authorized keys. This will be generated after resource creation.
26632        '''
26633        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26634        '''
26635         ID of the secret store containing credentials for this resource, if any.
26636        '''
26637        self.subdomain = subdomain if subdomain is not None else ''
26638        '''
26639         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26640        '''
26641        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26642        '''
26643         Tags is a map of key, value pairs.
26644        '''
26645        self.username = username if username is not None else ''
26646        '''
26647         The username to authenticate with.
26648        '''
26649
26650    def __repr__(self):
26651        return '<sdm.SSH ' + \
26652            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26653            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26654            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26655            'healthy: ' + repr(self.healthy) + ' ' +\
26656            'hostname: ' + repr(self.hostname) + ' ' +\
26657            'id: ' + repr(self.id) + ' ' +\
26658            'key_type: ' + repr(self.key_type) + ' ' +\
26659            'name: ' + repr(self.name) + ' ' +\
26660            'port: ' + repr(self.port) + ' ' +\
26661            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26662            'port_override: ' + repr(self.port_override) + ' ' +\
26663            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26664            'public_key: ' + repr(self.public_key) + ' ' +\
26665            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26666            'subdomain: ' + repr(self.subdomain) + ' ' +\
26667            'tags: ' + repr(self.tags) + ' ' +\
26668            'username: ' + repr(self.username) + ' ' +\
26669            '>'
26670
26671    def to_dict(self):
26672        return {
26673            'allow_deprecated_key_exchanges':
26674            self.allow_deprecated_key_exchanges,
26675            'bind_interface': self.bind_interface,
26676            'egress_filter': self.egress_filter,
26677            'healthy': self.healthy,
26678            'hostname': self.hostname,
26679            'id': self.id,
26680            'key_type': self.key_type,
26681            'name': self.name,
26682            'port': self.port,
26683            'port_forwarding': self.port_forwarding,
26684            'port_override': self.port_override,
26685            'proxy_cluster_id': self.proxy_cluster_id,
26686            'public_key': self.public_key,
26687            'secret_store_id': self.secret_store_id,
26688            'subdomain': self.subdomain,
26689            'tags': self.tags,
26690            'username': self.username,
26691        }
26692
26693    @classmethod
26694    def from_dict(cls, d):
26695        return cls(
26696            allow_deprecated_key_exchanges=d.get(
26697                'allow_deprecated_key_exchanges'),
26698            bind_interface=d.get('bind_interface'),
26699            egress_filter=d.get('egress_filter'),
26700            healthy=d.get('healthy'),
26701            hostname=d.get('hostname'),
26702            id=d.get('id'),
26703            key_type=d.get('key_type'),
26704            name=d.get('name'),
26705            port=d.get('port'),
26706            port_forwarding=d.get('port_forwarding'),
26707            port_override=d.get('port_override'),
26708            proxy_cluster_id=d.get('proxy_cluster_id'),
26709            public_key=d.get('public_key'),
26710            secret_store_id=d.get('secret_store_id'),
26711            subdomain=d.get('subdomain'),
26712            tags=d.get('tags'),
26713            username=d.get('username'),
26714        )
26715
26716
26717class SSHCert:
26718    __slots__ = [
26719        'allow_deprecated_key_exchanges',
26720        'bind_interface',
26721        'egress_filter',
26722        'healthy',
26723        'hostname',
26724        'id',
26725        'identity_alias_healthcheck_username',
26726        'identity_set_id',
26727        'key_type',
26728        'name',
26729        'port',
26730        'port_forwarding',
26731        'port_override',
26732        'proxy_cluster_id',
26733        'secret_store_id',
26734        'subdomain',
26735        'tags',
26736        'username',
26737    ]
26738
26739    def __init__(
26740        self,
26741        allow_deprecated_key_exchanges=None,
26742        bind_interface=None,
26743        egress_filter=None,
26744        healthy=None,
26745        hostname=None,
26746        id=None,
26747        identity_alias_healthcheck_username=None,
26748        identity_set_id=None,
26749        key_type=None,
26750        name=None,
26751        port=None,
26752        port_forwarding=None,
26753        port_override=None,
26754        proxy_cluster_id=None,
26755        secret_store_id=None,
26756        subdomain=None,
26757        tags=None,
26758        username=None,
26759    ):
26760        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26761        '''
26762         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26763        '''
26764        self.bind_interface = bind_interface if bind_interface is not None else ''
26765        '''
26766         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26767        '''
26768        self.egress_filter = egress_filter if egress_filter is not None else ''
26769        '''
26770         A filter applied to the routing logic to pin datasource to nodes.
26771        '''
26772        self.healthy = healthy if healthy is not None else False
26773        '''
26774         True if the datasource is reachable and the credentials are valid.
26775        '''
26776        self.hostname = hostname if hostname is not None else ''
26777        '''
26778         The host to dial to initiate a connection from the egress node to this resource.
26779        '''
26780        self.id = id if id is not None else ''
26781        '''
26782         Unique identifier of the Resource.
26783        '''
26784        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26785        '''
26786         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26787        '''
26788        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26789        '''
26790         The ID of the identity set to use for identity connections.
26791        '''
26792        self.key_type = key_type if key_type is not None else ''
26793        '''
26794         The key type to use e.g. rsa-2048 or ed25519
26795        '''
26796        self.name = name if name is not None else ''
26797        '''
26798         Unique human-readable name of the Resource.
26799        '''
26800        self.port = port if port is not None else 0
26801        '''
26802         The port to dial to initiate a connection from the egress node to this resource.
26803        '''
26804        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26805        '''
26806         Whether port forwarding is allowed through this server.
26807        '''
26808        self.port_override = port_override if port_override is not None else 0
26809        '''
26810         The local port used by clients to connect to this resource.
26811        '''
26812        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26813        '''
26814         ID of the proxy cluster for this resource, if any.
26815        '''
26816        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26817        '''
26818         ID of the secret store containing credentials for this resource, if any.
26819        '''
26820        self.subdomain = subdomain if subdomain is not None else ''
26821        '''
26822         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26823        '''
26824        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26825        '''
26826         Tags is a map of key, value pairs.
26827        '''
26828        self.username = username if username is not None else ''
26829        '''
26830         The username to authenticate with.
26831        '''
26832
26833    def __repr__(self):
26834        return '<sdm.SSHCert ' + \
26835            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26836            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26837            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26838            'healthy: ' + repr(self.healthy) + ' ' +\
26839            'hostname: ' + repr(self.hostname) + ' ' +\
26840            'id: ' + repr(self.id) + ' ' +\
26841            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
26842            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
26843            'key_type: ' + repr(self.key_type) + ' ' +\
26844            'name: ' + repr(self.name) + ' ' +\
26845            'port: ' + repr(self.port) + ' ' +\
26846            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26847            'port_override: ' + repr(self.port_override) + ' ' +\
26848            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26849            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26850            'subdomain: ' + repr(self.subdomain) + ' ' +\
26851            'tags: ' + repr(self.tags) + ' ' +\
26852            'username: ' + repr(self.username) + ' ' +\
26853            '>'
26854
26855    def to_dict(self):
26856        return {
26857            'allow_deprecated_key_exchanges':
26858            self.allow_deprecated_key_exchanges,
26859            'bind_interface': self.bind_interface,
26860            'egress_filter': self.egress_filter,
26861            'healthy': self.healthy,
26862            'hostname': self.hostname,
26863            'id': self.id,
26864            'identity_alias_healthcheck_username':
26865            self.identity_alias_healthcheck_username,
26866            'identity_set_id': self.identity_set_id,
26867            'key_type': self.key_type,
26868            'name': self.name,
26869            'port': self.port,
26870            'port_forwarding': self.port_forwarding,
26871            'port_override': self.port_override,
26872            'proxy_cluster_id': self.proxy_cluster_id,
26873            'secret_store_id': self.secret_store_id,
26874            'subdomain': self.subdomain,
26875            'tags': self.tags,
26876            'username': self.username,
26877        }
26878
26879    @classmethod
26880    def from_dict(cls, d):
26881        return cls(
26882            allow_deprecated_key_exchanges=d.get(
26883                'allow_deprecated_key_exchanges'),
26884            bind_interface=d.get('bind_interface'),
26885            egress_filter=d.get('egress_filter'),
26886            healthy=d.get('healthy'),
26887            hostname=d.get('hostname'),
26888            id=d.get('id'),
26889            identity_alias_healthcheck_username=d.get(
26890                'identity_alias_healthcheck_username'),
26891            identity_set_id=d.get('identity_set_id'),
26892            key_type=d.get('key_type'),
26893            name=d.get('name'),
26894            port=d.get('port'),
26895            port_forwarding=d.get('port_forwarding'),
26896            port_override=d.get('port_override'),
26897            proxy_cluster_id=d.get('proxy_cluster_id'),
26898            secret_store_id=d.get('secret_store_id'),
26899            subdomain=d.get('subdomain'),
26900            tags=d.get('tags'),
26901            username=d.get('username'),
26902        )
26903
26904
26905class SSHCustomerKey:
26906    __slots__ = [
26907        'allow_deprecated_key_exchanges',
26908        'bind_interface',
26909        'egress_filter',
26910        'healthy',
26911        'hostname',
26912        'id',
26913        'identity_alias_healthcheck_username',
26914        'identity_set_id',
26915        'name',
26916        'port',
26917        'port_forwarding',
26918        'port_override',
26919        'private_key',
26920        'proxy_cluster_id',
26921        'secret_store_id',
26922        'subdomain',
26923        'tags',
26924        'username',
26925    ]
26926
26927    def __init__(
26928        self,
26929        allow_deprecated_key_exchanges=None,
26930        bind_interface=None,
26931        egress_filter=None,
26932        healthy=None,
26933        hostname=None,
26934        id=None,
26935        identity_alias_healthcheck_username=None,
26936        identity_set_id=None,
26937        name=None,
26938        port=None,
26939        port_forwarding=None,
26940        port_override=None,
26941        private_key=None,
26942        proxy_cluster_id=None,
26943        secret_store_id=None,
26944        subdomain=None,
26945        tags=None,
26946        username=None,
26947    ):
26948        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26949        '''
26950         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26951        '''
26952        self.bind_interface = bind_interface if bind_interface is not None else ''
26953        '''
26954         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26955        '''
26956        self.egress_filter = egress_filter if egress_filter is not None else ''
26957        '''
26958         A filter applied to the routing logic to pin datasource to nodes.
26959        '''
26960        self.healthy = healthy if healthy is not None else False
26961        '''
26962         True if the datasource is reachable and the credentials are valid.
26963        '''
26964        self.hostname = hostname if hostname is not None else ''
26965        '''
26966         The host to dial to initiate a connection from the egress node to this resource.
26967        '''
26968        self.id = id if id is not None else ''
26969        '''
26970         Unique identifier of the Resource.
26971        '''
26972        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26973        '''
26974         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26975        '''
26976        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26977        '''
26978         The ID of the identity set to use for identity connections.
26979        '''
26980        self.name = name if name is not None else ''
26981        '''
26982         Unique human-readable name of the Resource.
26983        '''
26984        self.port = port if port is not None else 0
26985        '''
26986         The port to dial to initiate a connection from the egress node to this resource.
26987        '''
26988        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26989        '''
26990         Whether port forwarding is allowed through this server.
26991        '''
26992        self.port_override = port_override if port_override is not None else 0
26993        '''
26994         The local port used by clients to connect to this resource.
26995        '''
26996        self.private_key = private_key if private_key is not None else ''
26997        '''
26998         The private key used to authenticate with the server.
26999        '''
27000        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27001        '''
27002         ID of the proxy cluster for this resource, if any.
27003        '''
27004        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27005        '''
27006         ID of the secret store containing credentials for this resource, if any.
27007        '''
27008        self.subdomain = subdomain if subdomain is not None else ''
27009        '''
27010         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27011        '''
27012        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27013        '''
27014         Tags is a map of key, value pairs.
27015        '''
27016        self.username = username if username is not None else ''
27017        '''
27018         The username to authenticate with.
27019        '''
27020
27021    def __repr__(self):
27022        return '<sdm.SSHCustomerKey ' + \
27023            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27024            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27025            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27026            'healthy: ' + repr(self.healthy) + ' ' +\
27027            'hostname: ' + repr(self.hostname) + ' ' +\
27028            'id: ' + repr(self.id) + ' ' +\
27029            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27030            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27031            'name: ' + repr(self.name) + ' ' +\
27032            'port: ' + repr(self.port) + ' ' +\
27033            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27034            'port_override: ' + repr(self.port_override) + ' ' +\
27035            'private_key: ' + repr(self.private_key) + ' ' +\
27036            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27037            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27038            'subdomain: ' + repr(self.subdomain) + ' ' +\
27039            'tags: ' + repr(self.tags) + ' ' +\
27040            'username: ' + repr(self.username) + ' ' +\
27041            '>'
27042
27043    def to_dict(self):
27044        return {
27045            'allow_deprecated_key_exchanges':
27046            self.allow_deprecated_key_exchanges,
27047            'bind_interface': self.bind_interface,
27048            'egress_filter': self.egress_filter,
27049            'healthy': self.healthy,
27050            'hostname': self.hostname,
27051            'id': self.id,
27052            'identity_alias_healthcheck_username':
27053            self.identity_alias_healthcheck_username,
27054            'identity_set_id': self.identity_set_id,
27055            'name': self.name,
27056            'port': self.port,
27057            'port_forwarding': self.port_forwarding,
27058            'port_override': self.port_override,
27059            'private_key': self.private_key,
27060            'proxy_cluster_id': self.proxy_cluster_id,
27061            'secret_store_id': self.secret_store_id,
27062            'subdomain': self.subdomain,
27063            'tags': self.tags,
27064            'username': self.username,
27065        }
27066
27067    @classmethod
27068    def from_dict(cls, d):
27069        return cls(
27070            allow_deprecated_key_exchanges=d.get(
27071                'allow_deprecated_key_exchanges'),
27072            bind_interface=d.get('bind_interface'),
27073            egress_filter=d.get('egress_filter'),
27074            healthy=d.get('healthy'),
27075            hostname=d.get('hostname'),
27076            id=d.get('id'),
27077            identity_alias_healthcheck_username=d.get(
27078                'identity_alias_healthcheck_username'),
27079            identity_set_id=d.get('identity_set_id'),
27080            name=d.get('name'),
27081            port=d.get('port'),
27082            port_forwarding=d.get('port_forwarding'),
27083            port_override=d.get('port_override'),
27084            private_key=d.get('private_key'),
27085            proxy_cluster_id=d.get('proxy_cluster_id'),
27086            secret_store_id=d.get('secret_store_id'),
27087            subdomain=d.get('subdomain'),
27088            tags=d.get('tags'),
27089            username=d.get('username'),
27090        )
27091
27092
27093class SSHPassword:
27094    __slots__ = [
27095        'allow_deprecated_key_exchanges',
27096        'bind_interface',
27097        'egress_filter',
27098        'healthy',
27099        'hostname',
27100        'id',
27101        'name',
27102        'password',
27103        'port',
27104        'port_forwarding',
27105        'port_override',
27106        'proxy_cluster_id',
27107        'secret_store_id',
27108        'subdomain',
27109        'tags',
27110        'username',
27111    ]
27112
27113    def __init__(
27114        self,
27115        allow_deprecated_key_exchanges=None,
27116        bind_interface=None,
27117        egress_filter=None,
27118        healthy=None,
27119        hostname=None,
27120        id=None,
27121        name=None,
27122        password=None,
27123        port=None,
27124        port_forwarding=None,
27125        port_override=None,
27126        proxy_cluster_id=None,
27127        secret_store_id=None,
27128        subdomain=None,
27129        tags=None,
27130        username=None,
27131    ):
27132        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27133        '''
27134         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27135        '''
27136        self.bind_interface = bind_interface if bind_interface is not None else ''
27137        '''
27138         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27139        '''
27140        self.egress_filter = egress_filter if egress_filter is not None else ''
27141        '''
27142         A filter applied to the routing logic to pin datasource to nodes.
27143        '''
27144        self.healthy = healthy if healthy is not None else False
27145        '''
27146         True if the datasource is reachable and the credentials are valid.
27147        '''
27148        self.hostname = hostname if hostname is not None else ''
27149        '''
27150         The host to dial to initiate a connection from the egress node to this resource.
27151        '''
27152        self.id = id if id is not None else ''
27153        '''
27154         Unique identifier of the Resource.
27155        '''
27156        self.name = name if name is not None else ''
27157        '''
27158         Unique human-readable name of the Resource.
27159        '''
27160        self.password = password if password is not None else ''
27161        '''
27162         The password to authenticate with.
27163        '''
27164        self.port = port if port is not None else 0
27165        '''
27166         The port to dial to initiate a connection from the egress node to this resource.
27167        '''
27168        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27169        '''
27170         Whether port forwarding is allowed through this server.
27171        '''
27172        self.port_override = port_override if port_override is not None else 0
27173        '''
27174         The local port used by clients to connect to this resource.
27175        '''
27176        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27177        '''
27178         ID of the proxy cluster for this resource, if any.
27179        '''
27180        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27181        '''
27182         ID of the secret store containing credentials for this resource, if any.
27183        '''
27184        self.subdomain = subdomain if subdomain is not None else ''
27185        '''
27186         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27187        '''
27188        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27189        '''
27190         Tags is a map of key, value pairs.
27191        '''
27192        self.username = username if username is not None else ''
27193        '''
27194         The username to authenticate with.
27195        '''
27196
27197    def __repr__(self):
27198        return '<sdm.SSHPassword ' + \
27199            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27200            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27201            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27202            'healthy: ' + repr(self.healthy) + ' ' +\
27203            'hostname: ' + repr(self.hostname) + ' ' +\
27204            'id: ' + repr(self.id) + ' ' +\
27205            'name: ' + repr(self.name) + ' ' +\
27206            'password: ' + repr(self.password) + ' ' +\
27207            'port: ' + repr(self.port) + ' ' +\
27208            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27209            'port_override: ' + repr(self.port_override) + ' ' +\
27210            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27211            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27212            'subdomain: ' + repr(self.subdomain) + ' ' +\
27213            'tags: ' + repr(self.tags) + ' ' +\
27214            'username: ' + repr(self.username) + ' ' +\
27215            '>'
27216
27217    def to_dict(self):
27218        return {
27219            'allow_deprecated_key_exchanges':
27220            self.allow_deprecated_key_exchanges,
27221            'bind_interface': self.bind_interface,
27222            'egress_filter': self.egress_filter,
27223            'healthy': self.healthy,
27224            'hostname': self.hostname,
27225            'id': self.id,
27226            'name': self.name,
27227            'password': self.password,
27228            'port': self.port,
27229            'port_forwarding': self.port_forwarding,
27230            'port_override': self.port_override,
27231            'proxy_cluster_id': self.proxy_cluster_id,
27232            'secret_store_id': self.secret_store_id,
27233            'subdomain': self.subdomain,
27234            'tags': self.tags,
27235            'username': self.username,
27236        }
27237
27238    @classmethod
27239    def from_dict(cls, d):
27240        return cls(
27241            allow_deprecated_key_exchanges=d.get(
27242                'allow_deprecated_key_exchanges'),
27243            bind_interface=d.get('bind_interface'),
27244            egress_filter=d.get('egress_filter'),
27245            healthy=d.get('healthy'),
27246            hostname=d.get('hostname'),
27247            id=d.get('id'),
27248            name=d.get('name'),
27249            password=d.get('password'),
27250            port=d.get('port'),
27251            port_forwarding=d.get('port_forwarding'),
27252            port_override=d.get('port_override'),
27253            proxy_cluster_id=d.get('proxy_cluster_id'),
27254            secret_store_id=d.get('secret_store_id'),
27255            subdomain=d.get('subdomain'),
27256            tags=d.get('tags'),
27257            username=d.get('username'),
27258        )
27259
27260
27261class SecretEngineCreateRequest:
27262    '''
27263         SecretEngineCreateRequest specifies a Secret Engine to create.
27264    '''
27265    __slots__ = [
27266        'secret_engine',
27267    ]
27268
27269    def __init__(
27270        self,
27271        secret_engine=None,
27272    ):
27273        self.secret_engine = secret_engine if secret_engine is not None else None
27274        '''
27275         Parameters to define the new Secret Engine.
27276        '''
27277
27278    def __repr__(self):
27279        return '<sdm.SecretEngineCreateRequest ' + \
27280            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27281            '>'
27282
27283    def to_dict(self):
27284        return {
27285            'secret_engine': self.secret_engine,
27286        }
27287
27288    @classmethod
27289    def from_dict(cls, d):
27290        return cls(secret_engine=d.get('secret_engine'), )
27291
27292
27293class SecretEngineCreateResponse:
27294    '''
27295         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27296    '''
27297    __slots__ = [
27298        'meta',
27299        'rate_limit',
27300        'secret_engine',
27301    ]
27302
27303    def __init__(
27304        self,
27305        meta=None,
27306        rate_limit=None,
27307        secret_engine=None,
27308    ):
27309        self.meta = meta if meta is not None else None
27310        '''
27311         Reserved for future use.
27312        '''
27313        self.rate_limit = rate_limit if rate_limit is not None else None
27314        '''
27315         Rate limit information.
27316        '''
27317        self.secret_engine = secret_engine if secret_engine is not None else None
27318        '''
27319         The requested Secret Engine.
27320        '''
27321
27322    def __repr__(self):
27323        return '<sdm.SecretEngineCreateResponse ' + \
27324            'meta: ' + repr(self.meta) + ' ' +\
27325            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27326            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27327            '>'
27328
27329    def to_dict(self):
27330        return {
27331            'meta': self.meta,
27332            'rate_limit': self.rate_limit,
27333            'secret_engine': self.secret_engine,
27334        }
27335
27336    @classmethod
27337    def from_dict(cls, d):
27338        return cls(
27339            meta=d.get('meta'),
27340            rate_limit=d.get('rate_limit'),
27341            secret_engine=d.get('secret_engine'),
27342        )
27343
27344
27345class SecretEngineDeleteRequest:
27346    '''
27347         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27348    '''
27349    __slots__ = [
27350        'id',
27351    ]
27352
27353    def __init__(
27354        self,
27355        id=None,
27356    ):
27357        self.id = id if id is not None else ''
27358        '''
27359         The unique identifier of the Secret Engine to delete.
27360        '''
27361
27362    def __repr__(self):
27363        return '<sdm.SecretEngineDeleteRequest ' + \
27364            'id: ' + repr(self.id) + ' ' +\
27365            '>'
27366
27367    def to_dict(self):
27368        return {
27369            'id': self.id,
27370        }
27371
27372    @classmethod
27373    def from_dict(cls, d):
27374        return cls(id=d.get('id'), )
27375
27376
27377class SecretEngineDeleteResponse:
27378    '''
27379         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27380    '''
27381    __slots__ = [
27382        'rate_limit',
27383    ]
27384
27385    def __init__(
27386        self,
27387        rate_limit=None,
27388    ):
27389        self.rate_limit = rate_limit if rate_limit is not None else None
27390        '''
27391         Rate limit information.
27392        '''
27393
27394    def __repr__(self):
27395        return '<sdm.SecretEngineDeleteResponse ' + \
27396            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27397            '>'
27398
27399    def to_dict(self):
27400        return {
27401            'rate_limit': self.rate_limit,
27402        }
27403
27404    @classmethod
27405    def from_dict(cls, d):
27406        return cls(rate_limit=d.get('rate_limit'), )
27407
27408
27409class SecretEngineGetRequest:
27410    '''
27411         SecretEngineGetRequest specifies which Secret Engine to retrieve
27412    '''
27413    __slots__ = [
27414        'id',
27415    ]
27416
27417    def __init__(
27418        self,
27419        id=None,
27420    ):
27421        self.id = id if id is not None else ''
27422        '''
27423         The unique identifier of the Secret Engine to retrieve.
27424        '''
27425
27426    def __repr__(self):
27427        return '<sdm.SecretEngineGetRequest ' + \
27428            'id: ' + repr(self.id) + ' ' +\
27429            '>'
27430
27431    def to_dict(self):
27432        return {
27433            'id': self.id,
27434        }
27435
27436    @classmethod
27437    def from_dict(cls, d):
27438        return cls(id=d.get('id'), )
27439
27440
27441class SecretEngineGetResponse:
27442    '''
27443         SecretEngineGetResponse contains information about requested Secret Engine
27444    '''
27445    __slots__ = [
27446        'meta',
27447        'rate_limit',
27448        'secret_engine',
27449    ]
27450
27451    def __init__(
27452        self,
27453        meta=None,
27454        rate_limit=None,
27455        secret_engine=None,
27456    ):
27457        self.meta = meta if meta is not None else None
27458        '''
27459         Reserved for future use.
27460        '''
27461        self.rate_limit = rate_limit if rate_limit is not None else None
27462        '''
27463         Rate limit information.
27464        '''
27465        self.secret_engine = secret_engine if secret_engine is not None else None
27466        '''
27467         The requested Secret Engine.
27468        '''
27469
27470    def __repr__(self):
27471        return '<sdm.SecretEngineGetResponse ' + \
27472            'meta: ' + repr(self.meta) + ' ' +\
27473            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27474            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27475            '>'
27476
27477    def to_dict(self):
27478        return {
27479            'meta': self.meta,
27480            'rate_limit': self.rate_limit,
27481            'secret_engine': self.secret_engine,
27482        }
27483
27484    @classmethod
27485    def from_dict(cls, d):
27486        return cls(
27487            meta=d.get('meta'),
27488            rate_limit=d.get('rate_limit'),
27489            secret_engine=d.get('secret_engine'),
27490        )
27491
27492
27493class SecretEngineListRequest:
27494    '''
27495         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27496    '''
27497    __slots__ = [
27498        'filter',
27499    ]
27500
27501    def __init__(
27502        self,
27503        filter=None,
27504    ):
27505        self.filter = filter if filter is not None else ''
27506        '''
27507         A human-readable filter query string.
27508        '''
27509
27510    def __repr__(self):
27511        return '<sdm.SecretEngineListRequest ' + \
27512            'filter: ' + repr(self.filter) + ' ' +\
27513            '>'
27514
27515    def to_dict(self):
27516        return {
27517            'filter': self.filter,
27518        }
27519
27520    @classmethod
27521    def from_dict(cls, d):
27522        return cls(filter=d.get('filter'), )
27523
27524
27525class SecretEngineListResponse:
27526    '''
27527         SecretEngineListResponse contains a list of requested Secret Engine
27528    '''
27529    __slots__ = [
27530        'rate_limit',
27531    ]
27532
27533    def __init__(
27534        self,
27535        rate_limit=None,
27536    ):
27537        self.rate_limit = rate_limit if rate_limit is not None else None
27538        '''
27539         Rate limit information.
27540        '''
27541
27542    def __repr__(self):
27543        return '<sdm.SecretEngineListResponse ' + \
27544            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27545            '>'
27546
27547    def to_dict(self):
27548        return {
27549            'rate_limit': self.rate_limit,
27550        }
27551
27552    @classmethod
27553    def from_dict(cls, d):
27554        return cls(rate_limit=d.get('rate_limit'), )
27555
27556
27557class SecretEnginePasswordPolicy:
27558    __slots__ = [
27559        'allow_repeat',
27560        'exclude_characters',
27561        'exclude_upper_case',
27562        'length',
27563        'num_digits',
27564        'num_symbols',
27565    ]
27566
27567    def __init__(
27568        self,
27569        allow_repeat=None,
27570        exclude_characters=None,
27571        exclude_upper_case=None,
27572        length=None,
27573        num_digits=None,
27574        num_symbols=None,
27575    ):
27576        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27577        '''
27578         If set to true allows for consecutive characters to repeat itself
27579        '''
27580        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27581        '''
27582         Characters to exclude when generating password
27583        '''
27584        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27585        '''
27586         If set to true do not include upper case letters when generating password
27587        '''
27588        self.length = length if length is not None else 0
27589        '''
27590         Password length.
27591        '''
27592        self.num_digits = num_digits if num_digits is not None else 0
27593        '''
27594         Numbers of digits to use when generating password
27595        '''
27596        self.num_symbols = num_symbols if num_symbols is not None else 0
27597        '''
27598         Number of symbols to use when generating password
27599        '''
27600
27601    def __repr__(self):
27602        return '<sdm.SecretEnginePasswordPolicy ' + \
27603            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27604            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27605            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27606            'length: ' + repr(self.length) + ' ' +\
27607            'num_digits: ' + repr(self.num_digits) + ' ' +\
27608            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27609            '>'
27610
27611    def to_dict(self):
27612        return {
27613            'allow_repeat': self.allow_repeat,
27614            'exclude_characters': self.exclude_characters,
27615            'exclude_upper_case': self.exclude_upper_case,
27616            'length': self.length,
27617            'num_digits': self.num_digits,
27618            'num_symbols': self.num_symbols,
27619        }
27620
27621    @classmethod
27622    def from_dict(cls, d):
27623        return cls(
27624            allow_repeat=d.get('allow_repeat'),
27625            exclude_characters=d.get('exclude_characters'),
27626            exclude_upper_case=d.get('exclude_upper_case'),
27627            length=d.get('length'),
27628            num_digits=d.get('num_digits'),
27629            num_symbols=d.get('num_symbols'),
27630        )
27631
27632
27633class SecretEnginePolicy:
27634    __slots__ = [
27635        'password_policy',
27636    ]
27637
27638    def __init__(
27639        self,
27640        password_policy=None,
27641    ):
27642        self.password_policy = password_policy if password_policy is not None else None
27643        '''
27644         Policy for password
27645        '''
27646
27647    def __repr__(self):
27648        return '<sdm.SecretEnginePolicy ' + \
27649            'password_policy: ' + repr(self.password_policy) + ' ' +\
27650            '>'
27651
27652    def to_dict(self):
27653        return {
27654            'password_policy': self.password_policy,
27655        }
27656
27657    @classmethod
27658    def from_dict(cls, d):
27659        return cls(password_policy=d.get('password_policy'), )
27660
27661
27662class SecretEngineRotateRequest:
27663    __slots__ = [
27664        'id',
27665        'password_policy',
27666    ]
27667
27668    def __init__(
27669        self,
27670        id=None,
27671        password_policy=None,
27672    ):
27673        self.id = id if id is not None else ''
27674        '''
27675         The unique identifier of the Secret Engine to rotate credentials for.
27676        '''
27677        self.password_policy = password_policy if password_policy is not None else None
27678        '''
27679         Optional password policy to use when generating a password
27680         If not provided it will use secret engine's password_policy
27681        '''
27682
27683    def __repr__(self):
27684        return '<sdm.SecretEngineRotateRequest ' + \
27685            'id: ' + repr(self.id) + ' ' +\
27686            'password_policy: ' + repr(self.password_policy) + ' ' +\
27687            '>'
27688
27689    def to_dict(self):
27690        return {
27691            'id': self.id,
27692            'password_policy': self.password_policy,
27693        }
27694
27695    @classmethod
27696    def from_dict(cls, d):
27697        return cls(
27698            id=d.get('id'),
27699            password_policy=d.get('password_policy'),
27700        )
27701
27702
27703class SecretEngineRotateResponse:
27704    __slots__ = [
27705        'rate_limit',
27706    ]
27707
27708    def __init__(
27709        self,
27710        rate_limit=None,
27711    ):
27712        self.rate_limit = rate_limit if rate_limit is not None else None
27713        '''
27714         Rate limit information.
27715        '''
27716
27717    def __repr__(self):
27718        return '<sdm.SecretEngineRotateResponse ' + \
27719            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27720            '>'
27721
27722    def to_dict(self):
27723        return {
27724            'rate_limit': self.rate_limit,
27725        }
27726
27727    @classmethod
27728    def from_dict(cls, d):
27729        return cls(rate_limit=d.get('rate_limit'), )
27730
27731
27732class SecretEngineUpdateRequest:
27733    '''
27734         SecretEngineUpdateRequest specifies secret engine to update
27735    '''
27736    __slots__ = [
27737        'secret_engine',
27738    ]
27739
27740    def __init__(
27741        self,
27742        secret_engine=None,
27743    ):
27744        self.secret_engine = secret_engine if secret_engine is not None else None
27745        '''
27746         Secret engine to update
27747        '''
27748
27749    def __repr__(self):
27750        return '<sdm.SecretEngineUpdateRequest ' + \
27751            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27752            '>'
27753
27754    def to_dict(self):
27755        return {
27756            'secret_engine': self.secret_engine,
27757        }
27758
27759    @classmethod
27760    def from_dict(cls, d):
27761        return cls(secret_engine=d.get('secret_engine'), )
27762
27763
27764class SecretEngineUpdateResponse:
27765    '''
27766         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
27767    '''
27768    __slots__ = [
27769        'meta',
27770        'rate_limit',
27771        'secret_engine',
27772    ]
27773
27774    def __init__(
27775        self,
27776        meta=None,
27777        rate_limit=None,
27778        secret_engine=None,
27779    ):
27780        self.meta = meta if meta is not None else None
27781        '''
27782         Reserved for future use.
27783        '''
27784        self.rate_limit = rate_limit if rate_limit is not None else None
27785        '''
27786         Rate limit information.
27787        '''
27788        self.secret_engine = secret_engine if secret_engine is not None else None
27789        '''
27790         The requested Secret Engine.
27791        '''
27792
27793    def __repr__(self):
27794        return '<sdm.SecretEngineUpdateResponse ' + \
27795            'meta: ' + repr(self.meta) + ' ' +\
27796            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27797            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27798            '>'
27799
27800    def to_dict(self):
27801        return {
27802            'meta': self.meta,
27803            'rate_limit': self.rate_limit,
27804            'secret_engine': self.secret_engine,
27805        }
27806
27807    @classmethod
27808    def from_dict(cls, d):
27809        return cls(
27810            meta=d.get('meta'),
27811            rate_limit=d.get('rate_limit'),
27812            secret_engine=d.get('secret_engine'),
27813        )
27814
27815
27816class SecretStoreCreateResponse:
27817    '''
27818         SecretStoreCreateResponse reports how the SecretStores were created in the system.
27819    '''
27820    __slots__ = [
27821        'meta',
27822        'rate_limit',
27823        'secret_store',
27824    ]
27825
27826    def __init__(
27827        self,
27828        meta=None,
27829        rate_limit=None,
27830        secret_store=None,
27831    ):
27832        self.meta = meta if meta is not None else None
27833        '''
27834         Reserved for future use.
27835        '''
27836        self.rate_limit = rate_limit if rate_limit is not None else None
27837        '''
27838         Rate limit information.
27839        '''
27840        self.secret_store = secret_store if secret_store is not None else None
27841        '''
27842         The created SecretStore.
27843        '''
27844
27845    def __repr__(self):
27846        return '<sdm.SecretStoreCreateResponse ' + \
27847            'meta: ' + repr(self.meta) + ' ' +\
27848            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27849            'secret_store: ' + repr(self.secret_store) + ' ' +\
27850            '>'
27851
27852    def to_dict(self):
27853        return {
27854            'meta': self.meta,
27855            'rate_limit': self.rate_limit,
27856            'secret_store': self.secret_store,
27857        }
27858
27859    @classmethod
27860    def from_dict(cls, d):
27861        return cls(
27862            meta=d.get('meta'),
27863            rate_limit=d.get('rate_limit'),
27864            secret_store=d.get('secret_store'),
27865        )
27866
27867
27868class SecretStoreDeleteResponse:
27869    '''
27870         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
27871    '''
27872    __slots__ = [
27873        'meta',
27874        'rate_limit',
27875    ]
27876
27877    def __init__(
27878        self,
27879        meta=None,
27880        rate_limit=None,
27881    ):
27882        self.meta = meta if meta is not None else None
27883        '''
27884         Reserved for future use.
27885        '''
27886        self.rate_limit = rate_limit if rate_limit is not None else None
27887        '''
27888         Rate limit information.
27889        '''
27890
27891    def __repr__(self):
27892        return '<sdm.SecretStoreDeleteResponse ' + \
27893            'meta: ' + repr(self.meta) + ' ' +\
27894            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27895            '>'
27896
27897    def to_dict(self):
27898        return {
27899            'meta': self.meta,
27900            'rate_limit': self.rate_limit,
27901        }
27902
27903    @classmethod
27904    def from_dict(cls, d):
27905        return cls(
27906            meta=d.get('meta'),
27907            rate_limit=d.get('rate_limit'),
27908        )
27909
27910
27911class SecretStoreGetResponse:
27912    '''
27913         SecretStoreGetResponse returns a requested SecretStore.
27914    '''
27915    __slots__ = [
27916        'meta',
27917        'rate_limit',
27918        'secret_store',
27919    ]
27920
27921    def __init__(
27922        self,
27923        meta=None,
27924        rate_limit=None,
27925        secret_store=None,
27926    ):
27927        self.meta = meta if meta is not None else None
27928        '''
27929         Reserved for future use.
27930        '''
27931        self.rate_limit = rate_limit if rate_limit is not None else None
27932        '''
27933         Rate limit information.
27934        '''
27935        self.secret_store = secret_store if secret_store is not None else None
27936        '''
27937         The requested SecretStore.
27938        '''
27939
27940    def __repr__(self):
27941        return '<sdm.SecretStoreGetResponse ' + \
27942            'meta: ' + repr(self.meta) + ' ' +\
27943            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27944            'secret_store: ' + repr(self.secret_store) + ' ' +\
27945            '>'
27946
27947    def to_dict(self):
27948        return {
27949            'meta': self.meta,
27950            'rate_limit': self.rate_limit,
27951            'secret_store': self.secret_store,
27952        }
27953
27954    @classmethod
27955    def from_dict(cls, d):
27956        return cls(
27957            meta=d.get('meta'),
27958            rate_limit=d.get('rate_limit'),
27959            secret_store=d.get('secret_store'),
27960        )
27961
27962
27963class SecretStoreHealth:
27964    '''
27965         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
27966     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
27967     or set of nodes.
27968    '''
27969    __slots__ = [
27970        'changed_at',
27971        'checked_at',
27972        'error',
27973        'flags',
27974        'node_id',
27975        'reachability',
27976        'secret_store_id',
27977        'status',
27978    ]
27979
27980    def __init__(
27981        self,
27982        changed_at=None,
27983        checked_at=None,
27984        error=None,
27985        flags=None,
27986        node_id=None,
27987        reachability=None,
27988        secret_store_id=None,
27989        status=None,
27990    ):
27991        self.changed_at = changed_at if changed_at is not None else None
27992        '''
27993         The time when the status last changed
27994        '''
27995        self.checked_at = checked_at if checked_at is not None else None
27996        '''
27997         The time when the status was last checked by the node
27998        '''
27999        self.error = error if error is not None else ''
28000        '''
28001         The error associated with this health check, if it occurred after reachability checks succeeded.
28002        '''
28003        self.flags = flags if flags is not None else []
28004        '''
28005         Any specific status or error flags associated with this health check.
28006        '''
28007        self.node_id = node_id if node_id is not None else ''
28008        '''
28009         Associated node id for this health
28010        '''
28011        self.reachability = reachability if reachability is not None else ''
28012        '''
28013         The error associated with this health check, if it occurred during reachability checks.
28014        '''
28015        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28016        '''
28017         Associated secret store for this health
28018        '''
28019        self.status = status if status is not None else ''
28020        '''
28021         The status of the link between the node and secret store
28022        '''
28023
28024    def __repr__(self):
28025        return '<sdm.SecretStoreHealth ' + \
28026            'changed_at: ' + repr(self.changed_at) + ' ' +\
28027            'checked_at: ' + repr(self.checked_at) + ' ' +\
28028            'error: ' + repr(self.error) + ' ' +\
28029            'flags: ' + repr(self.flags) + ' ' +\
28030            'node_id: ' + repr(self.node_id) + ' ' +\
28031            'reachability: ' + repr(self.reachability) + ' ' +\
28032            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28033            'status: ' + repr(self.status) + ' ' +\
28034            '>'
28035
28036    def to_dict(self):
28037        return {
28038            'changed_at': self.changed_at,
28039            'checked_at': self.checked_at,
28040            'error': self.error,
28041            'flags': self.flags,
28042            'node_id': self.node_id,
28043            'reachability': self.reachability,
28044            'secret_store_id': self.secret_store_id,
28045            'status': self.status,
28046        }
28047
28048    @classmethod
28049    def from_dict(cls, d):
28050        return cls(
28051            changed_at=d.get('changed_at'),
28052            checked_at=d.get('checked_at'),
28053            error=d.get('error'),
28054            flags=d.get('flags'),
28055            node_id=d.get('node_id'),
28056            reachability=d.get('reachability'),
28057            secret_store_id=d.get('secret_store_id'),
28058            status=d.get('status'),
28059        )
28060
28061
28062class SecretStoreHealthListResponse:
28063    __slots__ = [
28064        'rate_limit',
28065    ]
28066
28067    def __init__(
28068        self,
28069        rate_limit=None,
28070    ):
28071        self.rate_limit = rate_limit if rate_limit is not None else None
28072        '''
28073         Rate limit information.
28074        '''
28075
28076    def __repr__(self):
28077        return '<sdm.SecretStoreHealthListResponse ' + \
28078            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28079            '>'
28080
28081    def to_dict(self):
28082        return {
28083            'rate_limit': self.rate_limit,
28084        }
28085
28086    @classmethod
28087    def from_dict(cls, d):
28088        return cls(rate_limit=d.get('rate_limit'), )
28089
28090
28091class SecretStoreHealthcheckResponse:
28092    __slots__ = [
28093        'rate_limit',
28094    ]
28095
28096    def __init__(
28097        self,
28098        rate_limit=None,
28099    ):
28100        self.rate_limit = rate_limit if rate_limit is not None else None
28101        '''
28102         Rate limit information.
28103        '''
28104
28105    def __repr__(self):
28106        return '<sdm.SecretStoreHealthcheckResponse ' + \
28107            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28108            '>'
28109
28110    def to_dict(self):
28111        return {
28112            'rate_limit': self.rate_limit,
28113        }
28114
28115    @classmethod
28116    def from_dict(cls, d):
28117        return cls(rate_limit=d.get('rate_limit'), )
28118
28119
28120class SecretStoreHistory:
28121    '''
28122         SecretStoreHistory records the state of a SecretStore at a given point in time,
28123     where every change (create, update and delete) to a SecretStore produces an
28124     SecretStoreHistory record.
28125    '''
28126    __slots__ = [
28127        'activity_id',
28128        'deleted_at',
28129        'secret_store',
28130        'timestamp',
28131    ]
28132
28133    def __init__(
28134        self,
28135        activity_id=None,
28136        deleted_at=None,
28137        secret_store=None,
28138        timestamp=None,
28139    ):
28140        self.activity_id = activity_id if activity_id is not None else ''
28141        '''
28142         The unique identifier of the Activity that produced this change to the SecretStore.
28143         May be empty for some system-initiated updates.
28144        '''
28145        self.deleted_at = deleted_at if deleted_at is not None else None
28146        '''
28147         If this SecretStore was deleted, the time it was deleted.
28148        '''
28149        self.secret_store = secret_store if secret_store is not None else None
28150        '''
28151         The complete SecretStore state at this time.
28152        '''
28153        self.timestamp = timestamp if timestamp is not None else None
28154        '''
28155         The time at which the SecretStore state was recorded.
28156        '''
28157
28158    def __repr__(self):
28159        return '<sdm.SecretStoreHistory ' + \
28160            'activity_id: ' + repr(self.activity_id) + ' ' +\
28161            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28162            'secret_store: ' + repr(self.secret_store) + ' ' +\
28163            'timestamp: ' + repr(self.timestamp) + ' ' +\
28164            '>'
28165
28166    def to_dict(self):
28167        return {
28168            'activity_id': self.activity_id,
28169            'deleted_at': self.deleted_at,
28170            'secret_store': self.secret_store,
28171            'timestamp': self.timestamp,
28172        }
28173
28174    @classmethod
28175    def from_dict(cls, d):
28176        return cls(
28177            activity_id=d.get('activity_id'),
28178            deleted_at=d.get('deleted_at'),
28179            secret_store=d.get('secret_store'),
28180            timestamp=d.get('timestamp'),
28181        )
28182
28183
28184class SecretStoreUpdateResponse:
28185    '''
28186         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28187     a SecretStoreUpdateRequest.
28188    '''
28189    __slots__ = [
28190        'meta',
28191        'rate_limit',
28192        'secret_store',
28193    ]
28194
28195    def __init__(
28196        self,
28197        meta=None,
28198        rate_limit=None,
28199        secret_store=None,
28200    ):
28201        self.meta = meta if meta is not None else None
28202        '''
28203         Reserved for future use.
28204        '''
28205        self.rate_limit = rate_limit if rate_limit is not None else None
28206        '''
28207         Rate limit information.
28208        '''
28209        self.secret_store = secret_store if secret_store is not None else None
28210        '''
28211         The updated SecretStore.
28212        '''
28213
28214    def __repr__(self):
28215        return '<sdm.SecretStoreUpdateResponse ' + \
28216            'meta: ' + repr(self.meta) + ' ' +\
28217            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28218            'secret_store: ' + repr(self.secret_store) + ' ' +\
28219            '>'
28220
28221    def to_dict(self):
28222        return {
28223            'meta': self.meta,
28224            'rate_limit': self.rate_limit,
28225            'secret_store': self.secret_store,
28226        }
28227
28228    @classmethod
28229    def from_dict(cls, d):
28230        return cls(
28231            meta=d.get('meta'),
28232            rate_limit=d.get('rate_limit'),
28233            secret_store=d.get('secret_store'),
28234        )
28235
28236
28237class Service:
28238    '''
28239         A Service is a service account that can connect to resources they are granted
28240     directly, or granted via roles. Services are typically automated jobs.
28241    '''
28242    __slots__ = [
28243        'id',
28244        'name',
28245        'suspended',
28246        'tags',
28247    ]
28248
28249    def __init__(
28250        self,
28251        id=None,
28252        name=None,
28253        suspended=None,
28254        tags=None,
28255    ):
28256        self.id = id if id is not None else ''
28257        '''
28258         Unique identifier of the Service.
28259        '''
28260        self.name = name if name is not None else ''
28261        '''
28262         Unique human-readable name of the Service.
28263        '''
28264        self.suspended = suspended if suspended is not None else False
28265        '''
28266         The Service's suspended state.
28267        '''
28268        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28269        '''
28270         Tags is a map of key, value pairs.
28271        '''
28272
28273    def __repr__(self):
28274        return '<sdm.Service ' + \
28275            'id: ' + repr(self.id) + ' ' +\
28276            'name: ' + repr(self.name) + ' ' +\
28277            'suspended: ' + repr(self.suspended) + ' ' +\
28278            'tags: ' + repr(self.tags) + ' ' +\
28279            '>'
28280
28281    def to_dict(self):
28282        return {
28283            'id': self.id,
28284            'name': self.name,
28285            'suspended': self.suspended,
28286            'tags': self.tags,
28287        }
28288
28289    @classmethod
28290    def from_dict(cls, d):
28291        return cls(
28292            id=d.get('id'),
28293            name=d.get('name'),
28294            suspended=d.get('suspended'),
28295            tags=d.get('tags'),
28296        )
28297
28298
28299class SingleStore:
28300    __slots__ = [
28301        'bind_interface',
28302        'database',
28303        'egress_filter',
28304        'healthy',
28305        'hostname',
28306        'id',
28307        'name',
28308        'password',
28309        'port',
28310        'port_override',
28311        'proxy_cluster_id',
28312        'require_native_auth',
28313        'secret_store_id',
28314        'subdomain',
28315        'tags',
28316        'use_azure_single_server_usernames',
28317        'username',
28318    ]
28319
28320    def __init__(
28321        self,
28322        bind_interface=None,
28323        database=None,
28324        egress_filter=None,
28325        healthy=None,
28326        hostname=None,
28327        id=None,
28328        name=None,
28329        password=None,
28330        port=None,
28331        port_override=None,
28332        proxy_cluster_id=None,
28333        require_native_auth=None,
28334        secret_store_id=None,
28335        subdomain=None,
28336        tags=None,
28337        use_azure_single_server_usernames=None,
28338        username=None,
28339    ):
28340        self.bind_interface = bind_interface if bind_interface is not None else ''
28341        '''
28342         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28343        '''
28344        self.database = database if database is not None else ''
28345        '''
28346         The database for healthchecks. Does not affect client requests.
28347        '''
28348        self.egress_filter = egress_filter if egress_filter is not None else ''
28349        '''
28350         A filter applied to the routing logic to pin datasource to nodes.
28351        '''
28352        self.healthy = healthy if healthy is not None else False
28353        '''
28354         True if the datasource is reachable and the credentials are valid.
28355        '''
28356        self.hostname = hostname if hostname is not None else ''
28357        '''
28358         The host to dial to initiate a connection from the egress node to this resource.
28359        '''
28360        self.id = id if id is not None else ''
28361        '''
28362         Unique identifier of the Resource.
28363        '''
28364        self.name = name if name is not None else ''
28365        '''
28366         Unique human-readable name of the Resource.
28367        '''
28368        self.password = password if password is not None else ''
28369        '''
28370         The password to authenticate with.
28371        '''
28372        self.port = port if port is not None else 0
28373        '''
28374         The port to dial to initiate a connection from the egress node to this resource.
28375        '''
28376        self.port_override = port_override if port_override is not None else 0
28377        '''
28378         The local port used by clients to connect to this resource.
28379        '''
28380        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28381        '''
28382         ID of the proxy cluster for this resource, if any.
28383        '''
28384        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28385        '''
28386         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28387        '''
28388        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28389        '''
28390         ID of the secret store containing credentials for this resource, if any.
28391        '''
28392        self.subdomain = subdomain if subdomain is not None else ''
28393        '''
28394         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28395        '''
28396        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28397        '''
28398         Tags is a map of key, value pairs.
28399        '''
28400        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28401        '''
28402         If true, appends the hostname to the username when hitting a database.azure.com address
28403        '''
28404        self.username = username if username is not None else ''
28405        '''
28406         The username to authenticate with.
28407        '''
28408
28409    def __repr__(self):
28410        return '<sdm.SingleStore ' + \
28411            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28412            'database: ' + repr(self.database) + ' ' +\
28413            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28414            'healthy: ' + repr(self.healthy) + ' ' +\
28415            'hostname: ' + repr(self.hostname) + ' ' +\
28416            'id: ' + repr(self.id) + ' ' +\
28417            'name: ' + repr(self.name) + ' ' +\
28418            'password: ' + repr(self.password) + ' ' +\
28419            'port: ' + repr(self.port) + ' ' +\
28420            'port_override: ' + repr(self.port_override) + ' ' +\
28421            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28422            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28423            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28424            'subdomain: ' + repr(self.subdomain) + ' ' +\
28425            'tags: ' + repr(self.tags) + ' ' +\
28426            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28427            'username: ' + repr(self.username) + ' ' +\
28428            '>'
28429
28430    def to_dict(self):
28431        return {
28432            'bind_interface': self.bind_interface,
28433            'database': self.database,
28434            'egress_filter': self.egress_filter,
28435            'healthy': self.healthy,
28436            'hostname': self.hostname,
28437            'id': self.id,
28438            'name': self.name,
28439            'password': self.password,
28440            'port': self.port,
28441            'port_override': self.port_override,
28442            'proxy_cluster_id': self.proxy_cluster_id,
28443            'require_native_auth': self.require_native_auth,
28444            'secret_store_id': self.secret_store_id,
28445            'subdomain': self.subdomain,
28446            'tags': self.tags,
28447            'use_azure_single_server_usernames':
28448            self.use_azure_single_server_usernames,
28449            'username': self.username,
28450        }
28451
28452    @classmethod
28453    def from_dict(cls, d):
28454        return cls(
28455            bind_interface=d.get('bind_interface'),
28456            database=d.get('database'),
28457            egress_filter=d.get('egress_filter'),
28458            healthy=d.get('healthy'),
28459            hostname=d.get('hostname'),
28460            id=d.get('id'),
28461            name=d.get('name'),
28462            password=d.get('password'),
28463            port=d.get('port'),
28464            port_override=d.get('port_override'),
28465            proxy_cluster_id=d.get('proxy_cluster_id'),
28466            require_native_auth=d.get('require_native_auth'),
28467            secret_store_id=d.get('secret_store_id'),
28468            subdomain=d.get('subdomain'),
28469            tags=d.get('tags'),
28470            use_azure_single_server_usernames=d.get(
28471                'use_azure_single_server_usernames'),
28472            username=d.get('username'),
28473        )
28474
28475
28476class Snowflake:
28477    __slots__ = [
28478        'bind_interface',
28479        'database',
28480        'egress_filter',
28481        'healthy',
28482        'hostname',
28483        'id',
28484        'name',
28485        'password',
28486        'port_override',
28487        'proxy_cluster_id',
28488        'schema',
28489        'secret_store_id',
28490        'subdomain',
28491        'tags',
28492        'username',
28493    ]
28494
28495    def __init__(
28496        self,
28497        bind_interface=None,
28498        database=None,
28499        egress_filter=None,
28500        healthy=None,
28501        hostname=None,
28502        id=None,
28503        name=None,
28504        password=None,
28505        port_override=None,
28506        proxy_cluster_id=None,
28507        schema=None,
28508        secret_store_id=None,
28509        subdomain=None,
28510        tags=None,
28511        username=None,
28512    ):
28513        self.bind_interface = bind_interface if bind_interface is not None else ''
28514        '''
28515         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28516        '''
28517        self.database = database if database is not None else ''
28518        '''
28519         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28520        '''
28521        self.egress_filter = egress_filter if egress_filter is not None else ''
28522        '''
28523         A filter applied to the routing logic to pin datasource to nodes.
28524        '''
28525        self.healthy = healthy if healthy is not None else False
28526        '''
28527         True if the datasource is reachable and the credentials are valid.
28528        '''
28529        self.hostname = hostname if hostname is not None else ''
28530        '''
28531         The host to dial to initiate a connection from the egress node to this resource.
28532        '''
28533        self.id = id if id is not None else ''
28534        '''
28535         Unique identifier of the Resource.
28536        '''
28537        self.name = name if name is not None else ''
28538        '''
28539         Unique human-readable name of the Resource.
28540        '''
28541        self.password = password if password is not None else ''
28542        '''
28543         The password to authenticate with.
28544        '''
28545        self.port_override = port_override if port_override is not None else 0
28546        '''
28547         The local port used by clients to connect to this resource.
28548        '''
28549        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28550        '''
28551         ID of the proxy cluster for this resource, if any.
28552        '''
28553        self.schema = schema if schema is not None else ''
28554        '''
28555         The schema to provide on authentication.
28556        '''
28557        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28558        '''
28559         ID of the secret store containing credentials for this resource, if any.
28560        '''
28561        self.subdomain = subdomain if subdomain is not None else ''
28562        '''
28563         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28564        '''
28565        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28566        '''
28567         Tags is a map of key, value pairs.
28568        '''
28569        self.username = username if username is not None else ''
28570        '''
28571         The username to authenticate with.
28572        '''
28573
28574    def __repr__(self):
28575        return '<sdm.Snowflake ' + \
28576            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28577            'database: ' + repr(self.database) + ' ' +\
28578            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28579            'healthy: ' + repr(self.healthy) + ' ' +\
28580            'hostname: ' + repr(self.hostname) + ' ' +\
28581            'id: ' + repr(self.id) + ' ' +\
28582            'name: ' + repr(self.name) + ' ' +\
28583            'password: ' + repr(self.password) + ' ' +\
28584            'port_override: ' + repr(self.port_override) + ' ' +\
28585            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28586            'schema: ' + repr(self.schema) + ' ' +\
28587            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28588            'subdomain: ' + repr(self.subdomain) + ' ' +\
28589            'tags: ' + repr(self.tags) + ' ' +\
28590            'username: ' + repr(self.username) + ' ' +\
28591            '>'
28592
28593    def to_dict(self):
28594        return {
28595            'bind_interface': self.bind_interface,
28596            'database': self.database,
28597            'egress_filter': self.egress_filter,
28598            'healthy': self.healthy,
28599            'hostname': self.hostname,
28600            'id': self.id,
28601            'name': self.name,
28602            'password': self.password,
28603            'port_override': self.port_override,
28604            'proxy_cluster_id': self.proxy_cluster_id,
28605            'schema': self.schema,
28606            'secret_store_id': self.secret_store_id,
28607            'subdomain': self.subdomain,
28608            'tags': self.tags,
28609            'username': self.username,
28610        }
28611
28612    @classmethod
28613    def from_dict(cls, d):
28614        return cls(
28615            bind_interface=d.get('bind_interface'),
28616            database=d.get('database'),
28617            egress_filter=d.get('egress_filter'),
28618            healthy=d.get('healthy'),
28619            hostname=d.get('hostname'),
28620            id=d.get('id'),
28621            name=d.get('name'),
28622            password=d.get('password'),
28623            port_override=d.get('port_override'),
28624            proxy_cluster_id=d.get('proxy_cluster_id'),
28625            schema=d.get('schema'),
28626            secret_store_id=d.get('secret_store_id'),
28627            subdomain=d.get('subdomain'),
28628            tags=d.get('tags'),
28629            username=d.get('username'),
28630        )
28631
28632
28633class Snowsight:
28634    __slots__ = [
28635        'bind_interface',
28636        'egress_filter',
28637        'healthcheck_username',
28638        'healthy',
28639        'id',
28640        'name',
28641        'port_override',
28642        'proxy_cluster_id',
28643        'samlmetadata',
28644        'secret_store_id',
28645        'subdomain',
28646        'tags',
28647    ]
28648
28649    def __init__(
28650        self,
28651        bind_interface=None,
28652        egress_filter=None,
28653        healthcheck_username=None,
28654        healthy=None,
28655        id=None,
28656        name=None,
28657        port_override=None,
28658        proxy_cluster_id=None,
28659        samlmetadata=None,
28660        secret_store_id=None,
28661        subdomain=None,
28662        tags=None,
28663    ):
28664        self.bind_interface = bind_interface if bind_interface is not None else ''
28665        '''
28666         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28667        '''
28668        self.egress_filter = egress_filter if egress_filter is not None else ''
28669        '''
28670         A filter applied to the routing logic to pin datasource to nodes.
28671        '''
28672        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28673        '''
28674         The StrongDM user email to use for healthchecks.
28675        '''
28676        self.healthy = healthy if healthy is not None else False
28677        '''
28678         True if the datasource is reachable and the credentials are valid.
28679        '''
28680        self.id = id if id is not None else ''
28681        '''
28682         Unique identifier of the Resource.
28683        '''
28684        self.name = name if name is not None else ''
28685        '''
28686         Unique human-readable name of the Resource.
28687        '''
28688        self.port_override = port_override if port_override is not None else 0
28689        '''
28690         The local port used by clients to connect to this resource.
28691        '''
28692        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28693        '''
28694         ID of the proxy cluster for this resource, if any.
28695        '''
28696        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28697        '''
28698         The Metadata for your snowflake IDP integration
28699        '''
28700        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28701        '''
28702         ID of the secret store containing credentials for this resource, if any.
28703        '''
28704        self.subdomain = subdomain if subdomain is not None else ''
28705        '''
28706         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28707        '''
28708        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28709        '''
28710         Tags is a map of key, value pairs.
28711        '''
28712
28713    def __repr__(self):
28714        return '<sdm.Snowsight ' + \
28715            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28716            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28717            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28718            'healthy: ' + repr(self.healthy) + ' ' +\
28719            'id: ' + repr(self.id) + ' ' +\
28720            'name: ' + repr(self.name) + ' ' +\
28721            'port_override: ' + repr(self.port_override) + ' ' +\
28722            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28723            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28724            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28725            'subdomain: ' + repr(self.subdomain) + ' ' +\
28726            'tags: ' + repr(self.tags) + ' ' +\
28727            '>'
28728
28729    def to_dict(self):
28730        return {
28731            'bind_interface': self.bind_interface,
28732            'egress_filter': self.egress_filter,
28733            'healthcheck_username': self.healthcheck_username,
28734            'healthy': self.healthy,
28735            'id': self.id,
28736            'name': self.name,
28737            'port_override': self.port_override,
28738            'proxy_cluster_id': self.proxy_cluster_id,
28739            'samlmetadata': self.samlmetadata,
28740            'secret_store_id': self.secret_store_id,
28741            'subdomain': self.subdomain,
28742            'tags': self.tags,
28743        }
28744
28745    @classmethod
28746    def from_dict(cls, d):
28747        return cls(
28748            bind_interface=d.get('bind_interface'),
28749            egress_filter=d.get('egress_filter'),
28750            healthcheck_username=d.get('healthcheck_username'),
28751            healthy=d.get('healthy'),
28752            id=d.get('id'),
28753            name=d.get('name'),
28754            port_override=d.get('port_override'),
28755            proxy_cluster_id=d.get('proxy_cluster_id'),
28756            samlmetadata=d.get('samlmetadata'),
28757            secret_store_id=d.get('secret_store_id'),
28758            subdomain=d.get('subdomain'),
28759            tags=d.get('tags'),
28760        )
28761
28762
28763class Sybase:
28764    __slots__ = [
28765        'bind_interface',
28766        'egress_filter',
28767        'healthy',
28768        'hostname',
28769        'id',
28770        'name',
28771        'password',
28772        'port',
28773        'port_override',
28774        'proxy_cluster_id',
28775        'secret_store_id',
28776        'subdomain',
28777        'tags',
28778        'username',
28779    ]
28780
28781    def __init__(
28782        self,
28783        bind_interface=None,
28784        egress_filter=None,
28785        healthy=None,
28786        hostname=None,
28787        id=None,
28788        name=None,
28789        password=None,
28790        port=None,
28791        port_override=None,
28792        proxy_cluster_id=None,
28793        secret_store_id=None,
28794        subdomain=None,
28795        tags=None,
28796        username=None,
28797    ):
28798        self.bind_interface = bind_interface if bind_interface is not None else ''
28799        '''
28800         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28801        '''
28802        self.egress_filter = egress_filter if egress_filter is not None else ''
28803        '''
28804         A filter applied to the routing logic to pin datasource to nodes.
28805        '''
28806        self.healthy = healthy if healthy is not None else False
28807        '''
28808         True if the datasource is reachable and the credentials are valid.
28809        '''
28810        self.hostname = hostname if hostname is not None else ''
28811        '''
28812         The host to dial to initiate a connection from the egress node to this resource.
28813        '''
28814        self.id = id if id is not None else ''
28815        '''
28816         Unique identifier of the Resource.
28817        '''
28818        self.name = name if name is not None else ''
28819        '''
28820         Unique human-readable name of the Resource.
28821        '''
28822        self.password = password if password is not None else ''
28823        '''
28824         The password to authenticate with.
28825        '''
28826        self.port = port if port is not None else 0
28827        '''
28828         The port to dial to initiate a connection from the egress node to this resource.
28829        '''
28830        self.port_override = port_override if port_override is not None else 0
28831        '''
28832         The local port used by clients to connect to this resource.
28833        '''
28834        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28835        '''
28836         ID of the proxy cluster for this resource, if any.
28837        '''
28838        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28839        '''
28840         ID of the secret store containing credentials for this resource, if any.
28841        '''
28842        self.subdomain = subdomain if subdomain is not None else ''
28843        '''
28844         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28845        '''
28846        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28847        '''
28848         Tags is a map of key, value pairs.
28849        '''
28850        self.username = username if username is not None else ''
28851        '''
28852         The username to authenticate with.
28853        '''
28854
28855    def __repr__(self):
28856        return '<sdm.Sybase ' + \
28857            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28858            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28859            'healthy: ' + repr(self.healthy) + ' ' +\
28860            'hostname: ' + repr(self.hostname) + ' ' +\
28861            'id: ' + repr(self.id) + ' ' +\
28862            'name: ' + repr(self.name) + ' ' +\
28863            'password: ' + repr(self.password) + ' ' +\
28864            'port: ' + repr(self.port) + ' ' +\
28865            'port_override: ' + repr(self.port_override) + ' ' +\
28866            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28867            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28868            'subdomain: ' + repr(self.subdomain) + ' ' +\
28869            'tags: ' + repr(self.tags) + ' ' +\
28870            'username: ' + repr(self.username) + ' ' +\
28871            '>'
28872
28873    def to_dict(self):
28874        return {
28875            'bind_interface': self.bind_interface,
28876            'egress_filter': self.egress_filter,
28877            'healthy': self.healthy,
28878            'hostname': self.hostname,
28879            'id': self.id,
28880            'name': self.name,
28881            'password': self.password,
28882            'port': self.port,
28883            'port_override': self.port_override,
28884            'proxy_cluster_id': self.proxy_cluster_id,
28885            'secret_store_id': self.secret_store_id,
28886            'subdomain': self.subdomain,
28887            'tags': self.tags,
28888            'username': self.username,
28889        }
28890
28891    @classmethod
28892    def from_dict(cls, d):
28893        return cls(
28894            bind_interface=d.get('bind_interface'),
28895            egress_filter=d.get('egress_filter'),
28896            healthy=d.get('healthy'),
28897            hostname=d.get('hostname'),
28898            id=d.get('id'),
28899            name=d.get('name'),
28900            password=d.get('password'),
28901            port=d.get('port'),
28902            port_override=d.get('port_override'),
28903            proxy_cluster_id=d.get('proxy_cluster_id'),
28904            secret_store_id=d.get('secret_store_id'),
28905            subdomain=d.get('subdomain'),
28906            tags=d.get('tags'),
28907            username=d.get('username'),
28908        )
28909
28910
28911class SybaseIQ:
28912    __slots__ = [
28913        'bind_interface',
28914        'egress_filter',
28915        'healthy',
28916        'hostname',
28917        'id',
28918        'name',
28919        'password',
28920        'port',
28921        'port_override',
28922        'proxy_cluster_id',
28923        'secret_store_id',
28924        'subdomain',
28925        'tags',
28926        'username',
28927    ]
28928
28929    def __init__(
28930        self,
28931        bind_interface=None,
28932        egress_filter=None,
28933        healthy=None,
28934        hostname=None,
28935        id=None,
28936        name=None,
28937        password=None,
28938        port=None,
28939        port_override=None,
28940        proxy_cluster_id=None,
28941        secret_store_id=None,
28942        subdomain=None,
28943        tags=None,
28944        username=None,
28945    ):
28946        self.bind_interface = bind_interface if bind_interface is not None else ''
28947        '''
28948         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28949        '''
28950        self.egress_filter = egress_filter if egress_filter is not None else ''
28951        '''
28952         A filter applied to the routing logic to pin datasource to nodes.
28953        '''
28954        self.healthy = healthy if healthy is not None else False
28955        '''
28956         True if the datasource is reachable and the credentials are valid.
28957        '''
28958        self.hostname = hostname if hostname is not None else ''
28959        '''
28960         The host to dial to initiate a connection from the egress node to this resource.
28961        '''
28962        self.id = id if id is not None else ''
28963        '''
28964         Unique identifier of the Resource.
28965        '''
28966        self.name = name if name is not None else ''
28967        '''
28968         Unique human-readable name of the Resource.
28969        '''
28970        self.password = password if password is not None else ''
28971        '''
28972         The password to authenticate with.
28973        '''
28974        self.port = port if port is not None else 0
28975        '''
28976         The port to dial to initiate a connection from the egress node to this resource.
28977        '''
28978        self.port_override = port_override if port_override is not None else 0
28979        '''
28980         The local port used by clients to connect to this resource.
28981        '''
28982        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28983        '''
28984         ID of the proxy cluster for this resource, if any.
28985        '''
28986        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28987        '''
28988         ID of the secret store containing credentials for this resource, if any.
28989        '''
28990        self.subdomain = subdomain if subdomain is not None else ''
28991        '''
28992         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28993        '''
28994        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28995        '''
28996         Tags is a map of key, value pairs.
28997        '''
28998        self.username = username if username is not None else ''
28999        '''
29000         The username to authenticate with.
29001        '''
29002
29003    def __repr__(self):
29004        return '<sdm.SybaseIQ ' + \
29005            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29006            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29007            'healthy: ' + repr(self.healthy) + ' ' +\
29008            'hostname: ' + repr(self.hostname) + ' ' +\
29009            'id: ' + repr(self.id) + ' ' +\
29010            'name: ' + repr(self.name) + ' ' +\
29011            'password: ' + repr(self.password) + ' ' +\
29012            'port: ' + repr(self.port) + ' ' +\
29013            'port_override: ' + repr(self.port_override) + ' ' +\
29014            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29015            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29016            'subdomain: ' + repr(self.subdomain) + ' ' +\
29017            'tags: ' + repr(self.tags) + ' ' +\
29018            'username: ' + repr(self.username) + ' ' +\
29019            '>'
29020
29021    def to_dict(self):
29022        return {
29023            'bind_interface': self.bind_interface,
29024            'egress_filter': self.egress_filter,
29025            'healthy': self.healthy,
29026            'hostname': self.hostname,
29027            'id': self.id,
29028            'name': self.name,
29029            'password': self.password,
29030            'port': self.port,
29031            'port_override': self.port_override,
29032            'proxy_cluster_id': self.proxy_cluster_id,
29033            'secret_store_id': self.secret_store_id,
29034            'subdomain': self.subdomain,
29035            'tags': self.tags,
29036            'username': self.username,
29037        }
29038
29039    @classmethod
29040    def from_dict(cls, d):
29041        return cls(
29042            bind_interface=d.get('bind_interface'),
29043            egress_filter=d.get('egress_filter'),
29044            healthy=d.get('healthy'),
29045            hostname=d.get('hostname'),
29046            id=d.get('id'),
29047            name=d.get('name'),
29048            password=d.get('password'),
29049            port=d.get('port'),
29050            port_override=d.get('port_override'),
29051            proxy_cluster_id=d.get('proxy_cluster_id'),
29052            secret_store_id=d.get('secret_store_id'),
29053            subdomain=d.get('subdomain'),
29054            tags=d.get('tags'),
29055            username=d.get('username'),
29056        )
29057
29058
29059class Tag:
29060    __slots__ = [
29061        'name',
29062        'value',
29063    ]
29064
29065    def __init__(
29066        self,
29067        name=None,
29068        value=None,
29069    ):
29070        self.name = name if name is not None else ''
29071        '''
29072         The name or key of this tag. Each name can only refer to one value on a tagged entity.
29073        '''
29074        self.value = value if value is not None else ''
29075        '''
29076         The value of this tag.
29077        '''
29078
29079    def __repr__(self):
29080        return '<sdm.Tag ' + \
29081            'name: ' + repr(self.name) + ' ' +\
29082            'value: ' + repr(self.value) + ' ' +\
29083            '>'
29084
29085    def to_dict(self):
29086        return {
29087            'name': self.name,
29088            'value': self.value,
29089        }
29090
29091    @classmethod
29092    def from_dict(cls, d):
29093        return cls(
29094            name=d.get('name'),
29095            value=d.get('value'),
29096        )
29097
29098
29099class Teradata:
29100    __slots__ = [
29101        'bind_interface',
29102        'egress_filter',
29103        'healthy',
29104        'hostname',
29105        'id',
29106        'name',
29107        'password',
29108        'port',
29109        'port_override',
29110        'proxy_cluster_id',
29111        'secret_store_id',
29112        'subdomain',
29113        'tags',
29114        'username',
29115    ]
29116
29117    def __init__(
29118        self,
29119        bind_interface=None,
29120        egress_filter=None,
29121        healthy=None,
29122        hostname=None,
29123        id=None,
29124        name=None,
29125        password=None,
29126        port=None,
29127        port_override=None,
29128        proxy_cluster_id=None,
29129        secret_store_id=None,
29130        subdomain=None,
29131        tags=None,
29132        username=None,
29133    ):
29134        self.bind_interface = bind_interface if bind_interface is not None else ''
29135        '''
29136         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29137        '''
29138        self.egress_filter = egress_filter if egress_filter is not None else ''
29139        '''
29140         A filter applied to the routing logic to pin datasource to nodes.
29141        '''
29142        self.healthy = healthy if healthy is not None else False
29143        '''
29144         True if the datasource is reachable and the credentials are valid.
29145        '''
29146        self.hostname = hostname if hostname is not None else ''
29147        '''
29148         The host to dial to initiate a connection from the egress node to this resource.
29149        '''
29150        self.id = id if id is not None else ''
29151        '''
29152         Unique identifier of the Resource.
29153        '''
29154        self.name = name if name is not None else ''
29155        '''
29156         Unique human-readable name of the Resource.
29157        '''
29158        self.password = password if password is not None else ''
29159        '''
29160         The password to authenticate with.
29161        '''
29162        self.port = port if port is not None else 0
29163        '''
29164         The port to dial to initiate a connection from the egress node to this resource.
29165        '''
29166        self.port_override = port_override if port_override is not None else 0
29167        '''
29168         The local port used by clients to connect to this resource.
29169        '''
29170        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29171        '''
29172         ID of the proxy cluster for this resource, if any.
29173        '''
29174        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29175        '''
29176         ID of the secret store containing credentials for this resource, if any.
29177        '''
29178        self.subdomain = subdomain if subdomain is not None else ''
29179        '''
29180         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29181        '''
29182        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29183        '''
29184         Tags is a map of key, value pairs.
29185        '''
29186        self.username = username if username is not None else ''
29187        '''
29188         The username to authenticate with.
29189        '''
29190
29191    def __repr__(self):
29192        return '<sdm.Teradata ' + \
29193            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29194            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29195            'healthy: ' + repr(self.healthy) + ' ' +\
29196            'hostname: ' + repr(self.hostname) + ' ' +\
29197            'id: ' + repr(self.id) + ' ' +\
29198            'name: ' + repr(self.name) + ' ' +\
29199            'password: ' + repr(self.password) + ' ' +\
29200            'port: ' + repr(self.port) + ' ' +\
29201            'port_override: ' + repr(self.port_override) + ' ' +\
29202            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29203            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29204            'subdomain: ' + repr(self.subdomain) + ' ' +\
29205            'tags: ' + repr(self.tags) + ' ' +\
29206            'username: ' + repr(self.username) + ' ' +\
29207            '>'
29208
29209    def to_dict(self):
29210        return {
29211            'bind_interface': self.bind_interface,
29212            'egress_filter': self.egress_filter,
29213            'healthy': self.healthy,
29214            'hostname': self.hostname,
29215            'id': self.id,
29216            'name': self.name,
29217            'password': self.password,
29218            'port': self.port,
29219            'port_override': self.port_override,
29220            'proxy_cluster_id': self.proxy_cluster_id,
29221            'secret_store_id': self.secret_store_id,
29222            'subdomain': self.subdomain,
29223            'tags': self.tags,
29224            'username': self.username,
29225        }
29226
29227    @classmethod
29228    def from_dict(cls, d):
29229        return cls(
29230            bind_interface=d.get('bind_interface'),
29231            egress_filter=d.get('egress_filter'),
29232            healthy=d.get('healthy'),
29233            hostname=d.get('hostname'),
29234            id=d.get('id'),
29235            name=d.get('name'),
29236            password=d.get('password'),
29237            port=d.get('port'),
29238            port_override=d.get('port_override'),
29239            proxy_cluster_id=d.get('proxy_cluster_id'),
29240            secret_store_id=d.get('secret_store_id'),
29241            subdomain=d.get('subdomain'),
29242            tags=d.get('tags'),
29243            username=d.get('username'),
29244        )
29245
29246
29247class Token:
29248    '''
29249         A Token is an account providing tokenized access for automation or integration use.
29250     Tokens include admin tokens, API keys, and SCIM tokens.
29251    '''
29252    __slots__ = [
29253        'account_type',
29254        'deadline',
29255        'duration',
29256        'id',
29257        'name',
29258        'permissions',
29259        'rekeyed',
29260        'suspended',
29261        'tags',
29262    ]
29263
29264    def __init__(
29265        self,
29266        account_type=None,
29267        deadline=None,
29268        duration=None,
29269        id=None,
29270        name=None,
29271        permissions=None,
29272        rekeyed=None,
29273        suspended=None,
29274        tags=None,
29275    ):
29276        self.account_type = account_type if account_type is not None else ''
29277        '''
29278         Corresponds to the type of token, e.g. api or admin-token.
29279        '''
29280        self.deadline = deadline if deadline is not None else None
29281        '''
29282         The timestamp when the Token will expire.
29283        '''
29284        self.duration = duration if duration is not None else None
29285        '''
29286         Duration from token creation to expiration.
29287        '''
29288        self.id = id if id is not None else ''
29289        '''
29290         Unique identifier of the Token.
29291        '''
29292        self.name = name if name is not None else ''
29293        '''
29294         Unique human-readable name of the Token.
29295        '''
29296        self.permissions = permissions if permissions is not None else []
29297        '''
29298         Permissions assigned to the token, e.g. role:create.
29299        '''
29300        self.rekeyed = rekeyed if rekeyed is not None else None
29301        '''
29302         The timestamp when the Token was last rekeyed.
29303        '''
29304        self.suspended = suspended if suspended is not None else False
29305        '''
29306         Reserved for future use.  Always false for tokens.
29307        '''
29308        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29309        '''
29310         Tags is a map of key, value pairs.
29311        '''
29312
29313    def __repr__(self):
29314        return '<sdm.Token ' + \
29315            'account_type: ' + repr(self.account_type) + ' ' +\
29316            'deadline: ' + repr(self.deadline) + ' ' +\
29317            'duration: ' + repr(self.duration) + ' ' +\
29318            'id: ' + repr(self.id) + ' ' +\
29319            'name: ' + repr(self.name) + ' ' +\
29320            'permissions: ' + repr(self.permissions) + ' ' +\
29321            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29322            'suspended: ' + repr(self.suspended) + ' ' +\
29323            'tags: ' + repr(self.tags) + ' ' +\
29324            '>'
29325
29326    def to_dict(self):
29327        return {
29328            'account_type': self.account_type,
29329            'deadline': self.deadline,
29330            'duration': self.duration,
29331            'id': self.id,
29332            'name': self.name,
29333            'permissions': self.permissions,
29334            'rekeyed': self.rekeyed,
29335            'suspended': self.suspended,
29336            'tags': self.tags,
29337        }
29338
29339    @classmethod
29340    def from_dict(cls, d):
29341        return cls(
29342            account_type=d.get('account_type'),
29343            deadline=d.get('deadline'),
29344            duration=d.get('duration'),
29345            id=d.get('id'),
29346            name=d.get('name'),
29347            permissions=d.get('permissions'),
29348            rekeyed=d.get('rekeyed'),
29349            suspended=d.get('suspended'),
29350            tags=d.get('tags'),
29351        )
29352
29353
29354class Trino:
29355    '''
29356    Trino is currently unstable, and its API may change, or it may be removed,
29357    without a major version bump.
29358    '''
29359    __slots__ = [
29360        'bind_interface',
29361        'egress_filter',
29362        'healthy',
29363        'hostname',
29364        'id',
29365        'name',
29366        'password',
29367        'port',
29368        'port_override',
29369        'proxy_cluster_id',
29370        'secret_store_id',
29371        'subdomain',
29372        'tags',
29373        'tls_required',
29374        'username',
29375    ]
29376
29377    def __init__(
29378        self,
29379        bind_interface=None,
29380        egress_filter=None,
29381        healthy=None,
29382        hostname=None,
29383        id=None,
29384        name=None,
29385        password=None,
29386        port=None,
29387        port_override=None,
29388        proxy_cluster_id=None,
29389        secret_store_id=None,
29390        subdomain=None,
29391        tags=None,
29392        tls_required=None,
29393        username=None,
29394    ):
29395        self.bind_interface = bind_interface if bind_interface is not None else ''
29396        '''
29397         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29398        '''
29399        self.egress_filter = egress_filter if egress_filter is not None else ''
29400        '''
29401         A filter applied to the routing logic to pin datasource to nodes.
29402        '''
29403        self.healthy = healthy if healthy is not None else False
29404        '''
29405         True if the datasource is reachable and the credentials are valid.
29406        '''
29407        self.hostname = hostname if hostname is not None else ''
29408        '''
29409         The host to dial to initiate a connection from the egress node to this resource.
29410        '''
29411        self.id = id if id is not None else ''
29412        '''
29413         Unique identifier of the Resource.
29414        '''
29415        self.name = name if name is not None else ''
29416        '''
29417         Unique human-readable name of the Resource.
29418        '''
29419        self.password = password if password is not None else ''
29420        '''
29421         The password to authenticate with.
29422        '''
29423        self.port = port if port is not None else 0
29424        '''
29425         The port to dial to initiate a connection from the egress node to this resource.
29426        '''
29427        self.port_override = port_override if port_override is not None else 0
29428        '''
29429         The local port used by clients to connect to this resource.
29430        '''
29431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29432        '''
29433         ID of the proxy cluster for this resource, if any.
29434        '''
29435        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29436        '''
29437         ID of the secret store containing credentials for this resource, if any.
29438        '''
29439        self.subdomain = subdomain if subdomain is not None else ''
29440        '''
29441         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29442        '''
29443        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29444        '''
29445         Tags is a map of key, value pairs.
29446        '''
29447        self.tls_required = tls_required if tls_required is not None else False
29448        '''
29449         If set, TLS must be used to connect to this resource.
29450        '''
29451        self.username = username if username is not None else ''
29452        '''
29453         The username to authenticate with.
29454        '''
29455
29456    def __repr__(self):
29457        return '<sdm.Trino ' + \
29458            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29459            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29460            'healthy: ' + repr(self.healthy) + ' ' +\
29461            'hostname: ' + repr(self.hostname) + ' ' +\
29462            'id: ' + repr(self.id) + ' ' +\
29463            'name: ' + repr(self.name) + ' ' +\
29464            'password: ' + repr(self.password) + ' ' +\
29465            'port: ' + repr(self.port) + ' ' +\
29466            'port_override: ' + repr(self.port_override) + ' ' +\
29467            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29468            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29469            'subdomain: ' + repr(self.subdomain) + ' ' +\
29470            'tags: ' + repr(self.tags) + ' ' +\
29471            'tls_required: ' + repr(self.tls_required) + ' ' +\
29472            'username: ' + repr(self.username) + ' ' +\
29473            '>'
29474
29475    def to_dict(self):
29476        return {
29477            'bind_interface': self.bind_interface,
29478            'egress_filter': self.egress_filter,
29479            'healthy': self.healthy,
29480            'hostname': self.hostname,
29481            'id': self.id,
29482            'name': self.name,
29483            'password': self.password,
29484            'port': self.port,
29485            'port_override': self.port_override,
29486            'proxy_cluster_id': self.proxy_cluster_id,
29487            'secret_store_id': self.secret_store_id,
29488            'subdomain': self.subdomain,
29489            'tags': self.tags,
29490            'tls_required': self.tls_required,
29491            'username': self.username,
29492        }
29493
29494    @classmethod
29495    def from_dict(cls, d):
29496        return cls(
29497            bind_interface=d.get('bind_interface'),
29498            egress_filter=d.get('egress_filter'),
29499            healthy=d.get('healthy'),
29500            hostname=d.get('hostname'),
29501            id=d.get('id'),
29502            name=d.get('name'),
29503            password=d.get('password'),
29504            port=d.get('port'),
29505            port_override=d.get('port_override'),
29506            proxy_cluster_id=d.get('proxy_cluster_id'),
29507            secret_store_id=d.get('secret_store_id'),
29508            subdomain=d.get('subdomain'),
29509            tags=d.get('tags'),
29510            tls_required=d.get('tls_required'),
29511            username=d.get('username'),
29512        )
29513
29514
29515class UpdateResponseMetadata:
29516    '''
29517         UpdateResponseMetadata is reserved for future use.
29518    '''
29519    __slots__ = []
29520
29521    def __init__(self, ):
29522        pass
29523
29524    def __repr__(self):
29525        return '<sdm.UpdateResponseMetadata ' + \
29526            '>'
29527
29528    def to_dict(self):
29529        return {}
29530
29531    @classmethod
29532    def from_dict(cls, d):
29533        return cls()
29534
29535
29536class User:
29537    '''
29538         A User can connect to resources they are granted directly, or granted
29539     via roles.
29540    '''
29541    __slots__ = [
29542        'scim',
29543        'email',
29544        'external_id',
29545        'first_name',
29546        'id',
29547        'last_name',
29548        'managed_by',
29549        'manager_id',
29550        'password',
29551        'permission_level',
29552        'resolved_manager_id',
29553        'suspended',
29554        'tags',
29555    ]
29556
29557    def __init__(
29558        self,
29559        scim=None,
29560        email=None,
29561        external_id=None,
29562        first_name=None,
29563        id=None,
29564        last_name=None,
29565        managed_by=None,
29566        manager_id=None,
29567        password=None,
29568        permission_level=None,
29569        resolved_manager_id=None,
29570        suspended=None,
29571        tags=None,
29572    ):
29573        self.scim = scim if scim is not None else ''
29574        '''
29575         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29576        '''
29577        self.email = email if email is not None else ''
29578        '''
29579         The User's email address. Must be unique.
29580        '''
29581        self.external_id = external_id if external_id is not None else ''
29582        '''
29583         External ID is an alternative unique ID this user is represented by within an external service.
29584        '''
29585        self.first_name = first_name if first_name is not None else ''
29586        '''
29587         The User's first name.
29588        '''
29589        self.id = id if id is not None else ''
29590        '''
29591         Unique identifier of the User.
29592        '''
29593        self.last_name = last_name if last_name is not None else ''
29594        '''
29595         The User's last name.
29596        '''
29597        self.managed_by = managed_by if managed_by is not None else ''
29598        '''
29599         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29600        '''
29601        self.manager_id = manager_id if manager_id is not None else ''
29602        '''
29603         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29604        '''
29605        self.password = password if password is not None else ''
29606        '''
29607         Password is a write-only field that can be used to set the user's password.
29608         Currently only supported for update.
29609        '''
29610        self.permission_level = permission_level if permission_level is not None else ''
29611        '''
29612         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29613        '''
29614        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29615        '''
29616         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29617         if present, or from the SCIM metadata.
29618         This is a read-only field that's only populated for get and list.
29619        '''
29620        self.suspended = suspended if suspended is not None else False
29621        '''
29622         Suspended is a read only field for the User's suspended state.
29623        '''
29624        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29625        '''
29626         Tags is a map of key, value pairs.
29627        '''
29628
29629    def __repr__(self):
29630        return '<sdm.User ' + \
29631            'scim: ' + repr(self.scim) + ' ' +\
29632            'email: ' + repr(self.email) + ' ' +\
29633            'external_id: ' + repr(self.external_id) + ' ' +\
29634            'first_name: ' + repr(self.first_name) + ' ' +\
29635            'id: ' + repr(self.id) + ' ' +\
29636            'last_name: ' + repr(self.last_name) + ' ' +\
29637            'managed_by: ' + repr(self.managed_by) + ' ' +\
29638            'manager_id: ' + repr(self.manager_id) + ' ' +\
29639            'password: ' + repr(self.password) + ' ' +\
29640            'permission_level: ' + repr(self.permission_level) + ' ' +\
29641            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29642            'suspended: ' + repr(self.suspended) + ' ' +\
29643            'tags: ' + repr(self.tags) + ' ' +\
29644            '>'
29645
29646    def to_dict(self):
29647        return {
29648            'scim': self.scim,
29649            'email': self.email,
29650            'external_id': self.external_id,
29651            'first_name': self.first_name,
29652            'id': self.id,
29653            'last_name': self.last_name,
29654            'managed_by': self.managed_by,
29655            'manager_id': self.manager_id,
29656            'password': self.password,
29657            'permission_level': self.permission_level,
29658            'resolved_manager_id': self.resolved_manager_id,
29659            'suspended': self.suspended,
29660            'tags': self.tags,
29661        }
29662
29663    @classmethod
29664    def from_dict(cls, d):
29665        return cls(
29666            scim=d.get('scim'),
29667            email=d.get('email'),
29668            external_id=d.get('external_id'),
29669            first_name=d.get('first_name'),
29670            id=d.get('id'),
29671            last_name=d.get('last_name'),
29672            managed_by=d.get('managed_by'),
29673            manager_id=d.get('manager_id'),
29674            password=d.get('password'),
29675            permission_level=d.get('permission_level'),
29676            resolved_manager_id=d.get('resolved_manager_id'),
29677            suspended=d.get('suspended'),
29678            tags=d.get('tags'),
29679        )
29680
29681
29682class VaultAWSEC2Store:
29683    __slots__ = [
29684        'id',
29685        'name',
29686        'namespace',
29687        'server_address',
29688        'tags',
29689    ]
29690
29691    def __init__(
29692        self,
29693        id=None,
29694        name=None,
29695        namespace=None,
29696        server_address=None,
29697        tags=None,
29698    ):
29699        self.id = id if id is not None else ''
29700        '''
29701         Unique identifier of the SecretStore.
29702        '''
29703        self.name = name if name is not None else ''
29704        '''
29705         Unique human-readable name of the SecretStore.
29706        '''
29707        self.namespace = namespace if namespace is not None else ''
29708        '''
29709         The namespace to make requests within
29710        '''
29711        self.server_address = server_address if server_address is not None else ''
29712        '''
29713         The URL of the Vault to target
29714        '''
29715        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29716        '''
29717         Tags is a map of key, value pairs.
29718        '''
29719
29720    def __repr__(self):
29721        return '<sdm.VaultAWSEC2Store ' + \
29722            'id: ' + repr(self.id) + ' ' +\
29723            'name: ' + repr(self.name) + ' ' +\
29724            'namespace: ' + repr(self.namespace) + ' ' +\
29725            'server_address: ' + repr(self.server_address) + ' ' +\
29726            'tags: ' + repr(self.tags) + ' ' +\
29727            '>'
29728
29729    def to_dict(self):
29730        return {
29731            'id': self.id,
29732            'name': self.name,
29733            'namespace': self.namespace,
29734            'server_address': self.server_address,
29735            'tags': self.tags,
29736        }
29737
29738    @classmethod
29739    def from_dict(cls, d):
29740        return cls(
29741            id=d.get('id'),
29742            name=d.get('name'),
29743            namespace=d.get('namespace'),
29744            server_address=d.get('server_address'),
29745            tags=d.get('tags'),
29746        )
29747
29748
29749class VaultAWSIAMStore:
29750    __slots__ = [
29751        'id',
29752        'name',
29753        'namespace',
29754        'server_address',
29755        'tags',
29756    ]
29757
29758    def __init__(
29759        self,
29760        id=None,
29761        name=None,
29762        namespace=None,
29763        server_address=None,
29764        tags=None,
29765    ):
29766        self.id = id if id is not None else ''
29767        '''
29768         Unique identifier of the SecretStore.
29769        '''
29770        self.name = name if name is not None else ''
29771        '''
29772         Unique human-readable name of the SecretStore.
29773        '''
29774        self.namespace = namespace if namespace is not None else ''
29775        '''
29776         The namespace to make requests within
29777        '''
29778        self.server_address = server_address if server_address is not None else ''
29779        '''
29780         The URL of the Vault to target
29781        '''
29782        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29783        '''
29784         Tags is a map of key, value pairs.
29785        '''
29786
29787    def __repr__(self):
29788        return '<sdm.VaultAWSIAMStore ' + \
29789            'id: ' + repr(self.id) + ' ' +\
29790            'name: ' + repr(self.name) + ' ' +\
29791            'namespace: ' + repr(self.namespace) + ' ' +\
29792            'server_address: ' + repr(self.server_address) + ' ' +\
29793            'tags: ' + repr(self.tags) + ' ' +\
29794            '>'
29795
29796    def to_dict(self):
29797        return {
29798            'id': self.id,
29799            'name': self.name,
29800            'namespace': self.namespace,
29801            'server_address': self.server_address,
29802            'tags': self.tags,
29803        }
29804
29805    @classmethod
29806    def from_dict(cls, d):
29807        return cls(
29808            id=d.get('id'),
29809            name=d.get('name'),
29810            namespace=d.get('namespace'),
29811            server_address=d.get('server_address'),
29812            tags=d.get('tags'),
29813        )
29814
29815
29816class VaultAppRoleCertSSHStore:
29817    __slots__ = [
29818        'id',
29819        'issuedcertttlminutes',
29820        'name',
29821        'namespace',
29822        'server_address',
29823        'signing_role',
29824        'ssh_mount_point',
29825        'tags',
29826    ]
29827
29828    def __init__(
29829        self,
29830        id=None,
29831        issuedcertttlminutes=None,
29832        name=None,
29833        namespace=None,
29834        server_address=None,
29835        signing_role=None,
29836        ssh_mount_point=None,
29837        tags=None,
29838    ):
29839        self.id = id if id is not None else ''
29840        '''
29841         Unique identifier of the SecretStore.
29842        '''
29843        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29844        '''
29845         The lifetime of certificates issued by this CA represented in minutes.
29846        '''
29847        self.name = name if name is not None else ''
29848        '''
29849         Unique human-readable name of the SecretStore.
29850        '''
29851        self.namespace = namespace if namespace is not None else ''
29852        '''
29853         The namespace to make requests within
29854        '''
29855        self.server_address = server_address if server_address is not None else ''
29856        '''
29857         The URL of the Vault to target
29858        '''
29859        self.signing_role = signing_role if signing_role is not None else ''
29860        '''
29861         The signing role to be used for signing certificates
29862        '''
29863        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29864        '''
29865         The mount point of the SSH engine configured with the desired CA
29866        '''
29867        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29868        '''
29869         Tags is a map of key, value pairs.
29870        '''
29871
29872    def __repr__(self):
29873        return '<sdm.VaultAppRoleCertSSHStore ' + \
29874            'id: ' + repr(self.id) + ' ' +\
29875            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29876            'name: ' + repr(self.name) + ' ' +\
29877            'namespace: ' + repr(self.namespace) + ' ' +\
29878            'server_address: ' + repr(self.server_address) + ' ' +\
29879            'signing_role: ' + repr(self.signing_role) + ' ' +\
29880            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
29881            'tags: ' + repr(self.tags) + ' ' +\
29882            '>'
29883
29884    def to_dict(self):
29885        return {
29886            'id': self.id,
29887            'issuedcertttlminutes': self.issuedcertttlminutes,
29888            'name': self.name,
29889            'namespace': self.namespace,
29890            'server_address': self.server_address,
29891            'signing_role': self.signing_role,
29892            'ssh_mount_point': self.ssh_mount_point,
29893            'tags': self.tags,
29894        }
29895
29896    @classmethod
29897    def from_dict(cls, d):
29898        return cls(
29899            id=d.get('id'),
29900            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29901            name=d.get('name'),
29902            namespace=d.get('namespace'),
29903            server_address=d.get('server_address'),
29904            signing_role=d.get('signing_role'),
29905            ssh_mount_point=d.get('ssh_mount_point'),
29906            tags=d.get('tags'),
29907        )
29908
29909
29910class VaultAppRoleCertX509Store:
29911    __slots__ = [
29912        'id',
29913        'issuedcertttlminutes',
29914        'name',
29915        'namespace',
29916        'pki_mount_point',
29917        'server_address',
29918        'signing_role',
29919        'tags',
29920    ]
29921
29922    def __init__(
29923        self,
29924        id=None,
29925        issuedcertttlminutes=None,
29926        name=None,
29927        namespace=None,
29928        pki_mount_point=None,
29929        server_address=None,
29930        signing_role=None,
29931        tags=None,
29932    ):
29933        self.id = id if id is not None else ''
29934        '''
29935         Unique identifier of the SecretStore.
29936        '''
29937        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29938        '''
29939         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29940        '''
29941        self.name = name if name is not None else ''
29942        '''
29943         Unique human-readable name of the SecretStore.
29944        '''
29945        self.namespace = namespace if namespace is not None else ''
29946        '''
29947         The namespace to make requests within
29948        '''
29949        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29950        '''
29951         The mount point of the PKI engine configured with the desired CA
29952        '''
29953        self.server_address = server_address if server_address is not None else ''
29954        '''
29955         The URL of the Vault to target
29956        '''
29957        self.signing_role = signing_role if signing_role is not None else ''
29958        '''
29959         The signing role to be used for signing certificates
29960        '''
29961        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29962        '''
29963         Tags is a map of key, value pairs.
29964        '''
29965
29966    def __repr__(self):
29967        return '<sdm.VaultAppRoleCertX509Store ' + \
29968            'id: ' + repr(self.id) + ' ' +\
29969            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29970            'name: ' + repr(self.name) + ' ' +\
29971            'namespace: ' + repr(self.namespace) + ' ' +\
29972            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
29973            'server_address: ' + repr(self.server_address) + ' ' +\
29974            'signing_role: ' + repr(self.signing_role) + ' ' +\
29975            'tags: ' + repr(self.tags) + ' ' +\
29976            '>'
29977
29978    def to_dict(self):
29979        return {
29980            'id': self.id,
29981            'issuedcertttlminutes': self.issuedcertttlminutes,
29982            'name': self.name,
29983            'namespace': self.namespace,
29984            'pki_mount_point': self.pki_mount_point,
29985            'server_address': self.server_address,
29986            'signing_role': self.signing_role,
29987            'tags': self.tags,
29988        }
29989
29990    @classmethod
29991    def from_dict(cls, d):
29992        return cls(
29993            id=d.get('id'),
29994            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29995            name=d.get('name'),
29996            namespace=d.get('namespace'),
29997            pki_mount_point=d.get('pki_mount_point'),
29998            server_address=d.get('server_address'),
29999            signing_role=d.get('signing_role'),
30000            tags=d.get('tags'),
30001        )
30002
30003
30004class VaultAppRoleStore:
30005    __slots__ = [
30006        'id',
30007        'name',
30008        'namespace',
30009        'server_address',
30010        'tags',
30011    ]
30012
30013    def __init__(
30014        self,
30015        id=None,
30016        name=None,
30017        namespace=None,
30018        server_address=None,
30019        tags=None,
30020    ):
30021        self.id = id if id is not None else ''
30022        '''
30023         Unique identifier of the SecretStore.
30024        '''
30025        self.name = name if name is not None else ''
30026        '''
30027         Unique human-readable name of the SecretStore.
30028        '''
30029        self.namespace = namespace if namespace is not None else ''
30030        '''
30031         The namespace to make requests within
30032        '''
30033        self.server_address = server_address if server_address is not None else ''
30034        '''
30035         The URL of the Vault to target
30036        '''
30037        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30038        '''
30039         Tags is a map of key, value pairs.
30040        '''
30041
30042    def __repr__(self):
30043        return '<sdm.VaultAppRoleStore ' + \
30044            'id: ' + repr(self.id) + ' ' +\
30045            'name: ' + repr(self.name) + ' ' +\
30046            'namespace: ' + repr(self.namespace) + ' ' +\
30047            'server_address: ' + repr(self.server_address) + ' ' +\
30048            'tags: ' + repr(self.tags) + ' ' +\
30049            '>'
30050
30051    def to_dict(self):
30052        return {
30053            'id': self.id,
30054            'name': self.name,
30055            'namespace': self.namespace,
30056            'server_address': self.server_address,
30057            'tags': self.tags,
30058        }
30059
30060    @classmethod
30061    def from_dict(cls, d):
30062        return cls(
30063            id=d.get('id'),
30064            name=d.get('name'),
30065            namespace=d.get('namespace'),
30066            server_address=d.get('server_address'),
30067            tags=d.get('tags'),
30068        )
30069
30070
30071class VaultTLSCertSSHStore:
30072    __slots__ = [
30073        'ca_cert_path',
30074        'client_cert_path',
30075        'client_key_path',
30076        'id',
30077        'issuedcertttlminutes',
30078        'name',
30079        'namespace',
30080        'server_address',
30081        'signing_role',
30082        'ssh_mount_point',
30083        'tags',
30084    ]
30085
30086    def __init__(
30087        self,
30088        ca_cert_path=None,
30089        client_cert_path=None,
30090        client_key_path=None,
30091        id=None,
30092        issuedcertttlminutes=None,
30093        name=None,
30094        namespace=None,
30095        server_address=None,
30096        signing_role=None,
30097        ssh_mount_point=None,
30098        tags=None,
30099    ):
30100        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30101        '''
30102         A path to a CA file accessible by a Node
30103        '''
30104        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30105        '''
30106         A path to a client certificate file accessible by a Node
30107        '''
30108        self.client_key_path = client_key_path if client_key_path is not None else ''
30109        '''
30110         A path to a client key file accessible by a Node
30111        '''
30112        self.id = id if id is not None else ''
30113        '''
30114         Unique identifier of the SecretStore.
30115        '''
30116        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30117        '''
30118         The lifetime of certificates issued by this CA represented in minutes.
30119        '''
30120        self.name = name if name is not None else ''
30121        '''
30122         Unique human-readable name of the SecretStore.
30123        '''
30124        self.namespace = namespace if namespace is not None else ''
30125        '''
30126         The namespace to make requests within
30127        '''
30128        self.server_address = server_address if server_address is not None else ''
30129        '''
30130         The URL of the Vault to target
30131        '''
30132        self.signing_role = signing_role if signing_role is not None else ''
30133        '''
30134         The signing role to be used for signing certificates
30135        '''
30136        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30137        '''
30138         The mount point of the SSH engine configured with the desired CA
30139        '''
30140        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30141        '''
30142         Tags is a map of key, value pairs.
30143        '''
30144
30145    def __repr__(self):
30146        return '<sdm.VaultTLSCertSSHStore ' + \
30147            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30148            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30149            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30150            'id: ' + repr(self.id) + ' ' +\
30151            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30152            'name: ' + repr(self.name) + ' ' +\
30153            'namespace: ' + repr(self.namespace) + ' ' +\
30154            'server_address: ' + repr(self.server_address) + ' ' +\
30155            'signing_role: ' + repr(self.signing_role) + ' ' +\
30156            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30157            'tags: ' + repr(self.tags) + ' ' +\
30158            '>'
30159
30160    def to_dict(self):
30161        return {
30162            'ca_cert_path': self.ca_cert_path,
30163            'client_cert_path': self.client_cert_path,
30164            'client_key_path': self.client_key_path,
30165            'id': self.id,
30166            'issuedcertttlminutes': self.issuedcertttlminutes,
30167            'name': self.name,
30168            'namespace': self.namespace,
30169            'server_address': self.server_address,
30170            'signing_role': self.signing_role,
30171            'ssh_mount_point': self.ssh_mount_point,
30172            'tags': self.tags,
30173        }
30174
30175    @classmethod
30176    def from_dict(cls, d):
30177        return cls(
30178            ca_cert_path=d.get('ca_cert_path'),
30179            client_cert_path=d.get('client_cert_path'),
30180            client_key_path=d.get('client_key_path'),
30181            id=d.get('id'),
30182            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30183            name=d.get('name'),
30184            namespace=d.get('namespace'),
30185            server_address=d.get('server_address'),
30186            signing_role=d.get('signing_role'),
30187            ssh_mount_point=d.get('ssh_mount_point'),
30188            tags=d.get('tags'),
30189        )
30190
30191
30192class VaultTLSCertX509Store:
30193    __slots__ = [
30194        'ca_cert_path',
30195        'client_cert_path',
30196        'client_key_path',
30197        'id',
30198        'issuedcertttlminutes',
30199        'name',
30200        'namespace',
30201        'pki_mount_point',
30202        'server_address',
30203        'signing_role',
30204        'tags',
30205    ]
30206
30207    def __init__(
30208        self,
30209        ca_cert_path=None,
30210        client_cert_path=None,
30211        client_key_path=None,
30212        id=None,
30213        issuedcertttlminutes=None,
30214        name=None,
30215        namespace=None,
30216        pki_mount_point=None,
30217        server_address=None,
30218        signing_role=None,
30219        tags=None,
30220    ):
30221        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30222        '''
30223         A path to a CA file accessible by a Node
30224        '''
30225        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30226        '''
30227         A path to a client certificate file accessible by a Node
30228        '''
30229        self.client_key_path = client_key_path if client_key_path is not None else ''
30230        '''
30231         A path to a client key file accessible by a Node
30232        '''
30233        self.id = id if id is not None else ''
30234        '''
30235         Unique identifier of the SecretStore.
30236        '''
30237        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30238        '''
30239         The lifetime of certificates issued by this CA represented in minutes.
30240        '''
30241        self.name = name if name is not None else ''
30242        '''
30243         Unique human-readable name of the SecretStore.
30244        '''
30245        self.namespace = namespace if namespace is not None else ''
30246        '''
30247         The namespace to make requests within
30248        '''
30249        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30250        '''
30251         The mount point of the PKI engine configured with the desired CA
30252        '''
30253        self.server_address = server_address if server_address is not None else ''
30254        '''
30255         The URL of the Vault to target
30256        '''
30257        self.signing_role = signing_role if signing_role is not None else ''
30258        '''
30259         The signing role to be used for signing certificates
30260        '''
30261        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30262        '''
30263         Tags is a map of key, value pairs.
30264        '''
30265
30266    def __repr__(self):
30267        return '<sdm.VaultTLSCertX509Store ' + \
30268            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30269            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30270            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30271            'id: ' + repr(self.id) + ' ' +\
30272            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30273            'name: ' + repr(self.name) + ' ' +\
30274            'namespace: ' + repr(self.namespace) + ' ' +\
30275            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30276            'server_address: ' + repr(self.server_address) + ' ' +\
30277            'signing_role: ' + repr(self.signing_role) + ' ' +\
30278            'tags: ' + repr(self.tags) + ' ' +\
30279            '>'
30280
30281    def to_dict(self):
30282        return {
30283            'ca_cert_path': self.ca_cert_path,
30284            'client_cert_path': self.client_cert_path,
30285            'client_key_path': self.client_key_path,
30286            'id': self.id,
30287            'issuedcertttlminutes': self.issuedcertttlminutes,
30288            'name': self.name,
30289            'namespace': self.namespace,
30290            'pki_mount_point': self.pki_mount_point,
30291            'server_address': self.server_address,
30292            'signing_role': self.signing_role,
30293            'tags': self.tags,
30294        }
30295
30296    @classmethod
30297    def from_dict(cls, d):
30298        return cls(
30299            ca_cert_path=d.get('ca_cert_path'),
30300            client_cert_path=d.get('client_cert_path'),
30301            client_key_path=d.get('client_key_path'),
30302            id=d.get('id'),
30303            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30304            name=d.get('name'),
30305            namespace=d.get('namespace'),
30306            pki_mount_point=d.get('pki_mount_point'),
30307            server_address=d.get('server_address'),
30308            signing_role=d.get('signing_role'),
30309            tags=d.get('tags'),
30310        )
30311
30312
30313class VaultTLSStore:
30314    __slots__ = [
30315        'ca_cert_path',
30316        'client_cert_path',
30317        'client_key_path',
30318        'id',
30319        'name',
30320        'namespace',
30321        'server_address',
30322        'tags',
30323    ]
30324
30325    def __init__(
30326        self,
30327        ca_cert_path=None,
30328        client_cert_path=None,
30329        client_key_path=None,
30330        id=None,
30331        name=None,
30332        namespace=None,
30333        server_address=None,
30334        tags=None,
30335    ):
30336        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30337        '''
30338         A path to a CA file accessible by a Node
30339        '''
30340        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30341        '''
30342         A path to a client certificate file accessible by a Node
30343        '''
30344        self.client_key_path = client_key_path if client_key_path is not None else ''
30345        '''
30346         A path to a client key file accessible by a Node
30347        '''
30348        self.id = id if id is not None else ''
30349        '''
30350         Unique identifier of the SecretStore.
30351        '''
30352        self.name = name if name is not None else ''
30353        '''
30354         Unique human-readable name of the SecretStore.
30355        '''
30356        self.namespace = namespace if namespace is not None else ''
30357        '''
30358         The namespace to make requests within
30359        '''
30360        self.server_address = server_address if server_address is not None else ''
30361        '''
30362         The URL of the Vault to target
30363        '''
30364        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30365        '''
30366         Tags is a map of key, value pairs.
30367        '''
30368
30369    def __repr__(self):
30370        return '<sdm.VaultTLSStore ' + \
30371            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30372            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30373            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30374            'id: ' + repr(self.id) + ' ' +\
30375            'name: ' + repr(self.name) + ' ' +\
30376            'namespace: ' + repr(self.namespace) + ' ' +\
30377            'server_address: ' + repr(self.server_address) + ' ' +\
30378            'tags: ' + repr(self.tags) + ' ' +\
30379            '>'
30380
30381    def to_dict(self):
30382        return {
30383            'ca_cert_path': self.ca_cert_path,
30384            'client_cert_path': self.client_cert_path,
30385            'client_key_path': self.client_key_path,
30386            'id': self.id,
30387            'name': self.name,
30388            'namespace': self.namespace,
30389            'server_address': self.server_address,
30390            'tags': self.tags,
30391        }
30392
30393    @classmethod
30394    def from_dict(cls, d):
30395        return cls(
30396            ca_cert_path=d.get('ca_cert_path'),
30397            client_cert_path=d.get('client_cert_path'),
30398            client_key_path=d.get('client_key_path'),
30399            id=d.get('id'),
30400            name=d.get('name'),
30401            namespace=d.get('namespace'),
30402            server_address=d.get('server_address'),
30403            tags=d.get('tags'),
30404        )
30405
30406
30407class VaultTokenCertSSHStore:
30408    __slots__ = [
30409        'id',
30410        'issuedcertttlminutes',
30411        'name',
30412        'namespace',
30413        'server_address',
30414        'signing_role',
30415        'ssh_mount_point',
30416        'tags',
30417    ]
30418
30419    def __init__(
30420        self,
30421        id=None,
30422        issuedcertttlminutes=None,
30423        name=None,
30424        namespace=None,
30425        server_address=None,
30426        signing_role=None,
30427        ssh_mount_point=None,
30428        tags=None,
30429    ):
30430        self.id = id if id is not None else ''
30431        '''
30432         Unique identifier of the SecretStore.
30433        '''
30434        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30435        '''
30436         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30437        '''
30438        self.name = name if name is not None else ''
30439        '''
30440         Unique human-readable name of the SecretStore.
30441        '''
30442        self.namespace = namespace if namespace is not None else ''
30443        '''
30444         The namespace to make requests within
30445        '''
30446        self.server_address = server_address if server_address is not None else ''
30447        '''
30448         The URL of the Vault to target
30449        '''
30450        self.signing_role = signing_role if signing_role is not None else ''
30451        '''
30452         The signing role to be used for signing certificates
30453        '''
30454        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30455        '''
30456         The mount point of the SSH engine configured with the desired CA
30457        '''
30458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30459        '''
30460         Tags is a map of key, value pairs.
30461        '''
30462
30463    def __repr__(self):
30464        return '<sdm.VaultTokenCertSSHStore ' + \
30465            'id: ' + repr(self.id) + ' ' +\
30466            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30467            'name: ' + repr(self.name) + ' ' +\
30468            'namespace: ' + repr(self.namespace) + ' ' +\
30469            'server_address: ' + repr(self.server_address) + ' ' +\
30470            'signing_role: ' + repr(self.signing_role) + ' ' +\
30471            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30472            'tags: ' + repr(self.tags) + ' ' +\
30473            '>'
30474
30475    def to_dict(self):
30476        return {
30477            'id': self.id,
30478            'issuedcertttlminutes': self.issuedcertttlminutes,
30479            'name': self.name,
30480            'namespace': self.namespace,
30481            'server_address': self.server_address,
30482            'signing_role': self.signing_role,
30483            'ssh_mount_point': self.ssh_mount_point,
30484            'tags': self.tags,
30485        }
30486
30487    @classmethod
30488    def from_dict(cls, d):
30489        return cls(
30490            id=d.get('id'),
30491            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30492            name=d.get('name'),
30493            namespace=d.get('namespace'),
30494            server_address=d.get('server_address'),
30495            signing_role=d.get('signing_role'),
30496            ssh_mount_point=d.get('ssh_mount_point'),
30497            tags=d.get('tags'),
30498        )
30499
30500
30501class VaultTokenCertX509Store:
30502    __slots__ = [
30503        'id',
30504        'issuedcertttlminutes',
30505        'name',
30506        'namespace',
30507        'pki_mount_point',
30508        'server_address',
30509        'signing_role',
30510        'tags',
30511    ]
30512
30513    def __init__(
30514        self,
30515        id=None,
30516        issuedcertttlminutes=None,
30517        name=None,
30518        namespace=None,
30519        pki_mount_point=None,
30520        server_address=None,
30521        signing_role=None,
30522        tags=None,
30523    ):
30524        self.id = id if id is not None else ''
30525        '''
30526         Unique identifier of the SecretStore.
30527        '''
30528        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30529        '''
30530         The lifetime of certificates issued by this CA represented in minutes.
30531        '''
30532        self.name = name if name is not None else ''
30533        '''
30534         Unique human-readable name of the SecretStore.
30535        '''
30536        self.namespace = namespace if namespace is not None else ''
30537        '''
30538         The namespace to make requests within
30539        '''
30540        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30541        '''
30542         The mount point of the PKI engine configured with the desired CA
30543        '''
30544        self.server_address = server_address if server_address is not None else ''
30545        '''
30546         The URL of the Vault to target
30547        '''
30548        self.signing_role = signing_role if signing_role is not None else ''
30549        '''
30550         The signing role to be used for signing certificates
30551        '''
30552        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30553        '''
30554         Tags is a map of key, value pairs.
30555        '''
30556
30557    def __repr__(self):
30558        return '<sdm.VaultTokenCertX509Store ' + \
30559            'id: ' + repr(self.id) + ' ' +\
30560            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30561            'name: ' + repr(self.name) + ' ' +\
30562            'namespace: ' + repr(self.namespace) + ' ' +\
30563            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30564            'server_address: ' + repr(self.server_address) + ' ' +\
30565            'signing_role: ' + repr(self.signing_role) + ' ' +\
30566            'tags: ' + repr(self.tags) + ' ' +\
30567            '>'
30568
30569    def to_dict(self):
30570        return {
30571            'id': self.id,
30572            'issuedcertttlminutes': self.issuedcertttlminutes,
30573            'name': self.name,
30574            'namespace': self.namespace,
30575            'pki_mount_point': self.pki_mount_point,
30576            'server_address': self.server_address,
30577            'signing_role': self.signing_role,
30578            'tags': self.tags,
30579        }
30580
30581    @classmethod
30582    def from_dict(cls, d):
30583        return cls(
30584            id=d.get('id'),
30585            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30586            name=d.get('name'),
30587            namespace=d.get('namespace'),
30588            pki_mount_point=d.get('pki_mount_point'),
30589            server_address=d.get('server_address'),
30590            signing_role=d.get('signing_role'),
30591            tags=d.get('tags'),
30592        )
30593
30594
30595class VaultTokenStore:
30596    __slots__ = [
30597        'id',
30598        'name',
30599        'namespace',
30600        'server_address',
30601        'tags',
30602    ]
30603
30604    def __init__(
30605        self,
30606        id=None,
30607        name=None,
30608        namespace=None,
30609        server_address=None,
30610        tags=None,
30611    ):
30612        self.id = id if id is not None else ''
30613        '''
30614         Unique identifier of the SecretStore.
30615        '''
30616        self.name = name if name is not None else ''
30617        '''
30618         Unique human-readable name of the SecretStore.
30619        '''
30620        self.namespace = namespace if namespace is not None else ''
30621        '''
30622         The namespace to make requests within
30623        '''
30624        self.server_address = server_address if server_address is not None else ''
30625        '''
30626         The URL of the Vault to target
30627        '''
30628        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30629        '''
30630         Tags is a map of key, value pairs.
30631        '''
30632
30633    def __repr__(self):
30634        return '<sdm.VaultTokenStore ' + \
30635            'id: ' + repr(self.id) + ' ' +\
30636            'name: ' + repr(self.name) + ' ' +\
30637            'namespace: ' + repr(self.namespace) + ' ' +\
30638            'server_address: ' + repr(self.server_address) + ' ' +\
30639            'tags: ' + repr(self.tags) + ' ' +\
30640            '>'
30641
30642    def to_dict(self):
30643        return {
30644            'id': self.id,
30645            'name': self.name,
30646            'namespace': self.namespace,
30647            'server_address': self.server_address,
30648            'tags': self.tags,
30649        }
30650
30651    @classmethod
30652    def from_dict(cls, d):
30653        return cls(
30654            id=d.get('id'),
30655            name=d.get('name'),
30656            namespace=d.get('namespace'),
30657            server_address=d.get('server_address'),
30658            tags=d.get('tags'),
30659        )
30660
30661
30662class Vertica:
30663    __slots__ = [
30664        'bind_interface',
30665        'database',
30666        'egress_filter',
30667        'healthy',
30668        'hostname',
30669        'id',
30670        'name',
30671        'password',
30672        'port',
30673        'port_override',
30674        'proxy_cluster_id',
30675        'secret_store_id',
30676        'subdomain',
30677        'tags',
30678        'username',
30679    ]
30680
30681    def __init__(
30682        self,
30683        bind_interface=None,
30684        database=None,
30685        egress_filter=None,
30686        healthy=None,
30687        hostname=None,
30688        id=None,
30689        name=None,
30690        password=None,
30691        port=None,
30692        port_override=None,
30693        proxy_cluster_id=None,
30694        secret_store_id=None,
30695        subdomain=None,
30696        tags=None,
30697        username=None,
30698    ):
30699        self.bind_interface = bind_interface if bind_interface is not None else ''
30700        '''
30701         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30702        '''
30703        self.database = database if database is not None else ''
30704        '''
30705         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30706        '''
30707        self.egress_filter = egress_filter if egress_filter is not None else ''
30708        '''
30709         A filter applied to the routing logic to pin datasource to nodes.
30710        '''
30711        self.healthy = healthy if healthy is not None else False
30712        '''
30713         True if the datasource is reachable and the credentials are valid.
30714        '''
30715        self.hostname = hostname if hostname is not None else ''
30716        '''
30717         The host to dial to initiate a connection from the egress node to this resource.
30718        '''
30719        self.id = id if id is not None else ''
30720        '''
30721         Unique identifier of the Resource.
30722        '''
30723        self.name = name if name is not None else ''
30724        '''
30725         Unique human-readable name of the Resource.
30726        '''
30727        self.password = password if password is not None else ''
30728        '''
30729         The password to authenticate with.
30730        '''
30731        self.port = port if port is not None else 0
30732        '''
30733         The port to dial to initiate a connection from the egress node to this resource.
30734        '''
30735        self.port_override = port_override if port_override is not None else 0
30736        '''
30737         The local port used by clients to connect to this resource.
30738        '''
30739        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30740        '''
30741         ID of the proxy cluster for this resource, if any.
30742        '''
30743        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30744        '''
30745         ID of the secret store containing credentials for this resource, if any.
30746        '''
30747        self.subdomain = subdomain if subdomain is not None else ''
30748        '''
30749         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30750        '''
30751        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30752        '''
30753         Tags is a map of key, value pairs.
30754        '''
30755        self.username = username if username is not None else ''
30756        '''
30757         The username to authenticate with.
30758        '''
30759
30760    def __repr__(self):
30761        return '<sdm.Vertica ' + \
30762            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30763            'database: ' + repr(self.database) + ' ' +\
30764            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30765            'healthy: ' + repr(self.healthy) + ' ' +\
30766            'hostname: ' + repr(self.hostname) + ' ' +\
30767            'id: ' + repr(self.id) + ' ' +\
30768            'name: ' + repr(self.name) + ' ' +\
30769            'password: ' + repr(self.password) + ' ' +\
30770            'port: ' + repr(self.port) + ' ' +\
30771            'port_override: ' + repr(self.port_override) + ' ' +\
30772            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30773            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30774            'subdomain: ' + repr(self.subdomain) + ' ' +\
30775            'tags: ' + repr(self.tags) + ' ' +\
30776            'username: ' + repr(self.username) + ' ' +\
30777            '>'
30778
30779    def to_dict(self):
30780        return {
30781            'bind_interface': self.bind_interface,
30782            'database': self.database,
30783            'egress_filter': self.egress_filter,
30784            'healthy': self.healthy,
30785            'hostname': self.hostname,
30786            'id': self.id,
30787            'name': self.name,
30788            'password': self.password,
30789            'port': self.port,
30790            'port_override': self.port_override,
30791            'proxy_cluster_id': self.proxy_cluster_id,
30792            'secret_store_id': self.secret_store_id,
30793            'subdomain': self.subdomain,
30794            'tags': self.tags,
30795            'username': self.username,
30796        }
30797
30798    @classmethod
30799    def from_dict(cls, d):
30800        return cls(
30801            bind_interface=d.get('bind_interface'),
30802            database=d.get('database'),
30803            egress_filter=d.get('egress_filter'),
30804            healthy=d.get('healthy'),
30805            hostname=d.get('hostname'),
30806            id=d.get('id'),
30807            name=d.get('name'),
30808            password=d.get('password'),
30809            port=d.get('port'),
30810            port_override=d.get('port_override'),
30811            proxy_cluster_id=d.get('proxy_cluster_id'),
30812            secret_store_id=d.get('secret_store_id'),
30813            subdomain=d.get('subdomain'),
30814            tags=d.get('tags'),
30815            username=d.get('username'),
30816        )
30817
30818
30819class Workflow:
30820    '''
30821         Workflows are the collection of rules that define the resources to which access can be requested,
30822     the users that can request that access, and the mechanism for approving those requests which can either
30823     but automatic approval or a set of users authorized to approve the requests.
30824    '''
30825    __slots__ = [
30826        'access_request_fixed_duration',
30827        'access_request_max_duration',
30828        'access_rules',
30829        'approval_flow_id',
30830        'auto_grant',
30831        'description',
30832        'enabled',
30833        'id',
30834        'name',
30835        'weight',
30836    ]
30837
30838    def __init__(
30839        self,
30840        access_request_fixed_duration=None,
30841        access_request_max_duration=None,
30842        access_rules=None,
30843        approval_flow_id=None,
30844        auto_grant=None,
30845        description=None,
30846        enabled=None,
30847        id=None,
30848        name=None,
30849        weight=None,
30850    ):
30851        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30852        '''
30853         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30854         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30855        '''
30856        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30857        '''
30858         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30859         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30860        '''
30861        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30862        )
30863        '''
30864         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30865        '''
30866        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30867        '''
30868         Optional approval flow ID identifies an approval flow that linked to the workflow
30869        '''
30870        self.auto_grant = auto_grant if auto_grant is not None else False
30871        '''
30872         Optional auto grant setting to automatically approve requests or not, defaults to false.
30873        '''
30874        self.description = description if description is not None else ''
30875        '''
30876         Optional description of the Workflow.
30877        '''
30878        self.enabled = enabled if enabled is not None else False
30879        '''
30880         Optional enabled state for workflow. This setting may be overridden by the system if
30881         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30882         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30883         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30884         the workflow.
30885        '''
30886        self.id = id if id is not None else ''
30887        '''
30888         Unique identifier of the Workflow.
30889        '''
30890        self.name = name if name is not None else ''
30891        '''
30892         Unique human-readable name of the Workflow.
30893        '''
30894        self.weight = weight if weight is not None else 0
30895        '''
30896         Optional weight for workflow to specify it's priority in matching a request.
30897        '''
30898
30899    def __repr__(self):
30900        return '<sdm.Workflow ' + \
30901            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
30902            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
30903            'access_rules: ' + repr(self.access_rules) + ' ' +\
30904            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
30905            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
30906            'description: ' + repr(self.description) + ' ' +\
30907            'enabled: ' + repr(self.enabled) + ' ' +\
30908            'id: ' + repr(self.id) + ' ' +\
30909            'name: ' + repr(self.name) + ' ' +\
30910            'weight: ' + repr(self.weight) + ' ' +\
30911            '>'
30912
30913    def to_dict(self):
30914        return {
30915            'access_request_fixed_duration':
30916            self.access_request_fixed_duration,
30917            'access_request_max_duration': self.access_request_max_duration,
30918            'access_rules': self.access_rules,
30919            'approval_flow_id': self.approval_flow_id,
30920            'auto_grant': self.auto_grant,
30921            'description': self.description,
30922            'enabled': self.enabled,
30923            'id': self.id,
30924            'name': self.name,
30925            'weight': self.weight,
30926        }
30927
30928    @classmethod
30929    def from_dict(cls, d):
30930        return cls(
30931            access_request_fixed_duration=d.get(
30932                'access_request_fixed_duration'),
30933            access_request_max_duration=d.get('access_request_max_duration'),
30934            access_rules=d.get('access_rules'),
30935            approval_flow_id=d.get('approval_flow_id'),
30936            auto_grant=d.get('auto_grant'),
30937            description=d.get('description'),
30938            enabled=d.get('enabled'),
30939            id=d.get('id'),
30940            name=d.get('name'),
30941            weight=d.get('weight'),
30942        )
30943
30944
30945class WorkflowApprover:
30946    '''
30947         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
30948    '''
30949    __slots__ = [
30950        'account_id',
30951        'id',
30952        'role_id',
30953        'workflow_id',
30954    ]
30955
30956    def __init__(
30957        self,
30958        account_id=None,
30959        id=None,
30960        role_id=None,
30961        workflow_id=None,
30962    ):
30963        self.account_id = account_id if account_id is not None else ''
30964        '''
30965         The approver account id.
30966        '''
30967        self.id = id if id is not None else ''
30968        '''
30969         Unique identifier of the WorkflowApprover.
30970        '''
30971        self.role_id = role_id if role_id is not None else ''
30972        '''
30973         The approver role id
30974        '''
30975        self.workflow_id = workflow_id if workflow_id is not None else ''
30976        '''
30977         The workflow id.
30978        '''
30979
30980    def __repr__(self):
30981        return '<sdm.WorkflowApprover ' + \
30982            'account_id: ' + repr(self.account_id) + ' ' +\
30983            'id: ' + repr(self.id) + ' ' +\
30984            'role_id: ' + repr(self.role_id) + ' ' +\
30985            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
30986            '>'
30987
30988    def to_dict(self):
30989        return {
30990            'account_id': self.account_id,
30991            'id': self.id,
30992            'role_id': self.role_id,
30993            'workflow_id': self.workflow_id,
30994        }
30995
30996    @classmethod
30997    def from_dict(cls, d):
30998        return cls(
30999            account_id=d.get('account_id'),
31000            id=d.get('id'),
31001            role_id=d.get('role_id'),
31002            workflow_id=d.get('workflow_id'),
31003        )
31004
31005
31006class WorkflowApproverGetResponse:
31007    '''
31008         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31009    '''
31010    __slots__ = [
31011        'meta',
31012        'rate_limit',
31013        'workflow_approver',
31014    ]
31015
31016    def __init__(
31017        self,
31018        meta=None,
31019        rate_limit=None,
31020        workflow_approver=None,
31021    ):
31022        self.meta = meta if meta is not None else None
31023        '''
31024         Reserved for future use.
31025        '''
31026        self.rate_limit = rate_limit if rate_limit is not None else None
31027        '''
31028         Rate limit information.
31029        '''
31030        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31031        '''
31032         The requested WorkflowApprover.
31033        '''
31034
31035    def __repr__(self):
31036        return '<sdm.WorkflowApproverGetResponse ' + \
31037            'meta: ' + repr(self.meta) + ' ' +\
31038            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31039            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31040            '>'
31041
31042    def to_dict(self):
31043        return {
31044            'meta': self.meta,
31045            'rate_limit': self.rate_limit,
31046            'workflow_approver': self.workflow_approver,
31047        }
31048
31049    @classmethod
31050    def from_dict(cls, d):
31051        return cls(
31052            meta=d.get('meta'),
31053            rate_limit=d.get('rate_limit'),
31054            workflow_approver=d.get('workflow_approver'),
31055        )
31056
31057
31058class WorkflowApproverHistory:
31059    '''
31060         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31061    '''
31062    __slots__ = [
31063        'activity_id',
31064        'deleted_at',
31065        'timestamp',
31066        'workflow_approver',
31067    ]
31068
31069    def __init__(
31070        self,
31071        activity_id=None,
31072        deleted_at=None,
31073        timestamp=None,
31074        workflow_approver=None,
31075    ):
31076        self.activity_id = activity_id if activity_id is not None else ''
31077        '''
31078         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31079         May be empty for some system-initiated updates.
31080        '''
31081        self.deleted_at = deleted_at if deleted_at is not None else None
31082        '''
31083         If this WorkflowApprover was deleted, the time it was deleted.
31084        '''
31085        self.timestamp = timestamp if timestamp is not None else None
31086        '''
31087         The time at which the WorkflowApprover state was recorded.
31088        '''
31089        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31090        '''
31091         The complete WorkflowApprover state at this time.
31092        '''
31093
31094    def __repr__(self):
31095        return '<sdm.WorkflowApproverHistory ' + \
31096            'activity_id: ' + repr(self.activity_id) + ' ' +\
31097            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31098            'timestamp: ' + repr(self.timestamp) + ' ' +\
31099            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31100            '>'
31101
31102    def to_dict(self):
31103        return {
31104            'activity_id': self.activity_id,
31105            'deleted_at': self.deleted_at,
31106            'timestamp': self.timestamp,
31107            'workflow_approver': self.workflow_approver,
31108        }
31109
31110    @classmethod
31111    def from_dict(cls, d):
31112        return cls(
31113            activity_id=d.get('activity_id'),
31114            deleted_at=d.get('deleted_at'),
31115            timestamp=d.get('timestamp'),
31116            workflow_approver=d.get('workflow_approver'),
31117        )
31118
31119
31120class WorkflowApproversCreateRequest:
31121    '''
31122         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31123     workflow approver to be created.
31124    '''
31125    __slots__ = [
31126        'workflow_approver',
31127    ]
31128
31129    def __init__(
31130        self,
31131        workflow_approver=None,
31132    ):
31133        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31134        '''
31135         Parameters to define the new WorkflowApprover.
31136        '''
31137
31138    def __repr__(self):
31139        return '<sdm.WorkflowApproversCreateRequest ' + \
31140            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31141            '>'
31142
31143    def to_dict(self):
31144        return {
31145            'workflow_approver': self.workflow_approver,
31146        }
31147
31148    @classmethod
31149    def from_dict(cls, d):
31150        return cls(workflow_approver=d.get('workflow_approver'), )
31151
31152
31153class WorkflowApproversCreateResponse:
31154    '''
31155         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31156    '''
31157    __slots__ = [
31158        'rate_limit',
31159        'workflow_approver',
31160    ]
31161
31162    def __init__(
31163        self,
31164        rate_limit=None,
31165        workflow_approver=None,
31166    ):
31167        self.rate_limit = rate_limit if rate_limit is not None else None
31168        '''
31169         Rate limit information.
31170        '''
31171        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31172        '''
31173         The created workflow approver.
31174        '''
31175
31176    def __repr__(self):
31177        return '<sdm.WorkflowApproversCreateResponse ' + \
31178            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31179            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31180            '>'
31181
31182    def to_dict(self):
31183        return {
31184            'rate_limit': self.rate_limit,
31185            'workflow_approver': self.workflow_approver,
31186        }
31187
31188    @classmethod
31189    def from_dict(cls, d):
31190        return cls(
31191            rate_limit=d.get('rate_limit'),
31192            workflow_approver=d.get('workflow_approver'),
31193        )
31194
31195
31196class WorkflowApproversDeleteRequest:
31197    '''
31198         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31199    '''
31200    __slots__ = [
31201        'id',
31202    ]
31203
31204    def __init__(
31205        self,
31206        id=None,
31207    ):
31208        self.id = id if id is not None else ''
31209        '''
31210         The unique identifier of the WorkflowApprover to delete.
31211        '''
31212
31213    def __repr__(self):
31214        return '<sdm.WorkflowApproversDeleteRequest ' + \
31215            'id: ' + repr(self.id) + ' ' +\
31216            '>'
31217
31218    def to_dict(self):
31219        return {
31220            'id': self.id,
31221        }
31222
31223    @classmethod
31224    def from_dict(cls, d):
31225        return cls(id=d.get('id'), )
31226
31227
31228class WorkflowApproversDeleteResponse:
31229    '''
31230         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31231    '''
31232    __slots__ = [
31233        'rate_limit',
31234    ]
31235
31236    def __init__(
31237        self,
31238        rate_limit=None,
31239    ):
31240        self.rate_limit = rate_limit if rate_limit is not None else None
31241        '''
31242         Rate limit information.
31243        '''
31244
31245    def __repr__(self):
31246        return '<sdm.WorkflowApproversDeleteResponse ' + \
31247            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31248            '>'
31249
31250    def to_dict(self):
31251        return {
31252            'rate_limit': self.rate_limit,
31253        }
31254
31255    @classmethod
31256    def from_dict(cls, d):
31257        return cls(rate_limit=d.get('rate_limit'), )
31258
31259
31260class WorkflowApproversListRequest:
31261    '''
31262         WorkflowApproversListRequest specifies criteria for retrieving a list of
31263     WorkflowApprover records
31264    '''
31265    __slots__ = [
31266        'filter',
31267    ]
31268
31269    def __init__(
31270        self,
31271        filter=None,
31272    ):
31273        self.filter = filter if filter is not None else ''
31274        '''
31275         A human-readable filter query string.
31276        '''
31277
31278    def __repr__(self):
31279        return '<sdm.WorkflowApproversListRequest ' + \
31280            'filter: ' + repr(self.filter) + ' ' +\
31281            '>'
31282
31283    def to_dict(self):
31284        return {
31285            'filter': self.filter,
31286        }
31287
31288    @classmethod
31289    def from_dict(cls, d):
31290        return cls(filter=d.get('filter'), )
31291
31292
31293class WorkflowApproversListResponse:
31294    '''
31295         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31296     the criteria of a WorkflowApproversListRequest.
31297    '''
31298    __slots__ = [
31299        'rate_limit',
31300    ]
31301
31302    def __init__(
31303        self,
31304        rate_limit=None,
31305    ):
31306        self.rate_limit = rate_limit if rate_limit is not None else None
31307        '''
31308         Rate limit information.
31309        '''
31310
31311    def __repr__(self):
31312        return '<sdm.WorkflowApproversListResponse ' + \
31313            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31314            '>'
31315
31316    def to_dict(self):
31317        return {
31318            'rate_limit': self.rate_limit,
31319        }
31320
31321    @classmethod
31322    def from_dict(cls, d):
31323        return cls(rate_limit=d.get('rate_limit'), )
31324
31325
31326class WorkflowAssignment:
31327    '''
31328         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
31329     access to via the workflow.
31330    '''
31331    __slots__ = [
31332        'resource_id',
31333        'workflow_id',
31334    ]
31335
31336    def __init__(
31337        self,
31338        resource_id=None,
31339        workflow_id=None,
31340    ):
31341        self.resource_id = resource_id if resource_id is not None else ''
31342        '''
31343         The resource id.
31344        '''
31345        self.workflow_id = workflow_id if workflow_id is not None else ''
31346        '''
31347         The workflow id.
31348        '''
31349
31350    def __repr__(self):
31351        return '<sdm.WorkflowAssignment ' + \
31352            'resource_id: ' + repr(self.resource_id) + ' ' +\
31353            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31354            '>'
31355
31356    def to_dict(self):
31357        return {
31358            'resource_id': self.resource_id,
31359            'workflow_id': self.workflow_id,
31360        }
31361
31362    @classmethod
31363    def from_dict(cls, d):
31364        return cls(
31365            resource_id=d.get('resource_id'),
31366            workflow_id=d.get('workflow_id'),
31367        )
31368
31369
31370class WorkflowAssignmentHistory:
31371    '''
31372         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
31373    '''
31374    __slots__ = [
31375        'activity_id',
31376        'deleted_at',
31377        'timestamp',
31378        'workflow_assignment',
31379    ]
31380
31381    def __init__(
31382        self,
31383        activity_id=None,
31384        deleted_at=None,
31385        timestamp=None,
31386        workflow_assignment=None,
31387    ):
31388        self.activity_id = activity_id if activity_id is not None else ''
31389        '''
31390         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31391         May be empty for some system-initiated updates.
31392        '''
31393        self.deleted_at = deleted_at if deleted_at is not None else None
31394        '''
31395         If this WorkflowAssignment was deleted, the time it was deleted.
31396        '''
31397        self.timestamp = timestamp if timestamp is not None else None
31398        '''
31399         The time at which the WorkflowAssignment state was recorded.
31400        '''
31401        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31402        '''
31403         The complete WorkflowAssignment state at this time.
31404        '''
31405
31406    def __repr__(self):
31407        return '<sdm.WorkflowAssignmentHistory ' + \
31408            'activity_id: ' + repr(self.activity_id) + ' ' +\
31409            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31410            'timestamp: ' + repr(self.timestamp) + ' ' +\
31411            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
31412            '>'
31413
31414    def to_dict(self):
31415        return {
31416            'activity_id': self.activity_id,
31417            'deleted_at': self.deleted_at,
31418            'timestamp': self.timestamp,
31419            'workflow_assignment': self.workflow_assignment,
31420        }
31421
31422    @classmethod
31423    def from_dict(cls, d):
31424        return cls(
31425            activity_id=d.get('activity_id'),
31426            deleted_at=d.get('deleted_at'),
31427            timestamp=d.get('timestamp'),
31428            workflow_assignment=d.get('workflow_assignment'),
31429        )
31430
31431
31432class WorkflowAssignmentsListRequest:
31433    '''
31434         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
31435     WorkflowAssignment records
31436    '''
31437    __slots__ = [
31438        'filter',
31439    ]
31440
31441    def __init__(
31442        self,
31443        filter=None,
31444    ):
31445        self.filter = filter if filter is not None else ''
31446        '''
31447         A human-readable filter query string.
31448        '''
31449
31450    def __repr__(self):
31451        return '<sdm.WorkflowAssignmentsListRequest ' + \
31452            'filter: ' + repr(self.filter) + ' ' +\
31453            '>'
31454
31455    def to_dict(self):
31456        return {
31457            'filter': self.filter,
31458        }
31459
31460    @classmethod
31461    def from_dict(cls, d):
31462        return cls(filter=d.get('filter'), )
31463
31464
31465class WorkflowAssignmentsListResponse:
31466    '''
31467         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
31468     the criteria of a WorkflowAssignmentsListRequest.
31469    '''
31470    __slots__ = [
31471        'rate_limit',
31472    ]
31473
31474    def __init__(
31475        self,
31476        rate_limit=None,
31477    ):
31478        self.rate_limit = rate_limit if rate_limit is not None else None
31479        '''
31480         Rate limit information.
31481        '''
31482
31483    def __repr__(self):
31484        return '<sdm.WorkflowAssignmentsListResponse ' + \
31485            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31486            '>'
31487
31488    def to_dict(self):
31489        return {
31490            'rate_limit': self.rate_limit,
31491        }
31492
31493    @classmethod
31494    def from_dict(cls, d):
31495        return cls(rate_limit=d.get('rate_limit'), )
31496
31497
31498class WorkflowCreateResponse:
31499    '''
31500         WorkflowCreateResponse reports how the Workflow was created in the system.
31501    '''
31502    __slots__ = [
31503        'rate_limit',
31504        'workflow',
31505    ]
31506
31507    def __init__(
31508        self,
31509        rate_limit=None,
31510        workflow=None,
31511    ):
31512        self.rate_limit = rate_limit if rate_limit is not None else None
31513        '''
31514         Rate limit information.
31515        '''
31516        self.workflow = workflow if workflow is not None else None
31517        '''
31518         The created workflow.
31519        '''
31520
31521    def __repr__(self):
31522        return '<sdm.WorkflowCreateResponse ' + \
31523            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31524            'workflow: ' + repr(self.workflow) + ' ' +\
31525            '>'
31526
31527    def to_dict(self):
31528        return {
31529            'rate_limit': self.rate_limit,
31530            'workflow': self.workflow,
31531        }
31532
31533    @classmethod
31534    def from_dict(cls, d):
31535        return cls(
31536            rate_limit=d.get('rate_limit'),
31537            workflow=d.get('workflow'),
31538        )
31539
31540
31541class WorkflowDeleteResponse:
31542    '''
31543         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31544    '''
31545    __slots__ = [
31546        'id',
31547        'rate_limit',
31548    ]
31549
31550    def __init__(
31551        self,
31552        id=None,
31553        rate_limit=None,
31554    ):
31555        self.id = id if id is not None else ''
31556        '''
31557         The deleted workflow id.
31558        '''
31559        self.rate_limit = rate_limit if rate_limit is not None else None
31560        '''
31561         Rate limit information.
31562        '''
31563
31564    def __repr__(self):
31565        return '<sdm.WorkflowDeleteResponse ' + \
31566            'id: ' + repr(self.id) + ' ' +\
31567            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31568            '>'
31569
31570    def to_dict(self):
31571        return {
31572            'id': self.id,
31573            'rate_limit': self.rate_limit,
31574        }
31575
31576    @classmethod
31577    def from_dict(cls, d):
31578        return cls(
31579            id=d.get('id'),
31580            rate_limit=d.get('rate_limit'),
31581        )
31582
31583
31584class WorkflowGetResponse:
31585    '''
31586         WorkflowGetResponse returns a requested Workflow.
31587    '''
31588    __slots__ = [
31589        'meta',
31590        'rate_limit',
31591        'workflow',
31592    ]
31593
31594    def __init__(
31595        self,
31596        meta=None,
31597        rate_limit=None,
31598        workflow=None,
31599    ):
31600        self.meta = meta if meta is not None else None
31601        '''
31602         Reserved for future use.
31603        '''
31604        self.rate_limit = rate_limit if rate_limit is not None else None
31605        '''
31606         Rate limit information.
31607        '''
31608        self.workflow = workflow if workflow is not None else None
31609        '''
31610         The requested Workflow.
31611        '''
31612
31613    def __repr__(self):
31614        return '<sdm.WorkflowGetResponse ' + \
31615            'meta: ' + repr(self.meta) + ' ' +\
31616            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31617            'workflow: ' + repr(self.workflow) + ' ' +\
31618            '>'
31619
31620    def to_dict(self):
31621        return {
31622            'meta': self.meta,
31623            'rate_limit': self.rate_limit,
31624            'workflow': self.workflow,
31625        }
31626
31627    @classmethod
31628    def from_dict(cls, d):
31629        return cls(
31630            meta=d.get('meta'),
31631            rate_limit=d.get('rate_limit'),
31632            workflow=d.get('workflow'),
31633        )
31634
31635
31636class WorkflowHistory:
31637    '''
31638         WorkflowsHistory provides records of all changes to the state of a Workflow.
31639    '''
31640    __slots__ = [
31641        'activity_id',
31642        'deleted_at',
31643        'timestamp',
31644        'workflow',
31645    ]
31646
31647    def __init__(
31648        self,
31649        activity_id=None,
31650        deleted_at=None,
31651        timestamp=None,
31652        workflow=None,
31653    ):
31654        self.activity_id = activity_id if activity_id is not None else ''
31655        '''
31656         The unique identifier of the Activity that produced this change to the Workflow.
31657         May be empty for some system-initiated updates.
31658        '''
31659        self.deleted_at = deleted_at if deleted_at is not None else None
31660        '''
31661         If this Workflow was deleted, the time it was deleted.
31662        '''
31663        self.timestamp = timestamp if timestamp is not None else None
31664        '''
31665         The time at which the Workflow state was recorded.
31666        '''
31667        self.workflow = workflow if workflow is not None else None
31668        '''
31669         The complete Workflow state at this time.
31670        '''
31671
31672    def __repr__(self):
31673        return '<sdm.WorkflowHistory ' + \
31674            'activity_id: ' + repr(self.activity_id) + ' ' +\
31675            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31676            'timestamp: ' + repr(self.timestamp) + ' ' +\
31677            'workflow: ' + repr(self.workflow) + ' ' +\
31678            '>'
31679
31680    def to_dict(self):
31681        return {
31682            'activity_id': self.activity_id,
31683            'deleted_at': self.deleted_at,
31684            'timestamp': self.timestamp,
31685            'workflow': self.workflow,
31686        }
31687
31688    @classmethod
31689    def from_dict(cls, d):
31690        return cls(
31691            activity_id=d.get('activity_id'),
31692            deleted_at=d.get('deleted_at'),
31693            timestamp=d.get('timestamp'),
31694            workflow=d.get('workflow'),
31695        )
31696
31697
31698class WorkflowListResponse:
31699    '''
31700         WorkflowListResponse returns a list of Workflow records that meet
31701     the criteria of a WorkflowListRequest.
31702    '''
31703    __slots__ = [
31704        'rate_limit',
31705    ]
31706
31707    def __init__(
31708        self,
31709        rate_limit=None,
31710    ):
31711        self.rate_limit = rate_limit if rate_limit is not None else None
31712        '''
31713         Rate limit information.
31714        '''
31715
31716    def __repr__(self):
31717        return '<sdm.WorkflowListResponse ' + \
31718            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31719            '>'
31720
31721    def to_dict(self):
31722        return {
31723            'rate_limit': self.rate_limit,
31724        }
31725
31726    @classmethod
31727    def from_dict(cls, d):
31728        return cls(rate_limit=d.get('rate_limit'), )
31729
31730
31731class WorkflowRole:
31732    '''
31733         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31734     to request access to a resource via the workflow.
31735    '''
31736    __slots__ = [
31737        'id',
31738        'role_id',
31739        'workflow_id',
31740    ]
31741
31742    def __init__(
31743        self,
31744        id=None,
31745        role_id=None,
31746        workflow_id=None,
31747    ):
31748        self.id = id if id is not None else ''
31749        '''
31750         Unique identifier of the WorkflowRole.
31751        '''
31752        self.role_id = role_id if role_id is not None else ''
31753        '''
31754         The role id.
31755        '''
31756        self.workflow_id = workflow_id if workflow_id is not None else ''
31757        '''
31758         The workflow id.
31759        '''
31760
31761    def __repr__(self):
31762        return '<sdm.WorkflowRole ' + \
31763            'id: ' + repr(self.id) + ' ' +\
31764            'role_id: ' + repr(self.role_id) + ' ' +\
31765            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31766            '>'
31767
31768    def to_dict(self):
31769        return {
31770            'id': self.id,
31771            'role_id': self.role_id,
31772            'workflow_id': self.workflow_id,
31773        }
31774
31775    @classmethod
31776    def from_dict(cls, d):
31777        return cls(
31778            id=d.get('id'),
31779            role_id=d.get('role_id'),
31780            workflow_id=d.get('workflow_id'),
31781        )
31782
31783
31784class WorkflowRoleGetResponse:
31785    '''
31786         WorkflowRoleGetResponse returns a requested WorkflowRole.
31787    '''
31788    __slots__ = [
31789        'meta',
31790        'rate_limit',
31791        'workflow_role',
31792    ]
31793
31794    def __init__(
31795        self,
31796        meta=None,
31797        rate_limit=None,
31798        workflow_role=None,
31799    ):
31800        self.meta = meta if meta is not None else None
31801        '''
31802         Reserved for future use.
31803        '''
31804        self.rate_limit = rate_limit if rate_limit is not None else None
31805        '''
31806         Rate limit information.
31807        '''
31808        self.workflow_role = workflow_role if workflow_role is not None else None
31809        '''
31810         The requested WorkflowRole.
31811        '''
31812
31813    def __repr__(self):
31814        return '<sdm.WorkflowRoleGetResponse ' + \
31815            'meta: ' + repr(self.meta) + ' ' +\
31816            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31817            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31818            '>'
31819
31820    def to_dict(self):
31821        return {
31822            'meta': self.meta,
31823            'rate_limit': self.rate_limit,
31824            'workflow_role': self.workflow_role,
31825        }
31826
31827    @classmethod
31828    def from_dict(cls, d):
31829        return cls(
31830            meta=d.get('meta'),
31831            rate_limit=d.get('rate_limit'),
31832            workflow_role=d.get('workflow_role'),
31833        )
31834
31835
31836class WorkflowRoleHistory:
31837    '''
31838         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31839    '''
31840    __slots__ = [
31841        'activity_id',
31842        'deleted_at',
31843        'timestamp',
31844        'workflow_role',
31845    ]
31846
31847    def __init__(
31848        self,
31849        activity_id=None,
31850        deleted_at=None,
31851        timestamp=None,
31852        workflow_role=None,
31853    ):
31854        self.activity_id = activity_id if activity_id is not None else ''
31855        '''
31856         The unique identifier of the Activity that produced this change to the WorkflowRole.
31857         May be empty for some system-initiated updates.
31858        '''
31859        self.deleted_at = deleted_at if deleted_at is not None else None
31860        '''
31861         If this WorkflowRole was deleted, the time it was deleted.
31862        '''
31863        self.timestamp = timestamp if timestamp is not None else None
31864        '''
31865         The time at which the WorkflowRole state was recorded.
31866        '''
31867        self.workflow_role = workflow_role if workflow_role is not None else None
31868        '''
31869         The complete WorkflowRole state at this time.
31870        '''
31871
31872    def __repr__(self):
31873        return '<sdm.WorkflowRoleHistory ' + \
31874            'activity_id: ' + repr(self.activity_id) + ' ' +\
31875            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31876            'timestamp: ' + repr(self.timestamp) + ' ' +\
31877            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31878            '>'
31879
31880    def to_dict(self):
31881        return {
31882            'activity_id': self.activity_id,
31883            'deleted_at': self.deleted_at,
31884            'timestamp': self.timestamp,
31885            'workflow_role': self.workflow_role,
31886        }
31887
31888    @classmethod
31889    def from_dict(cls, d):
31890        return cls(
31891            activity_id=d.get('activity_id'),
31892            deleted_at=d.get('deleted_at'),
31893            timestamp=d.get('timestamp'),
31894            workflow_role=d.get('workflow_role'),
31895        )
31896
31897
31898class WorkflowRolesCreateRequest:
31899    '''
31900         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31901     workflow role to be created.
31902    '''
31903    __slots__ = [
31904        'workflow_role',
31905    ]
31906
31907    def __init__(
31908        self,
31909        workflow_role=None,
31910    ):
31911        self.workflow_role = workflow_role if workflow_role is not None else None
31912        '''
31913         Parameters to define the new WorkflowRole.
31914        '''
31915
31916    def __repr__(self):
31917        return '<sdm.WorkflowRolesCreateRequest ' + \
31918            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31919            '>'
31920
31921    def to_dict(self):
31922        return {
31923            'workflow_role': self.workflow_role,
31924        }
31925
31926    @classmethod
31927    def from_dict(cls, d):
31928        return cls(workflow_role=d.get('workflow_role'), )
31929
31930
31931class WorkflowRolesCreateResponse:
31932    '''
31933         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31934    '''
31935    __slots__ = [
31936        'rate_limit',
31937        'workflow_role',
31938    ]
31939
31940    def __init__(
31941        self,
31942        rate_limit=None,
31943        workflow_role=None,
31944    ):
31945        self.rate_limit = rate_limit if rate_limit is not None else None
31946        '''
31947         Rate limit information.
31948        '''
31949        self.workflow_role = workflow_role if workflow_role is not None else None
31950        '''
31951         The created workflow role.
31952        '''
31953
31954    def __repr__(self):
31955        return '<sdm.WorkflowRolesCreateResponse ' + \
31956            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31957            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31958            '>'
31959
31960    def to_dict(self):
31961        return {
31962            'rate_limit': self.rate_limit,
31963            'workflow_role': self.workflow_role,
31964        }
31965
31966    @classmethod
31967    def from_dict(cls, d):
31968        return cls(
31969            rate_limit=d.get('rate_limit'),
31970            workflow_role=d.get('workflow_role'),
31971        )
31972
31973
31974class WorkflowRolesDeleteRequest:
31975    '''
31976         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31977    '''
31978    __slots__ = [
31979        'id',
31980    ]
31981
31982    def __init__(
31983        self,
31984        id=None,
31985    ):
31986        self.id = id if id is not None else ''
31987        '''
31988         The unique identifier of the WorkflowRole to delete.
31989        '''
31990
31991    def __repr__(self):
31992        return '<sdm.WorkflowRolesDeleteRequest ' + \
31993            'id: ' + repr(self.id) + ' ' +\
31994            '>'
31995
31996    def to_dict(self):
31997        return {
31998            'id': self.id,
31999        }
32000
32001    @classmethod
32002    def from_dict(cls, d):
32003        return cls(id=d.get('id'), )
32004
32005
32006class WorkflowRolesDeleteResponse:
32007    '''
32008         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32009    '''
32010    __slots__ = [
32011        'rate_limit',
32012    ]
32013
32014    def __init__(
32015        self,
32016        rate_limit=None,
32017    ):
32018        self.rate_limit = rate_limit if rate_limit is not None else None
32019        '''
32020         Rate limit information.
32021        '''
32022
32023    def __repr__(self):
32024        return '<sdm.WorkflowRolesDeleteResponse ' + \
32025            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32026            '>'
32027
32028    def to_dict(self):
32029        return {
32030            'rate_limit': self.rate_limit,
32031        }
32032
32033    @classmethod
32034    def from_dict(cls, d):
32035        return cls(rate_limit=d.get('rate_limit'), )
32036
32037
32038class WorkflowRolesListRequest:
32039    '''
32040         WorkflowRolesListRequest specifies criteria for retrieving a list of
32041     WorkflowRole records
32042    '''
32043    __slots__ = [
32044        'filter',
32045    ]
32046
32047    def __init__(
32048        self,
32049        filter=None,
32050    ):
32051        self.filter = filter if filter is not None else ''
32052        '''
32053         A human-readable filter query string.
32054        '''
32055
32056    def __repr__(self):
32057        return '<sdm.WorkflowRolesListRequest ' + \
32058            'filter: ' + repr(self.filter) + ' ' +\
32059            '>'
32060
32061    def to_dict(self):
32062        return {
32063            'filter': self.filter,
32064        }
32065
32066    @classmethod
32067    def from_dict(cls, d):
32068        return cls(filter=d.get('filter'), )
32069
32070
32071class WorkflowRolesListResponse:
32072    '''
32073         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32074     the criteria of a WorkflowRolesListRequest.
32075    '''
32076    __slots__ = [
32077        'rate_limit',
32078    ]
32079
32080    def __init__(
32081        self,
32082        rate_limit=None,
32083    ):
32084        self.rate_limit = rate_limit if rate_limit is not None else None
32085        '''
32086         Rate limit information.
32087        '''
32088
32089    def __repr__(self):
32090        return '<sdm.WorkflowRolesListResponse ' + \
32091            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32092            '>'
32093
32094    def to_dict(self):
32095        return {
32096            'rate_limit': self.rate_limit,
32097        }
32098
32099    @classmethod
32100    def from_dict(cls, d):
32101        return cls(rate_limit=d.get('rate_limit'), )
32102
32103
32104class WorkflowUpdateResponse:
32105    '''
32106         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32107     a WorkflowUpdateRequest.
32108    '''
32109    __slots__ = [
32110        'rate_limit',
32111        'workflow',
32112    ]
32113
32114    def __init__(
32115        self,
32116        rate_limit=None,
32117        workflow=None,
32118    ):
32119        self.rate_limit = rate_limit if rate_limit is not None else None
32120        '''
32121         Rate limit information.
32122        '''
32123        self.workflow = workflow if workflow is not None else None
32124        '''
32125         The updated workflow.
32126        '''
32127
32128    def __repr__(self):
32129        return '<sdm.WorkflowUpdateResponse ' + \
32130            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32131            'workflow: ' + repr(self.workflow) + ' ' +\
32132            '>'
32133
32134    def to_dict(self):
32135        return {
32136            'rate_limit': self.rate_limit,
32137            'workflow': self.workflow,
32138        }
32139
32140    @classmethod
32141    def from_dict(cls, d):
32142        return cls(
32143            rate_limit=d.get('rate_limit'),
32144            workflow=d.get('workflow'),
32145        )
32146
32147
32148def _porcelain_zero_value_tags():
32149    return {}
32150
32151
32152def _porcelain_zero_value_access_rules():
32153    return []
32154
32155
32156def _porcelain_zero_value_access_rule():
32157    return {}
class AKS:
 22class AKS:
 23    __slots__ = [
 24        'allow_resource_role_bypass',
 25        'bind_interface',
 26        'certificate_authority',
 27        'client_certificate',
 28        'client_key',
 29        'discovery_enabled',
 30        'discovery_username',
 31        'egress_filter',
 32        'healthcheck_namespace',
 33        'healthy',
 34        'hostname',
 35        'id',
 36        'identity_alias_healthcheck_username',
 37        'identity_set_id',
 38        'name',
 39        'port',
 40        'port_override',
 41        'proxy_cluster_id',
 42        'secret_store_id',
 43        'subdomain',
 44        'tags',
 45    ]
 46
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
157
158    def __repr__(self):
159        return '<sdm.AKS ' + \
160            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
161            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
162            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
163            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
164            'client_key: ' + repr(self.client_key) + ' ' +\
165            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
166            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
167            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
168            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
169            'healthy: ' + repr(self.healthy) + ' ' +\
170            'hostname: ' + repr(self.hostname) + ' ' +\
171            'id: ' + repr(self.id) + ' ' +\
172            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
173            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
174            'name: ' + repr(self.name) + ' ' +\
175            'port: ' + repr(self.port) + ' ' +\
176            'port_override: ' + repr(self.port_override) + ' ' +\
177            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
178            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
179            'subdomain: ' + repr(self.subdomain) + ' ' +\
180            'tags: ' + repr(self.tags) + ' ' +\
181            '>'
182
183    def to_dict(self):
184        return {
185            'allow_resource_role_bypass': self.allow_resource_role_bypass,
186            'bind_interface': self.bind_interface,
187            'certificate_authority': self.certificate_authority,
188            'client_certificate': self.client_certificate,
189            'client_key': self.client_key,
190            'discovery_enabled': self.discovery_enabled,
191            'discovery_username': self.discovery_username,
192            'egress_filter': self.egress_filter,
193            'healthcheck_namespace': self.healthcheck_namespace,
194            'healthy': self.healthy,
195            'hostname': self.hostname,
196            'id': self.id,
197            'identity_alias_healthcheck_username':
198            self.identity_alias_healthcheck_username,
199            'identity_set_id': self.identity_set_id,
200            'name': self.name,
201            'port': self.port,
202            'port_override': self.port_override,
203            'proxy_cluster_id': self.proxy_cluster_id,
204            'secret_store_id': self.secret_store_id,
205            'subdomain': self.subdomain,
206            'tags': self.tags,
207        }
208
209    @classmethod
210    def from_dict(cls, d):
211        return cls(
212            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
213            bind_interface=d.get('bind_interface'),
214            certificate_authority=d.get('certificate_authority'),
215            client_certificate=d.get('client_certificate'),
216            client_key=d.get('client_key'),
217            discovery_enabled=d.get('discovery_enabled'),
218            discovery_username=d.get('discovery_username'),
219            egress_filter=d.get('egress_filter'),
220            healthcheck_namespace=d.get('healthcheck_namespace'),
221            healthy=d.get('healthy'),
222            hostname=d.get('hostname'),
223            id=d.get('id'),
224            identity_alias_healthcheck_username=d.get(
225                'identity_alias_healthcheck_username'),
226            identity_set_id=d.get('identity_set_id'),
227            name=d.get('name'),
228            port=d.get('port'),
229            port_override=d.get('port_override'),
230            proxy_cluster_id=d.get('proxy_cluster_id'),
231            secret_store_id=d.get('secret_store_id'),
232            subdomain=d.get('subdomain'),
233            tags=d.get('tags'),
234        )
AKS( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, client_certificate=None, client_key=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
 47    def __init__(
 48        self,
 49        allow_resource_role_bypass=None,
 50        bind_interface=None,
 51        certificate_authority=None,
 52        client_certificate=None,
 53        client_key=None,
 54        discovery_enabled=None,
 55        discovery_username=None,
 56        egress_filter=None,
 57        healthcheck_namespace=None,
 58        healthy=None,
 59        hostname=None,
 60        id=None,
 61        identity_alias_healthcheck_username=None,
 62        identity_set_id=None,
 63        name=None,
 64        port=None,
 65        port_override=None,
 66        proxy_cluster_id=None,
 67        secret_store_id=None,
 68        subdomain=None,
 69        tags=None,
 70    ):
 71        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 72        '''
 73         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 74         when a resource role is not provided.
 75        '''
 76        self.bind_interface = bind_interface if bind_interface is not None else ''
 77        '''
 78         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
 79        '''
 80        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 81        '''
 82         The CA to authenticate TLS connections with.
 83        '''
 84        self.client_certificate = client_certificate if client_certificate is not None else ''
 85        '''
 86         The certificate to authenticate TLS connections with.
 87        '''
 88        self.client_key = client_key if client_key is not None else ''
 89        '''
 90         The key to authenticate TLS connections with.
 91        '''
 92        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 93        '''
 94         If true, configures discovery of a cluster to be run from a node.
 95        '''
 96        self.discovery_username = discovery_username if discovery_username is not None else ''
 97        '''
 98         If a cluster is configured for user impersonation, this is the user to impersonate when
 99         running discovery.
100        '''
101        self.egress_filter = egress_filter if egress_filter is not None else ''
102        '''
103         A filter applied to the routing logic to pin datasource to nodes.
104        '''
105        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
106        '''
107         The path used to check the health of your connection.  Defaults to `default`.
108        '''
109        self.healthy = healthy if healthy is not None else False
110        '''
111         True if the datasource is reachable and the credentials are valid.
112        '''
113        self.hostname = hostname if hostname is not None else ''
114        '''
115         The host to dial to initiate a connection from the egress node to this resource.
116        '''
117        self.id = id if id is not None else ''
118        '''
119         Unique identifier of the Resource.
120        '''
121        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
122        '''
123         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
124        '''
125        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
126        '''
127         The ID of the identity set to use for identity connections.
128        '''
129        self.name = name if name is not None else ''
130        '''
131         Unique human-readable name of the Resource.
132        '''
133        self.port = port if port is not None else 0
134        '''
135         The port to dial to initiate a connection from the egress node to this resource.
136        '''
137        self.port_override = port_override if port_override is not None else 0
138        '''
139         The local port used by clients to connect to this resource.
140        '''
141        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
142        '''
143         ID of the proxy cluster for this resource, if any.
144        '''
145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
146        '''
147         ID of the secret store containing credentials for this resource, if any.
148        '''
149        self.subdomain = subdomain if subdomain is not None else ''
150        '''
151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
152        '''
153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
154        '''
155         Tags is a map of key, value pairs.
156        '''
allow_resource_role_bypass

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

bind_interface

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

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

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

certificate_authority

The CA to authenticate TLS connections with.

client_certificate

The certificate to authenticate TLS connections with.

client_key

The key to authenticate TLS connections with.

egress_filter

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

healthcheck_namespace

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to use to authenticate.

bind_interface

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

egress_filter

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

healthcheck_region

The AWS region healthcheck requests should attempt to connect to.

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to use to authenticate.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
1026    def to_dict(self):
1027        return {
1028            'access_key': self.access_key,
1029            'bind_interface': self.bind_interface,
1030            'egress_filter': self.egress_filter,
1031            'healthcheck_region': self.healthcheck_region,
1032            'healthy': self.healthy,
1033            'id': self.id,
1034            'name': self.name,
1035            'port_override': self.port_override,
1036            'proxy_cluster_id': self.proxy_cluster_id,
1037            'role_arn': self.role_arn,
1038            'role_external_id': self.role_external_id,
1039            'secret_access_key': self.secret_access_key,
1040            'secret_store_id': self.secret_store_id,
1041            'subdomain': self.subdomain,
1042            'tags': self.tags,
1043        }
@classmethod
def from_dict(cls, d)
1045    @classmethod
1046    def from_dict(cls, d):
1047        return cls(
1048            access_key=d.get('access_key'),
1049            bind_interface=d.get('bind_interface'),
1050            egress_filter=d.get('egress_filter'),
1051            healthcheck_region=d.get('healthcheck_region'),
1052            healthy=d.get('healthy'),
1053            id=d.get('id'),
1054            name=d.get('name'),
1055            port_override=d.get('port_override'),
1056            proxy_cluster_id=d.get('proxy_cluster_id'),
1057            role_arn=d.get('role_arn'),
1058            role_external_id=d.get('role_external_id'),
1059            secret_access_key=d.get('secret_access_key'),
1060            secret_store_id=d.get('secret_store_id'),
1061            subdomain=d.get('subdomain'),
1062            tags=d.get('tags'),
1063        )
class AWSCertX509Store:
1066class AWSCertX509Store:
1067    __slots__ = [
1068        'caarn',
1069        'certificatetemplatearn',
1070        'id',
1071        'issuedcertttlminutes',
1072        'name',
1073        'region',
1074        'signingalgo',
1075        'tags',
1076    ]
1077
1078    def __init__(
1079        self,
1080        caarn=None,
1081        certificatetemplatearn=None,
1082        id=None,
1083        issuedcertttlminutes=None,
1084        name=None,
1085        region=None,
1086        signingalgo=None,
1087        tags=None,
1088    ):
1089        self.caarn = caarn if caarn is not None else ''
1090        '''
1091         The ARN of the CA in AWS Private CA
1092        '''
1093        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1094        '''
1095         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the SecretStore.
1100        '''
1101        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1102        '''
1103         The lifetime of certificates issued by this CA represented in minutes.
1104        '''
1105        self.name = name if name is not None else ''
1106        '''
1107         Unique human-readable name of the SecretStore.
1108        '''
1109        self.region = region if region is not None else ''
1110        '''
1111         The AWS region to target e.g. us-east-1
1112        '''
1113        self.signingalgo = signingalgo if signingalgo is not None else ''
1114        '''
1115         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1116        '''
1117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1118        '''
1119         Tags is a map of key, value pairs.
1120        '''
1121
1122    def __repr__(self):
1123        return '<sdm.AWSCertX509Store ' + \
1124            'caarn: ' + repr(self.caarn) + ' ' +\
1125            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
1126            'id: ' + repr(self.id) + ' ' +\
1127            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
1128            'name: ' + repr(self.name) + ' ' +\
1129            'region: ' + repr(self.region) + ' ' +\
1130            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
1131            'tags: ' + repr(self.tags) + ' ' +\
1132            '>'
1133
1134    def to_dict(self):
1135        return {
1136            'caarn': self.caarn,
1137            'certificatetemplatearn': self.certificatetemplatearn,
1138            'id': self.id,
1139            'issuedcertttlminutes': self.issuedcertttlminutes,
1140            'name': self.name,
1141            'region': self.region,
1142            'signingalgo': self.signingalgo,
1143            'tags': self.tags,
1144        }
1145
1146    @classmethod
1147    def from_dict(cls, d):
1148        return cls(
1149            caarn=d.get('caarn'),
1150            certificatetemplatearn=d.get('certificatetemplatearn'),
1151            id=d.get('id'),
1152            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1153            name=d.get('name'),
1154            region=d.get('region'),
1155            signingalgo=d.get('signingalgo'),
1156            tags=d.get('tags'),
1157        )
AWSCertX509Store( caarn=None, certificatetemplatearn=None, id=None, issuedcertttlminutes=None, name=None, region=None, signingalgo=None, tags=None)
1078    def __init__(
1079        self,
1080        caarn=None,
1081        certificatetemplatearn=None,
1082        id=None,
1083        issuedcertttlminutes=None,
1084        name=None,
1085        region=None,
1086        signingalgo=None,
1087        tags=None,
1088    ):
1089        self.caarn = caarn if caarn is not None else ''
1090        '''
1091         The ARN of the CA in AWS Private CA
1092        '''
1093        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1094        '''
1095         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1096        '''
1097        self.id = id if id is not None else ''
1098        '''
1099         Unique identifier of the SecretStore.
1100        '''
1101        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1102        '''
1103         The lifetime of certificates issued by this CA represented in minutes.
1104        '''
1105        self.name = name if name is not None else ''
1106        '''
1107         Unique human-readable name of the SecretStore.
1108        '''
1109        self.region = region if region is not None else ''
1110        '''
1111         The AWS region to target e.g. us-east-1
1112        '''
1113        self.signingalgo = signingalgo if signingalgo is not None else ''
1114        '''
1115         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1116        '''
1117        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1118        '''
1119         Tags is a map of key, value pairs.
1120        '''
caarn

The ARN of the CA in AWS Private CA

certificatetemplatearn

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

id

Unique identifier of the SecretStore.

issuedcertttlminutes

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

name

Unique human-readable name of the SecretStore.

region

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

signingalgo

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
1134    def to_dict(self):
1135        return {
1136            'caarn': self.caarn,
1137            'certificatetemplatearn': self.certificatetemplatearn,
1138            'id': self.id,
1139            'issuedcertttlminutes': self.issuedcertttlminutes,
1140            'name': self.name,
1141            'region': self.region,
1142            'signingalgo': self.signingalgo,
1143            'tags': self.tags,
1144        }
@classmethod
def from_dict(cls, d)
1146    @classmethod
1147    def from_dict(cls, d):
1148        return cls(
1149            caarn=d.get('caarn'),
1150            certificatetemplatearn=d.get('certificatetemplatearn'),
1151            id=d.get('id'),
1152            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1153            name=d.get('name'),
1154            region=d.get('region'),
1155            signingalgo=d.get('signingalgo'),
1156            tags=d.get('tags'),
1157        )
class AWSConsole:
1160class AWSConsole:
1161    __slots__ = [
1162        'bind_interface',
1163        'egress_filter',
1164        'enable_env_variables',
1165        'healthy',
1166        'id',
1167        'identity_alias_healthcheck_username',
1168        'identity_set_id',
1169        'name',
1170        'port_override',
1171        'proxy_cluster_id',
1172        'region',
1173        'role_arn',
1174        'role_external_id',
1175        'secret_store_id',
1176        'session_expiry',
1177        'subdomain',
1178        'tags',
1179    ]
1180
1181    def __init__(
1182        self,
1183        bind_interface=None,
1184        egress_filter=None,
1185        enable_env_variables=None,
1186        healthy=None,
1187        id=None,
1188        identity_alias_healthcheck_username=None,
1189        identity_set_id=None,
1190        name=None,
1191        port_override=None,
1192        proxy_cluster_id=None,
1193        region=None,
1194        role_arn=None,
1195        role_external_id=None,
1196        secret_store_id=None,
1197        session_expiry=None,
1198        subdomain=None,
1199        tags=None,
1200    ):
1201        self.bind_interface = bind_interface if bind_interface is not None else ''
1202        '''
1203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1204        '''
1205        self.egress_filter = egress_filter if egress_filter is not None else ''
1206        '''
1207         A filter applied to the routing logic to pin datasource to nodes.
1208        '''
1209        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1210        '''
1211         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1212        '''
1213        self.healthy = healthy if healthy is not None else False
1214        '''
1215         True if the datasource is reachable and the credentials are valid.
1216        '''
1217        self.id = id if id is not None else ''
1218        '''
1219         Unique identifier of the Resource.
1220        '''
1221        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1222        '''
1223         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1224        '''
1225        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1226        '''
1227         The ID of the identity set to use for identity connections.
1228        '''
1229        self.name = name if name is not None else ''
1230        '''
1231         Unique human-readable name of the Resource.
1232        '''
1233        self.port_override = port_override if port_override is not None else 0
1234        '''
1235         The local port used by clients to connect to this resource.
1236        '''
1237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1238        '''
1239         ID of the proxy cluster for this resource, if any.
1240        '''
1241        self.region = region if region is not None else ''
1242        '''
1243         The AWS region to connect to.
1244        '''
1245        self.role_arn = role_arn if role_arn is not None else ''
1246        '''
1247         The role to assume after logging in.
1248        '''
1249        self.role_external_id = role_external_id if role_external_id is not None else ''
1250        '''
1251         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1252        '''
1253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1254        '''
1255         ID of the secret store containing credentials for this resource, if any.
1256        '''
1257        self.session_expiry = session_expiry if session_expiry is not None else 0
1258        '''
1259         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1260        '''
1261        self.subdomain = subdomain if subdomain is not None else ''
1262        '''
1263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1264        '''
1265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1266        '''
1267         Tags is a map of key, value pairs.
1268        '''
1269
1270    def __repr__(self):
1271        return '<sdm.AWSConsole ' + \
1272            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1273            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1274            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1275            'healthy: ' + repr(self.healthy) + ' ' +\
1276            'id: ' + repr(self.id) + ' ' +\
1277            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1278            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1279            'name: ' + repr(self.name) + ' ' +\
1280            'port_override: ' + repr(self.port_override) + ' ' +\
1281            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1282            'region: ' + repr(self.region) + ' ' +\
1283            'role_arn: ' + repr(self.role_arn) + ' ' +\
1284            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1285            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1286            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1287            'subdomain: ' + repr(self.subdomain) + ' ' +\
1288            'tags: ' + repr(self.tags) + ' ' +\
1289            '>'
1290
1291    def to_dict(self):
1292        return {
1293            'bind_interface': self.bind_interface,
1294            'egress_filter': self.egress_filter,
1295            'enable_env_variables': self.enable_env_variables,
1296            'healthy': self.healthy,
1297            'id': self.id,
1298            'identity_alias_healthcheck_username':
1299            self.identity_alias_healthcheck_username,
1300            'identity_set_id': self.identity_set_id,
1301            'name': self.name,
1302            'port_override': self.port_override,
1303            'proxy_cluster_id': self.proxy_cluster_id,
1304            'region': self.region,
1305            'role_arn': self.role_arn,
1306            'role_external_id': self.role_external_id,
1307            'secret_store_id': self.secret_store_id,
1308            'session_expiry': self.session_expiry,
1309            'subdomain': self.subdomain,
1310            'tags': self.tags,
1311        }
1312
1313    @classmethod
1314    def from_dict(cls, d):
1315        return cls(
1316            bind_interface=d.get('bind_interface'),
1317            egress_filter=d.get('egress_filter'),
1318            enable_env_variables=d.get('enable_env_variables'),
1319            healthy=d.get('healthy'),
1320            id=d.get('id'),
1321            identity_alias_healthcheck_username=d.get(
1322                'identity_alias_healthcheck_username'),
1323            identity_set_id=d.get('identity_set_id'),
1324            name=d.get('name'),
1325            port_override=d.get('port_override'),
1326            proxy_cluster_id=d.get('proxy_cluster_id'),
1327            region=d.get('region'),
1328            role_arn=d.get('role_arn'),
1329            role_external_id=d.get('role_external_id'),
1330            secret_store_id=d.get('secret_store_id'),
1331            session_expiry=d.get('session_expiry'),
1332            subdomain=d.get('subdomain'),
1333            tags=d.get('tags'),
1334        )
AWSConsole( bind_interface=None, egress_filter=None, enable_env_variables=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, session_expiry=None, subdomain=None, tags=None)
1181    def __init__(
1182        self,
1183        bind_interface=None,
1184        egress_filter=None,
1185        enable_env_variables=None,
1186        healthy=None,
1187        id=None,
1188        identity_alias_healthcheck_username=None,
1189        identity_set_id=None,
1190        name=None,
1191        port_override=None,
1192        proxy_cluster_id=None,
1193        region=None,
1194        role_arn=None,
1195        role_external_id=None,
1196        secret_store_id=None,
1197        session_expiry=None,
1198        subdomain=None,
1199        tags=None,
1200    ):
1201        self.bind_interface = bind_interface if bind_interface is not None else ''
1202        '''
1203         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
1204        '''
1205        self.egress_filter = egress_filter if egress_filter is not None else ''
1206        '''
1207         A filter applied to the routing logic to pin datasource to nodes.
1208        '''
1209        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1210        '''
1211         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1212        '''
1213        self.healthy = healthy if healthy is not None else False
1214        '''
1215         True if the datasource is reachable and the credentials are valid.
1216        '''
1217        self.id = id if id is not None else ''
1218        '''
1219         Unique identifier of the Resource.
1220        '''
1221        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1222        '''
1223         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1224        '''
1225        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1226        '''
1227         The ID of the identity set to use for identity connections.
1228        '''
1229        self.name = name if name is not None else ''
1230        '''
1231         Unique human-readable name of the Resource.
1232        '''
1233        self.port_override = port_override if port_override is not None else 0
1234        '''
1235         The local port used by clients to connect to this resource.
1236        '''
1237        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1238        '''
1239         ID of the proxy cluster for this resource, if any.
1240        '''
1241        self.region = region if region is not None else ''
1242        '''
1243         The AWS region to connect to.
1244        '''
1245        self.role_arn = role_arn if role_arn is not None else ''
1246        '''
1247         The role to assume after logging in.
1248        '''
1249        self.role_external_id = role_external_id if role_external_id is not None else ''
1250        '''
1251         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1252        '''
1253        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1254        '''
1255         ID of the secret store containing credentials for this resource, if any.
1256        '''
1257        self.session_expiry = session_expiry if session_expiry is not None else 0
1258        '''
1259         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1260        '''
1261        self.subdomain = subdomain if subdomain is not None else ''
1262        '''
1263         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1264        '''
1265        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1266        '''
1267         Tags is a map of key, value pairs.
1268        '''
bind_interface

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The Access Key ID to authenticate with.

bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_access_key

The Secret Access Key to authenticate with.

secret_store_id

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

session_expiry

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

egress_filter

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

enable_env_variables

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

region

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

tags

Tags is a map of key, value pairs.

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

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

AccessRequest( account_id=None, duration=None, grant_id=None, id=None, reason=None, requestedduration=None, resource_id=None, resultduration=None, start_from=None, status=None, status_at=None, valid_until=None, workflow_id=None)
1749    def __init__(
1750        self,
1751        account_id=None,
1752        duration=None,
1753        grant_id=None,
1754        id=None,
1755        reason=None,
1756        requestedduration=None,
1757        resource_id=None,
1758        resultduration=None,
1759        start_from=None,
1760        status=None,
1761        status_at=None,
1762        valid_until=None,
1763        workflow_id=None,
1764    ):
1765        self.account_id = account_id if account_id is not None else ''
1766        '''
1767         The account that initiated the request.
1768        '''
1769        self.duration = duration if duration is not None else 0
1770        '''
1771         Duration of the access request.
1772         Deprecated: use requested/result duration instead
1773        '''
1774        self.grant_id = grant_id if grant_id is not None else ''
1775        '''
1776         The account grant created, if it exists.
1777        '''
1778        self.id = id if id is not None else ''
1779        '''
1780         The access request id.
1781        '''
1782        self.reason = reason if reason is not None else ''
1783        '''
1784         The reason the access was requested.
1785        '''
1786        self.requestedduration = requestedduration if requestedduration is not None else None
1787        '''
1788         The duration that access was requested for, if any.
1789        '''
1790        self.resource_id = resource_id if resource_id is not None else ''
1791        '''
1792         The resource id.
1793        '''
1794        self.resultduration = resultduration if resultduration is not None else None
1795        '''
1796         The duration that results from an approved request.
1797        '''
1798        self.start_from = start_from if start_from is not None else None
1799        '''
1800         The timestamp when the requested access will be granted.
1801         If this field is not specified it will default to the current time.
1802        '''
1803        self.status = status if status is not None else ''
1804        '''
1805         The status of the access request.
1806        '''
1807        self.status_at = status_at if status_at is not None else None
1808        '''
1809         The timestamp when the status changed.
1810        '''
1811        self.valid_until = valid_until if valid_until is not None else None
1812        '''
1813         The timestamp when the requested access will expire.
1814        '''
1815        self.workflow_id = workflow_id if workflow_id is not None else ''
1816        '''
1817         The workflow the request bound to.
1818        '''
account_id

The account that initiated the request.

duration

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

grant_id

The account grant created, if it exists.

id

The access request id.

reason

The reason the access was requested.

requestedduration

The duration that access was requested for, if any.

resource_id

The resource id.

resultduration

The duration that results from an approved request.

start_from

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

status

The status of the access request.

status_at

The timestamp when the status changed.

valid_until

The timestamp when the requested access will expire.

workflow_id

The workflow the request bound to.

def to_dict(self)
1837    def to_dict(self):
1838        return {
1839            'account_id': self.account_id,
1840            'duration': self.duration,
1841            'grant_id': self.grant_id,
1842            'id': self.id,
1843            'reason': self.reason,
1844            'requestedduration': self.requestedduration,
1845            'resource_id': self.resource_id,
1846            'resultduration': self.resultduration,
1847            'start_from': self.start_from,
1848            'status': self.status,
1849            'status_at': self.status_at,
1850            'valid_until': self.valid_until,
1851            'workflow_id': self.workflow_id,
1852        }
@classmethod
def from_dict(cls, d)
1854    @classmethod
1855    def from_dict(cls, d):
1856        return cls(
1857            account_id=d.get('account_id'),
1858            duration=d.get('duration'),
1859            grant_id=d.get('grant_id'),
1860            id=d.get('id'),
1861            reason=d.get('reason'),
1862            requestedduration=d.get('requestedduration'),
1863            resource_id=d.get('resource_id'),
1864            resultduration=d.get('resultduration'),
1865            start_from=d.get('start_from'),
1866            status=d.get('status'),
1867            status_at=d.get('status_at'),
1868            valid_until=d.get('valid_until'),
1869            workflow_id=d.get('workflow_id'),
1870        )
class AccessRequestConfig:
1873class AccessRequestConfig:
1874    '''
1875         AccessRequestConfig holds the information required to request access to a resource
1876    '''
1877    __slots__ = [
1878        'duration',
1879        'reason',
1880        'resource_id',
1881        'start_from',
1882    ]
1883
1884    def __init__(
1885        self,
1886        duration=None,
1887        reason=None,
1888        resource_id=None,
1889        start_from=None,
1890    ):
1891        self.duration = duration if duration is not None else ''
1892        '''
1893         The time access should end, defaults to the next occurance of 5 pm
1894        '''
1895        self.reason = reason if reason is not None else ''
1896        '''
1897         The reason for access
1898        '''
1899        self.resource_id = resource_id if resource_id is not None else ''
1900        '''
1901         The resource for which access is being requested
1902        '''
1903        self.start_from = start_from if start_from is not None else None
1904        '''
1905         The time access should start, defaults to now
1906        '''
1907
1908    def __repr__(self):
1909        return '<sdm.AccessRequestConfig ' + \
1910            'duration: ' + repr(self.duration) + ' ' +\
1911            'reason: ' + repr(self.reason) + ' ' +\
1912            'resource_id: ' + repr(self.resource_id) + ' ' +\
1913            'start_from: ' + repr(self.start_from) + ' ' +\
1914            '>'
1915
1916    def to_dict(self):
1917        return {
1918            'duration': self.duration,
1919            'reason': self.reason,
1920            'resource_id': self.resource_id,
1921            'start_from': self.start_from,
1922        }
1923
1924    @classmethod
1925    def from_dict(cls, d):
1926        return cls(
1927            duration=d.get('duration'),
1928            reason=d.get('reason'),
1929            resource_id=d.get('resource_id'),
1930            start_from=d.get('start_from'),
1931        )

AccessRequestConfig holds the information required to request access to a resource

AccessRequestConfig(duration=None, reason=None, resource_id=None, start_from=None)
1884    def __init__(
1885        self,
1886        duration=None,
1887        reason=None,
1888        resource_id=None,
1889        start_from=None,
1890    ):
1891        self.duration = duration if duration is not None else ''
1892        '''
1893         The time access should end, defaults to the next occurance of 5 pm
1894        '''
1895        self.reason = reason if reason is not None else ''
1896        '''
1897         The reason for access
1898        '''
1899        self.resource_id = resource_id if resource_id is not None else ''
1900        '''
1901         The resource for which access is being requested
1902        '''
1903        self.start_from = start_from if start_from is not None else None
1904        '''
1905         The time access should start, defaults to now
1906        '''
duration

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

reason

The reason for access

resource_id

The resource for which access is being requested

start_from

The time access should start, defaults to now

def to_dict(self)
1916    def to_dict(self):
1917        return {
1918            'duration': self.duration,
1919            'reason': self.reason,
1920            'resource_id': self.resource_id,
1921            'start_from': self.start_from,
1922        }
@classmethod
def from_dict(cls, d)
1924    @classmethod
1925    def from_dict(cls, d):
1926        return cls(
1927            duration=d.get('duration'),
1928            reason=d.get('reason'),
1929            resource_id=d.get('resource_id'),
1930            start_from=d.get('start_from'),
1931        )
class AccessRequestEvent:
1934class AccessRequestEvent:
1935    '''
1936         AccessRequestEvents hold information about events related to an access
1937     request such as creation, approval and denial.
1938    '''
1939    __slots__ = [
1940        'actor_id',
1941        'id',
1942        'metadata',
1943        'request_id',
1944        'type',
1945    ]
1946
1947    def __init__(
1948        self,
1949        actor_id=None,
1950        id=None,
1951        metadata=None,
1952        request_id=None,
1953        type=None,
1954    ):
1955        self.actor_id = actor_id if actor_id is not None else ''
1956        '''
1957         The account responsible for the event.
1958        '''
1959        self.id = id if id is not None else ''
1960        '''
1961         The access request event id.
1962        '''
1963        self.metadata = metadata if metadata is not None else ''
1964        '''
1965         The metadata about the event
1966        '''
1967        self.request_id = request_id if request_id is not None else ''
1968        '''
1969         The request that the event is bound to.
1970        '''
1971        self.type = type if type is not None else ''
1972        '''
1973         The type of event.
1974        '''
1975
1976    def __repr__(self):
1977        return '<sdm.AccessRequestEvent ' + \
1978            'actor_id: ' + repr(self.actor_id) + ' ' +\
1979            'id: ' + repr(self.id) + ' ' +\
1980            'metadata: ' + repr(self.metadata) + ' ' +\
1981            'request_id: ' + repr(self.request_id) + ' ' +\
1982            'type: ' + repr(self.type) + ' ' +\
1983            '>'
1984
1985    def to_dict(self):
1986        return {
1987            'actor_id': self.actor_id,
1988            'id': self.id,
1989            'metadata': self.metadata,
1990            'request_id': self.request_id,
1991            'type': self.type,
1992        }
1993
1994    @classmethod
1995    def from_dict(cls, d):
1996        return cls(
1997            actor_id=d.get('actor_id'),
1998            id=d.get('id'),
1999            metadata=d.get('metadata'),
2000            request_id=d.get('request_id'),
2001            type=d.get('type'),
2002        )

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

AccessRequestEvent(actor_id=None, id=None, metadata=None, request_id=None, type=None)
1947    def __init__(
1948        self,
1949        actor_id=None,
1950        id=None,
1951        metadata=None,
1952        request_id=None,
1953        type=None,
1954    ):
1955        self.actor_id = actor_id if actor_id is not None else ''
1956        '''
1957         The account responsible for the event.
1958        '''
1959        self.id = id if id is not None else ''
1960        '''
1961         The access request event id.
1962        '''
1963        self.metadata = metadata if metadata is not None else ''
1964        '''
1965         The metadata about the event
1966        '''
1967        self.request_id = request_id if request_id is not None else ''
1968        '''
1969         The request that the event is bound to.
1970        '''
1971        self.type = type if type is not None else ''
1972        '''
1973         The type of event.
1974        '''
actor_id

The account responsible for the event.

id

The access request event id.

metadata

The metadata about the event

request_id

The request that the event is bound to.

type

The type of event.

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

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

AccessRequestEventHistory( access_request_event=None, activity_id=None, deleted_at=None, timestamp=None)
2018    def __init__(
2019        self,
2020        access_request_event=None,
2021        activity_id=None,
2022        deleted_at=None,
2023        timestamp=None,
2024    ):
2025        self.access_request_event = access_request_event if access_request_event is not None else None
2026        '''
2027         The complete AccessRequestEvent state at this time.
2028        '''
2029        self.activity_id = activity_id if activity_id is not None else ''
2030        '''
2031         The unique identifier of the Activity that produced this change to the AccessRequest.
2032         May be empty for some system-initiated updates.
2033        '''
2034        self.deleted_at = deleted_at if deleted_at is not None else None
2035        '''
2036         If this Workflow was deleted, the time it was deleted.
2037        '''
2038        self.timestamp = timestamp if timestamp is not None else None
2039        '''
2040         The time at which the AccessRequest state was recorded.
2041        '''
access_request_event

The complete AccessRequestEvent state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

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

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

AccessRequestHistory( access_request=None, activity_id=None, deleted_at=None, timestamp=None)
2082    def __init__(
2083        self,
2084        access_request=None,
2085        activity_id=None,
2086        deleted_at=None,
2087        timestamp=None,
2088    ):
2089        self.access_request = access_request if access_request is not None else None
2090        '''
2091         The complete AccessRequest state at this time.
2092        '''
2093        self.activity_id = activity_id if activity_id is not None else ''
2094        '''
2095         The unique identifier of the Activity that produced this change to the AccessRequest.
2096         May be empty for some system-initiated updates.
2097        '''
2098        self.deleted_at = deleted_at if deleted_at is not None else None
2099        '''
2100         If this Workflow was deleted, the time it was deleted.
2101        '''
2102        self.timestamp = timestamp if timestamp is not None else None
2103        '''
2104         The time at which the AccessRequest state was recorded.
2105        '''
access_request

The complete AccessRequest state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccessRequest state was recorded.

def to_dict(self)
2115    def to_dict(self):
2116        return {
2117            'access_request': self.access_request,
2118            'activity_id': self.activity_id,
2119            'deleted_at': self.deleted_at,
2120            'timestamp': self.timestamp,
2121        }
@classmethod
def from_dict(cls, d)
2123    @classmethod
2124    def from_dict(cls, d):
2125        return cls(
2126            access_request=d.get('access_request'),
2127            activity_id=d.get('activity_id'),
2128            deleted_at=d.get('deleted_at'),
2129            timestamp=d.get('timestamp'),
2130        )
class AccessRequestListRequest:
2133class AccessRequestListRequest:
2134    '''
2135         AccessRequestListRequest specifies criteria for retrieving a list of
2136     AccessRequest records
2137    '''
2138    __slots__ = [
2139        'filter',
2140    ]
2141
2142    def __init__(
2143        self,
2144        filter=None,
2145    ):
2146        self.filter = filter if filter is not None else ''
2147        '''
2148         A human-readable filter query string.
2149        '''
2150
2151    def __repr__(self):
2152        return '<sdm.AccessRequestListRequest ' + \
2153            'filter: ' + repr(self.filter) + ' ' +\
2154            '>'
2155
2156    def to_dict(self):
2157        return {
2158            'filter': self.filter,
2159        }
2160
2161    @classmethod
2162    def from_dict(cls, d):
2163        return cls(filter=d.get('filter'), )

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

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

A human-readable filter query string.

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

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

AccessRequestListResponse(rate_limit=None)
2175    def __init__(
2176        self,
2177        rate_limit=None,
2178    ):
2179        self.rate_limit = rate_limit if rate_limit is not None else None
2180        '''
2181         Rate limit information.
2182        '''
rate_limit

Rate limit information.

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

AccountAttachments assign an account to a role.

AccountAttachment(account_id=None, id=None, role_id=None)
2209    def __init__(
2210        self,
2211        account_id=None,
2212        id=None,
2213        role_id=None,
2214    ):
2215        self.account_id = account_id if account_id is not None else ''
2216        '''
2217         The id of the account of this AccountAttachment.
2218        '''
2219        self.id = id if id is not None else ''
2220        '''
2221         Unique identifier of the AccountAttachment.
2222        '''
2223        self.role_id = role_id if role_id is not None else ''
2224        '''
2225         The id of the attached role of this AccountAttachment.
2226        '''
account_id

The id of the account of this AccountAttachment.

id

Unique identifier of the AccountAttachment.

role_id

The id of the attached role of this AccountAttachment.

def to_dict(self)
2235    def to_dict(self):
2236        return {
2237            'account_id': self.account_id,
2238            'id': self.id,
2239            'role_id': self.role_id,
2240        }
@classmethod
def from_dict(cls, d)
2242    @classmethod
2243    def from_dict(cls, d):
2244        return cls(
2245            account_id=d.get('account_id'),
2246            id=d.get('id'),
2247            role_id=d.get('role_id'),
2248        )
class AccountAttachmentCreateResponse:
2251class AccountAttachmentCreateResponse:
2252    '''
2253         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
2254    '''
2255    __slots__ = [
2256        'account_attachment',
2257        'meta',
2258        'rate_limit',
2259    ]
2260
2261    def __init__(
2262        self,
2263        account_attachment=None,
2264        meta=None,
2265        rate_limit=None,
2266    ):
2267        self.account_attachment = account_attachment if account_attachment is not None else None
2268        '''
2269         The created AccountAttachment.
2270        '''
2271        self.meta = meta if meta is not None else None
2272        '''
2273         Reserved for future use.
2274        '''
2275        self.rate_limit = rate_limit if rate_limit is not None else None
2276        '''
2277         Rate limit information.
2278        '''
2279
2280    def __repr__(self):
2281        return '<sdm.AccountAttachmentCreateResponse ' + \
2282            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2283            'meta: ' + repr(self.meta) + ' ' +\
2284            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2285            '>'
2286
2287    def to_dict(self):
2288        return {
2289            'account_attachment': self.account_attachment,
2290            'meta': self.meta,
2291            'rate_limit': self.rate_limit,
2292        }
2293
2294    @classmethod
2295    def from_dict(cls, d):
2296        return cls(
2297            account_attachment=d.get('account_attachment'),
2298            meta=d.get('meta'),
2299            rate_limit=d.get('rate_limit'),
2300        )

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

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

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentGetResponse returns a requested AccountAttachment.

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

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

AccountAttachmentHistory( account_attachment=None, activity_id=None, deleted_at=None, timestamp=None)
2411    def __init__(
2412        self,
2413        account_attachment=None,
2414        activity_id=None,
2415        deleted_at=None,
2416        timestamp=None,
2417    ):
2418        self.account_attachment = account_attachment if account_attachment is not None else None
2419        '''
2420         The complete AccountAttachment state at this time.
2421        '''
2422        self.activity_id = activity_id if activity_id is not None else ''
2423        '''
2424         The unique identifier of the Activity that produced this change to the AccountAttachment.
2425         May be empty for some system-initiated updates.
2426        '''
2427        self.deleted_at = deleted_at if deleted_at is not None else None
2428        '''
2429         If this AccountAttachment was deleted, the time it was deleted.
2430        '''
2431        self.timestamp = timestamp if timestamp is not None else None
2432        '''
2433         The time at which the AccountAttachment state was recorded.
2434        '''
account_attachment

The complete AccountAttachment state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountAttachment state was recorded.

def to_dict(self)
2444    def to_dict(self):
2445        return {
2446            'account_attachment': self.account_attachment,
2447            'activity_id': self.activity_id,
2448            'deleted_at': self.deleted_at,
2449            'timestamp': self.timestamp,
2450        }
@classmethod
def from_dict(cls, d)
2452    @classmethod
2453    def from_dict(cls, d):
2454        return cls(
2455            account_attachment=d.get('account_attachment'),
2456            activity_id=d.get('activity_id'),
2457            deleted_at=d.get('deleted_at'),
2458            timestamp=d.get('timestamp'),
2459        )
class AccountCreateResponse:
2462class AccountCreateResponse:
2463    '''
2464         AccountCreateResponse reports how the Accounts were created in the system.
2465    '''
2466    __slots__ = [
2467        'access_key',
2468        'account',
2469        'meta',
2470        'rate_limit',
2471        'secret_key',
2472        'token',
2473    ]
2474
2475    def __init__(
2476        self,
2477        access_key=None,
2478        account=None,
2479        meta=None,
2480        rate_limit=None,
2481        secret_key=None,
2482        token=None,
2483    ):
2484        self.access_key = access_key if access_key is not None else ''
2485        '''
2486         ID part of the API key.
2487        '''
2488        self.account = account if account is not None else None
2489        '''
2490         The created Account.
2491        '''
2492        self.meta = meta if meta is not None else None
2493        '''
2494         Reserved for future use.
2495        '''
2496        self.rate_limit = rate_limit if rate_limit is not None else None
2497        '''
2498         Rate limit information.
2499        '''
2500        self.secret_key = secret_key if secret_key is not None else ''
2501        '''
2502         Secret part of the API key.
2503        '''
2504        self.token = token if token is not None else ''
2505        '''
2506         The auth token generated for the Account. The Account will use this token to
2507         authenticate with the strongDM API.
2508        '''
2509
2510    def __repr__(self):
2511        return '<sdm.AccountCreateResponse ' + \
2512            'access_key: ' + repr(self.access_key) + ' ' +\
2513            'account: ' + repr(self.account) + ' ' +\
2514            'meta: ' + repr(self.meta) + ' ' +\
2515            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2516            'secret_key: ' + repr(self.secret_key) + ' ' +\
2517            'token: ' + repr(self.token) + ' ' +\
2518            '>'
2519
2520    def to_dict(self):
2521        return {
2522            'access_key': self.access_key,
2523            'account': self.account,
2524            'meta': self.meta,
2525            'rate_limit': self.rate_limit,
2526            'secret_key': self.secret_key,
2527            'token': self.token,
2528        }
2529
2530    @classmethod
2531    def from_dict(cls, d):
2532        return cls(
2533            access_key=d.get('access_key'),
2534            account=d.get('account'),
2535            meta=d.get('meta'),
2536            rate_limit=d.get('rate_limit'),
2537            secret_key=d.get('secret_key'),
2538            token=d.get('token'),
2539        )

AccountCreateResponse reports how the Accounts were created in the system.

AccountCreateResponse( access_key=None, account=None, meta=None, rate_limit=None, secret_key=None, token=None)
2475    def __init__(
2476        self,
2477        access_key=None,
2478        account=None,
2479        meta=None,
2480        rate_limit=None,
2481        secret_key=None,
2482        token=None,
2483    ):
2484        self.access_key = access_key if access_key is not None else ''
2485        '''
2486         ID part of the API key.
2487        '''
2488        self.account = account if account is not None else None
2489        '''
2490         The created Account.
2491        '''
2492        self.meta = meta if meta is not None else None
2493        '''
2494         Reserved for future use.
2495        '''
2496        self.rate_limit = rate_limit if rate_limit is not None else None
2497        '''
2498         Rate limit information.
2499        '''
2500        self.secret_key = secret_key if secret_key is not None else ''
2501        '''
2502         Secret part of the API key.
2503        '''
2504        self.token = token if token is not None else ''
2505        '''
2506         The auth token generated for the Account. The Account will use this token to
2507         authenticate with the strongDM API.
2508        '''
access_key

ID part of the API key.

account

The created Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

secret_key

Secret part of the API key.

token

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

def to_dict(self)
2520    def to_dict(self):
2521        return {
2522            'access_key': self.access_key,
2523            'account': self.account,
2524            'meta': self.meta,
2525            'rate_limit': self.rate_limit,
2526            'secret_key': self.secret_key,
2527            'token': self.token,
2528        }
@classmethod
def from_dict(cls, d)
2530    @classmethod
2531    def from_dict(cls, d):
2532        return cls(
2533            access_key=d.get('access_key'),
2534            account=d.get('account'),
2535            meta=d.get('meta'),
2536            rate_limit=d.get('rate_limit'),
2537            secret_key=d.get('secret_key'),
2538            token=d.get('token'),
2539        )
class AccountDeleteResponse:
2542class AccountDeleteResponse:
2543    '''
2544         AccountDeleteResponse returns information about a Account that was deleted.
2545    '''
2546    __slots__ = [
2547        'meta',
2548        'rate_limit',
2549    ]
2550
2551    def __init__(
2552        self,
2553        meta=None,
2554        rate_limit=None,
2555    ):
2556        self.meta = meta if meta is not None else None
2557        '''
2558         Reserved for future use.
2559        '''
2560        self.rate_limit = rate_limit if rate_limit is not None else None
2561        '''
2562         Rate limit information.
2563        '''
2564
2565    def __repr__(self):
2566        return '<sdm.AccountDeleteResponse ' + \
2567            'meta: ' + repr(self.meta) + ' ' +\
2568            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2569            '>'
2570
2571    def to_dict(self):
2572        return {
2573            'meta': self.meta,
2574            'rate_limit': self.rate_limit,
2575        }
2576
2577    @classmethod
2578    def from_dict(cls, d):
2579        return cls(
2580            meta=d.get('meta'),
2581            rate_limit=d.get('rate_limit'),
2582        )

AccountDeleteResponse returns information about a Account that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGetResponse returns a requested Account.

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

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

AccountGrant( access_rule=None, account_id=None, id=None, resource_id=None, start_from=None, valid_until=None)
2650    def __init__(
2651        self,
2652        access_rule=None,
2653        account_id=None,
2654        id=None,
2655        resource_id=None,
2656        start_from=None,
2657        valid_until=None,
2658    ):
2659        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
2660        )
2661        '''
2662         The access rule associated with this AccountGrant.
2663        '''
2664        self.account_id = account_id if account_id is not None else ''
2665        '''
2666         The account ID of this AccountGrant.
2667        '''
2668        self.id = id if id is not None else ''
2669        '''
2670         Unique identifier of the AccountGrant.
2671        '''
2672        self.resource_id = resource_id if resource_id is not None else ''
2673        '''
2674         The resource ID of this AccountGrant.
2675        '''
2676        self.start_from = start_from if start_from is not None else None
2677        '''
2678         The timestamp when the resource will be granted. When creating an AccountGrant, if this field is not specified, it will default to the current time.
2679        '''
2680        self.valid_until = valid_until if valid_until is not None else None
2681        '''
2682         The timestamp when the resource grant will expire.
2683        '''
access_rule

The access rule associated with this AccountGrant.

account_id

The account ID of this AccountGrant.

id

Unique identifier of the AccountGrant.

resource_id

The resource ID of this AccountGrant.

start_from

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

valid_until

The timestamp when the resource grant will expire.

def to_dict(self)
2695    def to_dict(self):
2696        return {
2697            'access_rule': self.access_rule,
2698            'account_id': self.account_id,
2699            'id': self.id,
2700            'resource_id': self.resource_id,
2701            'start_from': self.start_from,
2702            'valid_until': self.valid_until,
2703        }
@classmethod
def from_dict(cls, d)
2705    @classmethod
2706    def from_dict(cls, d):
2707        return cls(
2708            access_rule=d.get('access_rule'),
2709            account_id=d.get('account_id'),
2710            id=d.get('id'),
2711            resource_id=d.get('resource_id'),
2712            start_from=d.get('start_from'),
2713            valid_until=d.get('valid_until'),
2714        )
class AccountGrantCreateResponse:
2717class AccountGrantCreateResponse:
2718    '''
2719         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
2720    '''
2721    __slots__ = [
2722        'account_grant',
2723        'meta',
2724        'rate_limit',
2725    ]
2726
2727    def __init__(
2728        self,
2729        account_grant=None,
2730        meta=None,
2731        rate_limit=None,
2732    ):
2733        self.account_grant = account_grant if account_grant is not None else None
2734        '''
2735         The created AccountGrant.
2736        '''
2737        self.meta = meta if meta is not None else None
2738        '''
2739         Reserved for future use.
2740        '''
2741        self.rate_limit = rate_limit if rate_limit is not None else None
2742        '''
2743         Rate limit information.
2744        '''
2745
2746    def __repr__(self):
2747        return '<sdm.AccountGrantCreateResponse ' + \
2748            'account_grant: ' + repr(self.account_grant) + ' ' +\
2749            'meta: ' + repr(self.meta) + ' ' +\
2750            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2751            '>'
2752
2753    def to_dict(self):
2754        return {
2755            'account_grant': self.account_grant,
2756            'meta': self.meta,
2757            'rate_limit': self.rate_limit,
2758        }
2759
2760    @classmethod
2761    def from_dict(cls, d):
2762        return cls(
2763            account_grant=d.get('account_grant'),
2764            meta=d.get('meta'),
2765            rate_limit=d.get('rate_limit'),
2766        )

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

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

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

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

Reserved for future use.

rate_limit

Rate limit information.

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

AccountGrantGetResponse returns a requested AccountGrant.

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

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

AccountGrantHistory( account_grant=None, activity_id=None, deleted_at=None, timestamp=None)
2877    def __init__(
2878        self,
2879        account_grant=None,
2880        activity_id=None,
2881        deleted_at=None,
2882        timestamp=None,
2883    ):
2884        self.account_grant = account_grant if account_grant is not None else None
2885        '''
2886         The complete AccountGrant state at this time.
2887        '''
2888        self.activity_id = activity_id if activity_id is not None else ''
2889        '''
2890         The unique identifier of the Activity that produced this change to the AccountGrant.
2891         May be empty for some system-initiated updates.
2892        '''
2893        self.deleted_at = deleted_at if deleted_at is not None else None
2894        '''
2895         If this AccountGrant was deleted, the time it was deleted.
2896        '''
2897        self.timestamp = timestamp if timestamp is not None else None
2898        '''
2899         The time at which the AccountGrant state was recorded.
2900        '''
account_grant

The complete AccountGrant state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountGrant state was recorded.

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

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

AccountHistory(account=None, activity_id=None, deleted_at=None, timestamp=None)
2941    def __init__(
2942        self,
2943        account=None,
2944        activity_id=None,
2945        deleted_at=None,
2946        timestamp=None,
2947    ):
2948        self.account = account if account is not None else None
2949        '''
2950         The complete Account state at this time.
2951        '''
2952        self.activity_id = activity_id if activity_id is not None else ''
2953        '''
2954         The unique identifier of the Activity that produced this change to the Account.
2955         May be empty for some system-initiated updates.
2956        '''
2957        self.deleted_at = deleted_at if deleted_at is not None else None
2958        '''
2959         If this Account was deleted, the time it was deleted.
2960        '''
2961        self.timestamp = timestamp if timestamp is not None else None
2962        '''
2963         The time at which the Account state was recorded.
2964        '''
account

The complete Account state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the Account state was recorded.

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

AccountPermission represents an individual API action available to an account.

AccountPermission( account_id=None, granted_at=None, permission=None, scope=None, scoped_id=None)
3004    def __init__(
3005        self,
3006        account_id=None,
3007        granted_at=None,
3008        permission=None,
3009        scope=None,
3010        scoped_id=None,
3011    ):
3012        self.account_id = account_id if account_id is not None else ''
3013        '''
3014         The unique identifier of the Account this permission belongs to.
3015        '''
3016        self.granted_at = granted_at if granted_at is not None else None
3017        '''
3018         The most recent time at which the permission was granted. If a permission was
3019         granted, revoked, and granted again, this will reflect the later time.
3020        '''
3021        self.permission = permission if permission is not None else ''
3022        '''
3023         The value of this permission, split into vertical and action, one of the Permission constants.
3024        '''
3025        self.scope = scope if scope is not None else ''
3026        '''
3027         The scope of this permission. A global scope means this action can be taken
3028         on any entity; otherwise the action can only be taken on or in the scope of
3029         the scoped id.
3030        '''
3031        self.scoped_id = scoped_id if scoped_id is not None else ''
3032        '''
3033         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3034         role that a team leader has the abillity to remove and add accounts to, or the
3035         ID of a resource that a user has the permission to connect to. If Scope is global,
3036         scoped id is not populated.
3037        '''
account_id

The unique identifier of the Account this permission belongs to.

granted_at

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

permission

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

scope

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

scoped_id

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

def to_dict(self)
3048    def to_dict(self):
3049        return {
3050            'account_id': self.account_id,
3051            'granted_at': self.granted_at,
3052            'permission': self.permission,
3053            'scope': self.scope,
3054            'scoped_id': self.scoped_id,
3055        }
@classmethod
def from_dict(cls, d)
3057    @classmethod
3058    def from_dict(cls, d):
3059        return cls(
3060            account_id=d.get('account_id'),
3061            granted_at=d.get('granted_at'),
3062            permission=d.get('permission'),
3063            scope=d.get('scope'),
3064            scoped_id=d.get('scoped_id'),
3065        )
class AccountResource:
3068class AccountResource:
3069    '''
3070         AccountResource represents an individual access grant of a Account to a Resource.
3071    '''
3072    __slots__ = [
3073        'account_grant_id',
3074        'account_id',
3075        'created_at',
3076        'expires_at',
3077        'granted_at',
3078        'resource_id',
3079        'role_id',
3080    ]
3081
3082    def __init__(
3083        self,
3084        account_grant_id=None,
3085        account_id=None,
3086        created_at=None,
3087        expires_at=None,
3088        granted_at=None,
3089        resource_id=None,
3090        role_id=None,
3091    ):
3092        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3093        '''
3094         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3095         If empty, access was not granted through an AccountGrant.
3096        '''
3097        self.account_id = account_id if account_id is not None else ''
3098        '''
3099         The unique identifier of the Account to which access is granted.
3100        '''
3101        self.created_at = created_at if created_at is not None else None
3102        '''
3103         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3104         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3105        '''
3106        self.expires_at = expires_at if expires_at is not None else None
3107        '''
3108         The time at which access will expire. If empty, this access has no expiration.
3109        '''
3110        self.granted_at = granted_at if granted_at is not None else None
3111        '''
3112         The most recent time at which access was granted. If access was granted,
3113         revoked, and granted again, this will reflect the later time.
3114        '''
3115        self.resource_id = resource_id if resource_id is not None else ''
3116        '''
3117         The unique identifier of the Resource to which access is granted.
3118        '''
3119        self.role_id = role_id if role_id is not None else ''
3120        '''
3121         The unique identifier of the Role through which the Account was granted access to the Resource.
3122         If empty, access was not granted through an AccountAttachment to a Role.
3123        '''
3124
3125    def __repr__(self):
3126        return '<sdm.AccountResource ' + \
3127            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
3128            'account_id: ' + repr(self.account_id) + ' ' +\
3129            'created_at: ' + repr(self.created_at) + ' ' +\
3130            'expires_at: ' + repr(self.expires_at) + ' ' +\
3131            'granted_at: ' + repr(self.granted_at) + ' ' +\
3132            'resource_id: ' + repr(self.resource_id) + ' ' +\
3133            'role_id: ' + repr(self.role_id) + ' ' +\
3134            '>'
3135
3136    def to_dict(self):
3137        return {
3138            'account_grant_id': self.account_grant_id,
3139            'account_id': self.account_id,
3140            'created_at': self.created_at,
3141            'expires_at': self.expires_at,
3142            'granted_at': self.granted_at,
3143            'resource_id': self.resource_id,
3144            'role_id': self.role_id,
3145        }
3146
3147    @classmethod
3148    def from_dict(cls, d):
3149        return cls(
3150            account_grant_id=d.get('account_grant_id'),
3151            account_id=d.get('account_id'),
3152            created_at=d.get('created_at'),
3153            expires_at=d.get('expires_at'),
3154            granted_at=d.get('granted_at'),
3155            resource_id=d.get('resource_id'),
3156            role_id=d.get('role_id'),
3157        )

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

AccountResource( account_grant_id=None, account_id=None, created_at=None, expires_at=None, granted_at=None, resource_id=None, role_id=None)
3082    def __init__(
3083        self,
3084        account_grant_id=None,
3085        account_id=None,
3086        created_at=None,
3087        expires_at=None,
3088        granted_at=None,
3089        resource_id=None,
3090        role_id=None,
3091    ):
3092        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3093        '''
3094         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3095         If empty, access was not granted through an AccountGrant.
3096        '''
3097        self.account_id = account_id if account_id is not None else ''
3098        '''
3099         The unique identifier of the Account to which access is granted.
3100        '''
3101        self.created_at = created_at if created_at is not None else None
3102        '''
3103         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3104         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3105        '''
3106        self.expires_at = expires_at if expires_at is not None else None
3107        '''
3108         The time at which access will expire. If empty, this access has no expiration.
3109        '''
3110        self.granted_at = granted_at if granted_at is not None else None
3111        '''
3112         The most recent time at which access was granted. If access was granted,
3113         revoked, and granted again, this will reflect the later time.
3114        '''
3115        self.resource_id = resource_id if resource_id is not None else ''
3116        '''
3117         The unique identifier of the Resource to which access is granted.
3118        '''
3119        self.role_id = role_id if role_id is not None else ''
3120        '''
3121         The unique identifier of the Role through which the Account was granted access to the Resource.
3122         If empty, access was not granted through an AccountAttachment to a Role.
3123        '''
account_grant_id

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

account_id

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

created_at

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

expires_at

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

granted_at

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

resource_id

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

role_id

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

def to_dict(self)
3136    def to_dict(self):
3137        return {
3138            'account_grant_id': self.account_grant_id,
3139            'account_id': self.account_id,
3140            'created_at': self.created_at,
3141            'expires_at': self.expires_at,
3142            'granted_at': self.granted_at,
3143            'resource_id': self.resource_id,
3144            'role_id': self.role_id,
3145        }
@classmethod
def from_dict(cls, d)
3147    @classmethod
3148    def from_dict(cls, d):
3149        return cls(
3150            account_grant_id=d.get('account_grant_id'),
3151            account_id=d.get('account_id'),
3152            created_at=d.get('created_at'),
3153            expires_at=d.get('expires_at'),
3154            granted_at=d.get('granted_at'),
3155            resource_id=d.get('resource_id'),
3156            role_id=d.get('role_id'),
3157        )
class AccountResourceHistory:
3160class AccountResourceHistory:
3161    '''
3162         AccountResourceHistory records the state of a AccountResource at a given point in time,
3163     where every change (create or delete) to a AccountResource produces an
3164     AccountResourceHistory record.
3165    '''
3166    __slots__ = [
3167        'account_resource',
3168        'activity_id',
3169        'deleted_at',
3170        'timestamp',
3171    ]
3172
3173    def __init__(
3174        self,
3175        account_resource=None,
3176        activity_id=None,
3177        deleted_at=None,
3178        timestamp=None,
3179    ):
3180        self.account_resource = account_resource if account_resource is not None else None
3181        '''
3182         The complete AccountResource state at this time.
3183        '''
3184        self.activity_id = activity_id if activity_id is not None else ''
3185        '''
3186         The unique identifier of the Activity that produced this change to the AccountResource.
3187         May be empty for some system-initiated updates.
3188        '''
3189        self.deleted_at = deleted_at if deleted_at is not None else None
3190        '''
3191         If this AccountResource was deleted, the time it was deleted.
3192        '''
3193        self.timestamp = timestamp if timestamp is not None else None
3194        '''
3195         The time at which the AccountResource state was recorded.
3196        '''
3197
3198    def __repr__(self):
3199        return '<sdm.AccountResourceHistory ' + \
3200            'account_resource: ' + repr(self.account_resource) + ' ' +\
3201            'activity_id: ' + repr(self.activity_id) + ' ' +\
3202            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3203            'timestamp: ' + repr(self.timestamp) + ' ' +\
3204            '>'
3205
3206    def to_dict(self):
3207        return {
3208            'account_resource': self.account_resource,
3209            'activity_id': self.activity_id,
3210            'deleted_at': self.deleted_at,
3211            'timestamp': self.timestamp,
3212        }
3213
3214    @classmethod
3215    def from_dict(cls, d):
3216        return cls(
3217            account_resource=d.get('account_resource'),
3218            activity_id=d.get('activity_id'),
3219            deleted_at=d.get('deleted_at'),
3220            timestamp=d.get('timestamp'),
3221        )

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

AccountResourceHistory( account_resource=None, activity_id=None, deleted_at=None, timestamp=None)
3173    def __init__(
3174        self,
3175        account_resource=None,
3176        activity_id=None,
3177        deleted_at=None,
3178        timestamp=None,
3179    ):
3180        self.account_resource = account_resource if account_resource is not None else None
3181        '''
3182         The complete AccountResource state at this time.
3183        '''
3184        self.activity_id = activity_id if activity_id is not None else ''
3185        '''
3186         The unique identifier of the Activity that produced this change to the AccountResource.
3187         May be empty for some system-initiated updates.
3188        '''
3189        self.deleted_at = deleted_at if deleted_at is not None else None
3190        '''
3191         If this AccountResource was deleted, the time it was deleted.
3192        '''
3193        self.timestamp = timestamp if timestamp is not None else None
3194        '''
3195         The time at which the AccountResource state was recorded.
3196        '''
account_resource

The complete AccountResource state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountResource state was recorded.

def to_dict(self)
3206    def to_dict(self):
3207        return {
3208            'account_resource': self.account_resource,
3209            'activity_id': self.activity_id,
3210            'deleted_at': self.deleted_at,
3211            'timestamp': self.timestamp,
3212        }
@classmethod
def from_dict(cls, d)
3214    @classmethod
3215    def from_dict(cls, d):
3216        return cls(
3217            account_resource=d.get('account_resource'),
3218            activity_id=d.get('activity_id'),
3219            deleted_at=d.get('deleted_at'),
3220            timestamp=d.get('timestamp'),
3221        )
class AccountUpdateResponse:
3224class AccountUpdateResponse:
3225    '''
3226         AccountUpdateResponse returns the fields of a Account after it has been updated by
3227     a AccountUpdateRequest.
3228    '''
3229    __slots__ = [
3230        'account',
3231        'meta',
3232        'rate_limit',
3233    ]
3234
3235    def __init__(
3236        self,
3237        account=None,
3238        meta=None,
3239        rate_limit=None,
3240    ):
3241        self.account = account if account is not None else None
3242        '''
3243         The updated Account.
3244        '''
3245        self.meta = meta if meta is not None else None
3246        '''
3247         Reserved for future use.
3248        '''
3249        self.rate_limit = rate_limit if rate_limit is not None else None
3250        '''
3251         Rate limit information.
3252        '''
3253
3254    def __repr__(self):
3255        return '<sdm.AccountUpdateResponse ' + \
3256            'account: ' + repr(self.account) + ' ' +\
3257            'meta: ' + repr(self.meta) + ' ' +\
3258            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3259            '>'
3260
3261    def to_dict(self):
3262        return {
3263            'account': self.account,
3264            'meta': self.meta,
3265            'rate_limit': self.rate_limit,
3266        }
3267
3268    @classmethod
3269    def from_dict(cls, d):
3270        return cls(
3271            account=d.get('account'),
3272            meta=d.get('meta'),
3273            rate_limit=d.get('rate_limit'),
3274        )

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

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

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

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

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

binddn

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

bindpass

Password to use along with binddn when performing user search.

certificate

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

connection_timeout

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

do_not_validate_timestamps

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

id

Unique identifier of the Secret Engine.

insecure_tls

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

key_rotation_interval_days

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

max_backoff_duration

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

name

Unique human-readable name of the Secret Engine.

policy

Policy for password creation

public_key

Public key linked with a secret engine

request_timeout

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

secret_store_id

Backing secret store identifier

secret_store_root_path

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

start_tls

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

tags

Tags is a map of key, value pairs.

ttl

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

upndomain

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

url

The LDAP server to connect to.

userdn

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

def to_dict(self)
3448    def to_dict(self):
3449        return {
3450            'after_read_ttl': self.after_read_ttl,
3451            'binddn': self.binddn,
3452            'bindpass': self.bindpass,
3453            'certificate': self.certificate,
3454            'connection_timeout': self.connection_timeout,
3455            'do_not_validate_timestamps': self.do_not_validate_timestamps,
3456            'id': self.id,
3457            'insecure_tls': self.insecure_tls,
3458            'key_rotation_interval_days': self.key_rotation_interval_days,
3459            'max_backoff_duration': self.max_backoff_duration,
3460            'name': self.name,
3461            'policy': self.policy,
3462            'public_key': self.public_key,
3463            'request_timeout': self.request_timeout,
3464            'secret_store_id': self.secret_store_id,
3465            'secret_store_root_path': self.secret_store_root_path,
3466            'start_tls': self.start_tls,
3467            'tags': self.tags,
3468            'ttl': self.ttl,
3469            'upndomain': self.upndomain,
3470            'url': self.url,
3471            'userdn': self.userdn,
3472        }
@classmethod
def from_dict(cls, d)
3474    @classmethod
3475    def from_dict(cls, d):
3476        return cls(
3477            after_read_ttl=d.get('after_read_ttl'),
3478            binddn=d.get('binddn'),
3479            bindpass=d.get('bindpass'),
3480            certificate=d.get('certificate'),
3481            connection_timeout=d.get('connection_timeout'),
3482            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
3483            id=d.get('id'),
3484            insecure_tls=d.get('insecure_tls'),
3485            key_rotation_interval_days=d.get('key_rotation_interval_days'),
3486            max_backoff_duration=d.get('max_backoff_duration'),
3487            name=d.get('name'),
3488            policy=d.get('policy'),
3489            public_key=d.get('public_key'),
3490            request_timeout=d.get('request_timeout'),
3491            secret_store_id=d.get('secret_store_id'),
3492            secret_store_root_path=d.get('secret_store_root_path'),
3493            start_tls=d.get('start_tls'),
3494            tags=d.get('tags'),
3495            ttl=d.get('ttl'),
3496            upndomain=d.get('upndomain'),
3497            url=d.get('url'),
3498            userdn=d.get('userdn'),
3499        )
class ActiveDirectoryStore:
3502class ActiveDirectoryStore:
3503    __slots__ = [
3504        'id',
3505        'name',
3506        'server_address',
3507        'tags',
3508    ]
3509
3510    def __init__(
3511        self,
3512        id=None,
3513        name=None,
3514        server_address=None,
3515        tags=None,
3516    ):
3517        self.id = id if id is not None else ''
3518        '''
3519         Unique identifier of the SecretStore.
3520        '''
3521        self.name = name if name is not None else ''
3522        '''
3523         Unique human-readable name of the SecretStore.
3524        '''
3525        self.server_address = server_address if server_address is not None else ''
3526        '''
3527         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3528         Often this is the same host as Active Directory Certificate Services
3529        '''
3530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3531        '''
3532         Tags is a map of key, value pairs.
3533        '''
3534
3535    def __repr__(self):
3536        return '<sdm.ActiveDirectoryStore ' + \
3537            'id: ' + repr(self.id) + ' ' +\
3538            'name: ' + repr(self.name) + ' ' +\
3539            'server_address: ' + repr(self.server_address) + ' ' +\
3540            'tags: ' + repr(self.tags) + ' ' +\
3541            '>'
3542
3543    def to_dict(self):
3544        return {
3545            'id': self.id,
3546            'name': self.name,
3547            'server_address': self.server_address,
3548            'tags': self.tags,
3549        }
3550
3551    @classmethod
3552    def from_dict(cls, d):
3553        return cls(
3554            id=d.get('id'),
3555            name=d.get('name'),
3556            server_address=d.get('server_address'),
3557            tags=d.get('tags'),
3558        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
3510    def __init__(
3511        self,
3512        id=None,
3513        name=None,
3514        server_address=None,
3515        tags=None,
3516    ):
3517        self.id = id if id is not None else ''
3518        '''
3519         Unique identifier of the SecretStore.
3520        '''
3521        self.name = name if name is not None else ''
3522        '''
3523         Unique human-readable name of the SecretStore.
3524        '''
3525        self.server_address = server_address if server_address is not None else ''
3526        '''
3527         Hostname of server that is hosting NDES (Network Device Enrollment Services).
3528         Often this is the same host as Active Directory Certificate Services
3529        '''
3530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3531        '''
3532         Tags is a map of key, value pairs.
3533        '''
id

Unique identifier of the SecretStore.

name

Unique human-readable name of the SecretStore.

server_address

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
3543    def to_dict(self):
3544        return {
3545            'id': self.id,
3546            'name': self.name,
3547            'server_address': self.server_address,
3548            'tags': self.tags,
3549        }
@classmethod
def from_dict(cls, d)
3551    @classmethod
3552    def from_dict(cls, d):
3553        return cls(
3554            id=d.get('id'),
3555            name=d.get('name'),
3556            server_address=d.get('server_address'),
3557            tags=d.get('tags'),
3558        )
class Activity:
3561class Activity:
3562    '''
3563         An Activity is a record of an action taken against a strongDM deployment, e.g.
3564     a user creation, resource deletion, sso configuration change, etc.
3565    '''
3566    __slots__ = [
3567        'actor',
3568        'completed_at',
3569        'description',
3570        'entities',
3571        'id',
3572        'ip_address',
3573        'user_agent',
3574        'verb',
3575    ]
3576
3577    def __init__(
3578        self,
3579        actor=None,
3580        completed_at=None,
3581        description=None,
3582        entities=None,
3583        id=None,
3584        ip_address=None,
3585        user_agent=None,
3586        verb=None,
3587    ):
3588        self.actor = actor if actor is not None else None
3589        '''
3590         The account who executed this activity. If the actor later has a name or email change,
3591         that change is not reflected here. Actor is a snapshot of the executing account at
3592         the time an activity took place.
3593        '''
3594        self.completed_at = completed_at if completed_at is not None else None
3595        '''
3596         The time this activity took effect.
3597        '''
3598        self.description = description if description is not None else ''
3599        '''
3600         A humanized description of the activity.
3601        '''
3602        self.entities = entities if entities is not None else []
3603        '''
3604         The entities involved in this activity. These entities can be any first class
3605         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3606         every activity affects explicit entities.
3607        '''
3608        self.id = id if id is not None else ''
3609        '''
3610         Unique identifier of the Activity.
3611        '''
3612        self.ip_address = ip_address if ip_address is not None else ''
3613        '''
3614         The IP from which this action was taken.
3615        '''
3616        self.user_agent = user_agent if user_agent is not None else ''
3617        '''
3618         The User Agent present when this request was executed. Generally a client type and version
3619         like strongdm-cli/55.66.77
3620        '''
3621        self.verb = verb if verb is not None else ''
3622        '''
3623         The kind of activity which has taken place, one of the ActivityVerb constants.
3624        '''
3625
3626    def __repr__(self):
3627        return '<sdm.Activity ' + \
3628            'actor: ' + repr(self.actor) + ' ' +\
3629            'completed_at: ' + repr(self.completed_at) + ' ' +\
3630            'description: ' + repr(self.description) + ' ' +\
3631            'entities: ' + repr(self.entities) + ' ' +\
3632            'id: ' + repr(self.id) + ' ' +\
3633            'ip_address: ' + repr(self.ip_address) + ' ' +\
3634            'user_agent: ' + repr(self.user_agent) + ' ' +\
3635            'verb: ' + repr(self.verb) + ' ' +\
3636            '>'
3637
3638    def to_dict(self):
3639        return {
3640            'actor': self.actor,
3641            'completed_at': self.completed_at,
3642            'description': self.description,
3643            'entities': self.entities,
3644            'id': self.id,
3645            'ip_address': self.ip_address,
3646            'user_agent': self.user_agent,
3647            'verb': self.verb,
3648        }
3649
3650    @classmethod
3651    def from_dict(cls, d):
3652        return cls(
3653            actor=d.get('actor'),
3654            completed_at=d.get('completed_at'),
3655            description=d.get('description'),
3656            entities=d.get('entities'),
3657            id=d.get('id'),
3658            ip_address=d.get('ip_address'),
3659            user_agent=d.get('user_agent'),
3660            verb=d.get('verb'),
3661        )

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

Activity( actor=None, completed_at=None, description=None, entities=None, id=None, ip_address=None, user_agent=None, verb=None)
3577    def __init__(
3578        self,
3579        actor=None,
3580        completed_at=None,
3581        description=None,
3582        entities=None,
3583        id=None,
3584        ip_address=None,
3585        user_agent=None,
3586        verb=None,
3587    ):
3588        self.actor = actor if actor is not None else None
3589        '''
3590         The account who executed this activity. If the actor later has a name or email change,
3591         that change is not reflected here. Actor is a snapshot of the executing account at
3592         the time an activity took place.
3593        '''
3594        self.completed_at = completed_at if completed_at is not None else None
3595        '''
3596         The time this activity took effect.
3597        '''
3598        self.description = description if description is not None else ''
3599        '''
3600         A humanized description of the activity.
3601        '''
3602        self.entities = entities if entities is not None else []
3603        '''
3604         The entities involved in this activity. These entities can be any first class
3605         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
3606         every activity affects explicit entities.
3607        '''
3608        self.id = id if id is not None else ''
3609        '''
3610         Unique identifier of the Activity.
3611        '''
3612        self.ip_address = ip_address if ip_address is not None else ''
3613        '''
3614         The IP from which this action was taken.
3615        '''
3616        self.user_agent = user_agent if user_agent is not None else ''
3617        '''
3618         The User Agent present when this request was executed. Generally a client type and version
3619         like strongdm-cli/55.66.77
3620        '''
3621        self.verb = verb if verb is not None else ''
3622        '''
3623         The kind of activity which has taken place, one of the ActivityVerb constants.
3624        '''
actor

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

completed_at

The time this activity took effect.

description

A humanized description of the activity.

entities

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

id

Unique identifier of the Activity.

ip_address

The IP from which this action was taken.

user_agent

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

verb

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

def to_dict(self)
3638    def to_dict(self):
3639        return {
3640            'actor': self.actor,
3641            'completed_at': self.completed_at,
3642            'description': self.description,
3643            'entities': self.entities,
3644            'id': self.id,
3645            'ip_address': self.ip_address,
3646            'user_agent': self.user_agent,
3647            'verb': self.verb,
3648        }
@classmethod
def from_dict(cls, d)
3650    @classmethod
3651    def from_dict(cls, d):
3652        return cls(
3653            actor=d.get('actor'),
3654            completed_at=d.get('completed_at'),
3655            description=d.get('description'),
3656            entities=d.get('entities'),
3657            id=d.get('id'),
3658            ip_address=d.get('ip_address'),
3659            user_agent=d.get('user_agent'),
3660            verb=d.get('verb'),
3661        )
class ActivityActor:
3664class ActivityActor:
3665    __slots__ = [
3666        'activity_external_id',
3667        'email',
3668        'first_name',
3669        'id',
3670        'last_name',
3671    ]
3672
3673    def __init__(
3674        self,
3675        activity_external_id=None,
3676        email=None,
3677        first_name=None,
3678        id=None,
3679        last_name=None,
3680    ):
3681        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3682        '''
3683         The external ID of the actor at the time this activity occurred.
3684        '''
3685        self.email = email if email is not None else ''
3686        '''
3687         The email of the actor at the time this activity occurred.
3688        '''
3689        self.first_name = first_name if first_name is not None else ''
3690        '''
3691         The first name of the actor at the time this activity occurred.
3692        '''
3693        self.id = id if id is not None else ''
3694        '''
3695         Unique identifier of the actor. Immutable.
3696        '''
3697        self.last_name = last_name if last_name is not None else ''
3698        '''
3699         The last name of the actor at the time this activity occurred.
3700        '''
3701
3702    def __repr__(self):
3703        return '<sdm.ActivityActor ' + \
3704            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
3705            'email: ' + repr(self.email) + ' ' +\
3706            'first_name: ' + repr(self.first_name) + ' ' +\
3707            'id: ' + repr(self.id) + ' ' +\
3708            'last_name: ' + repr(self.last_name) + ' ' +\
3709            '>'
3710
3711    def to_dict(self):
3712        return {
3713            'activity_external_id': self.activity_external_id,
3714            'email': self.email,
3715            'first_name': self.first_name,
3716            'id': self.id,
3717            'last_name': self.last_name,
3718        }
3719
3720    @classmethod
3721    def from_dict(cls, d):
3722        return cls(
3723            activity_external_id=d.get('activity_external_id'),
3724            email=d.get('email'),
3725            first_name=d.get('first_name'),
3726            id=d.get('id'),
3727            last_name=d.get('last_name'),
3728        )
ActivityActor( activity_external_id=None, email=None, first_name=None, id=None, last_name=None)
3673    def __init__(
3674        self,
3675        activity_external_id=None,
3676        email=None,
3677        first_name=None,
3678        id=None,
3679        last_name=None,
3680    ):
3681        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
3682        '''
3683         The external ID of the actor at the time this activity occurred.
3684        '''
3685        self.email = email if email is not None else ''
3686        '''
3687         The email of the actor at the time this activity occurred.
3688        '''
3689        self.first_name = first_name if first_name is not None else ''
3690        '''
3691         The first name of the actor at the time this activity occurred.
3692        '''
3693        self.id = id if id is not None else ''
3694        '''
3695         Unique identifier of the actor. Immutable.
3696        '''
3697        self.last_name = last_name if last_name is not None else ''
3698        '''
3699         The last name of the actor at the time this activity occurred.
3700        '''
activity_external_id

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

email

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

first_name

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

id

Unique identifier of the actor. Immutable.

last_name

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

def to_dict(self)
3711    def to_dict(self):
3712        return {
3713            'activity_external_id': self.activity_external_id,
3714            'email': self.email,
3715            'first_name': self.first_name,
3716            'id': self.id,
3717            'last_name': self.last_name,
3718        }
@classmethod
def from_dict(cls, d)
3720    @classmethod
3721    def from_dict(cls, d):
3722        return cls(
3723            activity_external_id=d.get('activity_external_id'),
3724            email=d.get('email'),
3725            first_name=d.get('first_name'),
3726            id=d.get('id'),
3727            last_name=d.get('last_name'),
3728        )
class ActivityEntity:
3731class ActivityEntity:
3732    __slots__ = [
3733        'email',
3734        'external_id',
3735        'id',
3736        'name',
3737        'type',
3738    ]
3739
3740    def __init__(
3741        self,
3742        email=None,
3743        external_id=None,
3744        id=None,
3745        name=None,
3746        type=None,
3747    ):
3748        self.email = email if email is not None else ''
3749        '''
3750         The email of the affected entity, if it has one (for example, if it is an account).
3751        '''
3752        self.external_id = external_id if external_id is not None else ''
3753        '''
3754         The external ID of the affected entity, if it has one (for example, if it is an account).
3755        '''
3756        self.id = id if id is not None else ''
3757        '''
3758         The unique identifier of the entity this activity affected.
3759        '''
3760        self.name = name if name is not None else ''
3761        '''
3762         A display name representing the affected entity.
3763        '''
3764        self.type = type if type is not None else ''
3765        '''
3766         The type of entity affected, one of the ActivityEntityType constants.
3767        '''
3768
3769    def __repr__(self):
3770        return '<sdm.ActivityEntity ' + \
3771            'email: ' + repr(self.email) + ' ' +\
3772            'external_id: ' + repr(self.external_id) + ' ' +\
3773            'id: ' + repr(self.id) + ' ' +\
3774            'name: ' + repr(self.name) + ' ' +\
3775            'type: ' + repr(self.type) + ' ' +\
3776            '>'
3777
3778    def to_dict(self):
3779        return {
3780            'email': self.email,
3781            'external_id': self.external_id,
3782            'id': self.id,
3783            'name': self.name,
3784            'type': self.type,
3785        }
3786
3787    @classmethod
3788    def from_dict(cls, d):
3789        return cls(
3790            email=d.get('email'),
3791            external_id=d.get('external_id'),
3792            id=d.get('id'),
3793            name=d.get('name'),
3794            type=d.get('type'),
3795        )
ActivityEntity(email=None, external_id=None, id=None, name=None, type=None)
3740    def __init__(
3741        self,
3742        email=None,
3743        external_id=None,
3744        id=None,
3745        name=None,
3746        type=None,
3747    ):
3748        self.email = email if email is not None else ''
3749        '''
3750         The email of the affected entity, if it has one (for example, if it is an account).
3751        '''
3752        self.external_id = external_id if external_id is not None else ''
3753        '''
3754         The external ID of the affected entity, if it has one (for example, if it is an account).
3755        '''
3756        self.id = id if id is not None else ''
3757        '''
3758         The unique identifier of the entity this activity affected.
3759        '''
3760        self.name = name if name is not None else ''
3761        '''
3762         A display name representing the affected entity.
3763        '''
3764        self.type = type if type is not None else ''
3765        '''
3766         The type of entity affected, one of the ActivityEntityType constants.
3767        '''
email

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

external_id

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

id

The unique identifier of the entity this activity affected.

name

A display name representing the affected entity.

type

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

def to_dict(self)
3778    def to_dict(self):
3779        return {
3780            'email': self.email,
3781            'external_id': self.external_id,
3782            'id': self.id,
3783            'name': self.name,
3784            'type': self.type,
3785        }
@classmethod
def from_dict(cls, d)
3787    @classmethod
3788    def from_dict(cls, d):
3789        return cls(
3790            email=d.get('email'),
3791            external_id=d.get('external_id'),
3792            id=d.get('id'),
3793            name=d.get('name'),
3794            type=d.get('type'),
3795        )
class ActivityGetResponse:
3798class ActivityGetResponse:
3799    '''
3800         ActivityGetResponse returns a requested Activity.
3801    '''
3802    __slots__ = [
3803        'activity',
3804        'meta',
3805        'rate_limit',
3806    ]
3807
3808    def __init__(
3809        self,
3810        activity=None,
3811        meta=None,
3812        rate_limit=None,
3813    ):
3814        self.activity = activity if activity is not None else None
3815        '''
3816         The requested Activity.
3817        '''
3818        self.meta = meta if meta is not None else None
3819        '''
3820         Reserved for future use.
3821        '''
3822        self.rate_limit = rate_limit if rate_limit is not None else None
3823        '''
3824         Rate limit information.
3825        '''
3826
3827    def __repr__(self):
3828        return '<sdm.ActivityGetResponse ' + \
3829            'activity: ' + repr(self.activity) + ' ' +\
3830            'meta: ' + repr(self.meta) + ' ' +\
3831            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3832            '>'
3833
3834    def to_dict(self):
3835        return {
3836            'activity': self.activity,
3837            'meta': self.meta,
3838            'rate_limit': self.rate_limit,
3839        }
3840
3841    @classmethod
3842    def from_dict(cls, d):
3843        return cls(
3844            activity=d.get('activity'),
3845            meta=d.get('meta'),
3846            rate_limit=d.get('rate_limit'),
3847        )

ActivityGetResponse returns a requested Activity.

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

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Aerospike( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, use_services_alternate=None, username=None)
3873    def __init__(
3874        self,
3875        bind_interface=None,
3876        egress_filter=None,
3877        healthy=None,
3878        hostname=None,
3879        id=None,
3880        name=None,
3881        password=None,
3882        port=None,
3883        port_override=None,
3884        proxy_cluster_id=None,
3885        secret_store_id=None,
3886        subdomain=None,
3887        tags=None,
3888        use_services_alternate=None,
3889        username=None,
3890    ):
3891        self.bind_interface = bind_interface if bind_interface is not None else ''
3892        '''
3893         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
3894        '''
3895        self.egress_filter = egress_filter if egress_filter is not None else ''
3896        '''
3897         A filter applied to the routing logic to pin datasource to nodes.
3898        '''
3899        self.healthy = healthy if healthy is not None else False
3900        '''
3901         True if the datasource is reachable and the credentials are valid.
3902        '''
3903        self.hostname = hostname if hostname is not None else ''
3904        '''
3905         The host to dial to initiate a connection from the egress node to this resource.
3906        '''
3907        self.id = id if id is not None else ''
3908        '''
3909         Unique identifier of the Resource.
3910        '''
3911        self.name = name if name is not None else ''
3912        '''
3913         Unique human-readable name of the Resource.
3914        '''
3915        self.password = password if password is not None else ''
3916        '''
3917         The password to authenticate with.
3918        '''
3919        self.port = port if port is not None else 0
3920        '''
3921         The port to dial to initiate a connection from the egress node to this resource.
3922        '''
3923        self.port_override = port_override if port_override is not None else 0
3924        '''
3925         The local port used by clients to connect to this resource.
3926        '''
3927        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
3928        '''
3929         ID of the proxy cluster for this resource, if any.
3930        '''
3931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3932        '''
3933         ID of the secret store containing credentials for this resource, if any.
3934        '''
3935        self.subdomain = subdomain if subdomain is not None else ''
3936        '''
3937         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
3938        '''
3939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3940        '''
3941         Tags is a map of key, value pairs.
3942        '''
3943        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
3944        '''
3945         If true, uses UseServicesAlternates directive for Aerospike connection
3946        '''
3947        self.username = username if username is not None else ''
3948        '''
3949         The username to authenticate with.
3950        '''
bind_interface

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

use_services_alternate

If true, uses UseServicesAlternates directive for Aerospike connection

username

The username to authenticate with.

def to_dict(self)
3971    def to_dict(self):
3972        return {
3973            'bind_interface': self.bind_interface,
3974            'egress_filter': self.egress_filter,
3975            'healthy': self.healthy,
3976            'hostname': self.hostname,
3977            'id': self.id,
3978            'name': self.name,
3979            'password': self.password,
3980            'port': self.port,
3981            'port_override': self.port_override,
3982            'proxy_cluster_id': self.proxy_cluster_id,
3983            'secret_store_id': self.secret_store_id,
3984            'subdomain': self.subdomain,
3985            'tags': self.tags,
3986            'use_services_alternate': self.use_services_alternate,
3987            'username': self.username,
3988        }
@classmethod
def from_dict(cls, d)
3990    @classmethod
3991    def from_dict(cls, d):
3992        return cls(
3993            bind_interface=d.get('bind_interface'),
3994            egress_filter=d.get('egress_filter'),
3995            healthy=d.get('healthy'),
3996            hostname=d.get('hostname'),
3997            id=d.get('id'),
3998            name=d.get('name'),
3999            password=d.get('password'),
4000            port=d.get('port'),
4001            port_override=d.get('port_override'),
4002            proxy_cluster_id=d.get('proxy_cluster_id'),
4003            secret_store_id=d.get('secret_store_id'),
4004            subdomain=d.get('subdomain'),
4005            tags=d.get('tags'),
4006            use_services_alternate=d.get('use_services_alternate'),
4007            username=d.get('username'),
4008        )
class AmazonEKS:
4011class AmazonEKS:
4012    __slots__ = [
4013        'access_key',
4014        'allow_resource_role_bypass',
4015        'bind_interface',
4016        'certificate_authority',
4017        'cluster_name',
4018        'discovery_enabled',
4019        'discovery_username',
4020        'egress_filter',
4021        'endpoint',
4022        'healthcheck_namespace',
4023        'healthy',
4024        'id',
4025        'identity_alias_healthcheck_username',
4026        'identity_set_id',
4027        'name',
4028        'port_override',
4029        'proxy_cluster_id',
4030        'region',
4031        'role_arn',
4032        'role_external_id',
4033        'secret_access_key',
4034        'secret_store_id',
4035        'subdomain',
4036        'tags',
4037    ]
4038
4039    def __init__(
4040        self,
4041        access_key=None,
4042        allow_resource_role_bypass=None,
4043        bind_interface=None,
4044        certificate_authority=None,
4045        cluster_name=None,
4046        discovery_enabled=None,
4047        discovery_username=None,
4048        egress_filter=None,
4049        endpoint=None,
4050        healthcheck_namespace=None,
4051        healthy=None,
4052        id=None,
4053        identity_alias_healthcheck_username=None,
4054        identity_set_id=None,
4055        name=None,
4056        port_override=None,
4057        proxy_cluster_id=None,
4058        region=None,
4059        role_arn=None,
4060        role_external_id=None,
4061        secret_access_key=None,
4062        secret_store_id=None,
4063        subdomain=None,
4064        tags=None,
4065    ):
4066        self.access_key = access_key if access_key is not None else ''
4067        '''
4068         The Access Key ID to use to authenticate.
4069        '''
4070        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4071        '''
4072         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4073         when a resource role is not provided.
4074        '''
4075        self.bind_interface = bind_interface if bind_interface is not None else ''
4076        '''
4077         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4078        '''
4079        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4080        '''
4081         The CA to authenticate TLS connections with.
4082        '''
4083        self.cluster_name = cluster_name if cluster_name is not None else ''
4084        '''
4085         The name of the cluster to connect to.
4086        '''
4087        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4088        '''
4089         If true, configures discovery of a cluster to be run from a node.
4090        '''
4091        self.discovery_username = discovery_username if discovery_username is not None else ''
4092        '''
4093         If a cluster is configured for user impersonation, this is the user to impersonate when
4094         running discovery.
4095        '''
4096        self.egress_filter = egress_filter if egress_filter is not None else ''
4097        '''
4098         A filter applied to the routing logic to pin datasource to nodes.
4099        '''
4100        self.endpoint = endpoint if endpoint is not None else ''
4101        '''
4102         The endpoint to dial.
4103        '''
4104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4105        '''
4106         The path used to check the health of your connection.  Defaults to `default`.
4107        '''
4108        self.healthy = healthy if healthy is not None else False
4109        '''
4110         True if the datasource is reachable and the credentials are valid.
4111        '''
4112        self.id = id if id is not None else ''
4113        '''
4114         Unique identifier of the Resource.
4115        '''
4116        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4117        '''
4118         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4119        '''
4120        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4121        '''
4122         The ID of the identity set to use for identity connections.
4123        '''
4124        self.name = name if name is not None else ''
4125        '''
4126         Unique human-readable name of the Resource.
4127        '''
4128        self.port_override = port_override if port_override is not None else 0
4129        '''
4130         The local port used by clients to connect to this resource.
4131        '''
4132        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4133        '''
4134         ID of the proxy cluster for this resource, if any.
4135        '''
4136        self.region = region if region is not None else ''
4137        '''
4138         The AWS region to connect to e.g. us-east-1.
4139        '''
4140        self.role_arn = role_arn if role_arn is not None else ''
4141        '''
4142         The role to assume after logging in.
4143        '''
4144        self.role_external_id = role_external_id if role_external_id is not None else ''
4145        '''
4146         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4147        '''
4148        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4149        '''
4150         The Secret Access Key to use to authenticate.
4151        '''
4152        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4153        '''
4154         ID of the secret store containing credentials for this resource, if any.
4155        '''
4156        self.subdomain = subdomain if subdomain is not None else ''
4157        '''
4158         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4159        '''
4160        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4161        '''
4162         Tags is a map of key, value pairs.
4163        '''
4164
4165    def __repr__(self):
4166        return '<sdm.AmazonEKS ' + \
4167            'access_key: ' + repr(self.access_key) + ' ' +\
4168            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4169            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4170            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4171            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4172            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4173            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4174            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4175            'endpoint: ' + repr(self.endpoint) + ' ' +\
4176            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4177            'healthy: ' + repr(self.healthy) + ' ' +\
4178            'id: ' + repr(self.id) + ' ' +\
4179            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4180            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4181            'name: ' + repr(self.name) + ' ' +\
4182            'port_override: ' + repr(self.port_override) + ' ' +\
4183            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4184            'region: ' + repr(self.region) + ' ' +\
4185            'role_arn: ' + repr(self.role_arn) + ' ' +\
4186            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4187            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4188            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4189            'subdomain: ' + repr(self.subdomain) + ' ' +\
4190            'tags: ' + repr(self.tags) + ' ' +\
4191            '>'
4192
4193    def to_dict(self):
4194        return {
4195            'access_key': self.access_key,
4196            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4197            'bind_interface': self.bind_interface,
4198            'certificate_authority': self.certificate_authority,
4199            'cluster_name': self.cluster_name,
4200            'discovery_enabled': self.discovery_enabled,
4201            'discovery_username': self.discovery_username,
4202            'egress_filter': self.egress_filter,
4203            'endpoint': self.endpoint,
4204            'healthcheck_namespace': self.healthcheck_namespace,
4205            'healthy': self.healthy,
4206            'id': self.id,
4207            'identity_alias_healthcheck_username':
4208            self.identity_alias_healthcheck_username,
4209            'identity_set_id': self.identity_set_id,
4210            'name': self.name,
4211            'port_override': self.port_override,
4212            'proxy_cluster_id': self.proxy_cluster_id,
4213            'region': self.region,
4214            'role_arn': self.role_arn,
4215            'role_external_id': self.role_external_id,
4216            'secret_access_key': self.secret_access_key,
4217            'secret_store_id': self.secret_store_id,
4218            'subdomain': self.subdomain,
4219            'tags': self.tags,
4220        }
4221
4222    @classmethod
4223    def from_dict(cls, d):
4224        return cls(
4225            access_key=d.get('access_key'),
4226            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4227            bind_interface=d.get('bind_interface'),
4228            certificate_authority=d.get('certificate_authority'),
4229            cluster_name=d.get('cluster_name'),
4230            discovery_enabled=d.get('discovery_enabled'),
4231            discovery_username=d.get('discovery_username'),
4232            egress_filter=d.get('egress_filter'),
4233            endpoint=d.get('endpoint'),
4234            healthcheck_namespace=d.get('healthcheck_namespace'),
4235            healthy=d.get('healthy'),
4236            id=d.get('id'),
4237            identity_alias_healthcheck_username=d.get(
4238                'identity_alias_healthcheck_username'),
4239            identity_set_id=d.get('identity_set_id'),
4240            name=d.get('name'),
4241            port_override=d.get('port_override'),
4242            proxy_cluster_id=d.get('proxy_cluster_id'),
4243            region=d.get('region'),
4244            role_arn=d.get('role_arn'),
4245            role_external_id=d.get('role_external_id'),
4246            secret_access_key=d.get('secret_access_key'),
4247            secret_store_id=d.get('secret_store_id'),
4248            subdomain=d.get('subdomain'),
4249            tags=d.get('tags'),
4250        )
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)
4039    def __init__(
4040        self,
4041        access_key=None,
4042        allow_resource_role_bypass=None,
4043        bind_interface=None,
4044        certificate_authority=None,
4045        cluster_name=None,
4046        discovery_enabled=None,
4047        discovery_username=None,
4048        egress_filter=None,
4049        endpoint=None,
4050        healthcheck_namespace=None,
4051        healthy=None,
4052        id=None,
4053        identity_alias_healthcheck_username=None,
4054        identity_set_id=None,
4055        name=None,
4056        port_override=None,
4057        proxy_cluster_id=None,
4058        region=None,
4059        role_arn=None,
4060        role_external_id=None,
4061        secret_access_key=None,
4062        secret_store_id=None,
4063        subdomain=None,
4064        tags=None,
4065    ):
4066        self.access_key = access_key if access_key is not None else ''
4067        '''
4068         The Access Key ID to use to authenticate.
4069        '''
4070        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4071        '''
4072         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4073         when a resource role is not provided.
4074        '''
4075        self.bind_interface = bind_interface if bind_interface is not None else ''
4076        '''
4077         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4078        '''
4079        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4080        '''
4081         The CA to authenticate TLS connections with.
4082        '''
4083        self.cluster_name = cluster_name if cluster_name is not None else ''
4084        '''
4085         The name of the cluster to connect to.
4086        '''
4087        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4088        '''
4089         If true, configures discovery of a cluster to be run from a node.
4090        '''
4091        self.discovery_username = discovery_username if discovery_username is not None else ''
4092        '''
4093         If a cluster is configured for user impersonation, this is the user to impersonate when
4094         running discovery.
4095        '''
4096        self.egress_filter = egress_filter if egress_filter is not None else ''
4097        '''
4098         A filter applied to the routing logic to pin datasource to nodes.
4099        '''
4100        self.endpoint = endpoint if endpoint is not None else ''
4101        '''
4102         The endpoint to dial.
4103        '''
4104        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4105        '''
4106         The path used to check the health of your connection.  Defaults to `default`.
4107        '''
4108        self.healthy = healthy if healthy is not None else False
4109        '''
4110         True if the datasource is reachable and the credentials are valid.
4111        '''
4112        self.id = id if id is not None else ''
4113        '''
4114         Unique identifier of the Resource.
4115        '''
4116        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4117        '''
4118         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4119        '''
4120        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4121        '''
4122         The ID of the identity set to use for identity connections.
4123        '''
4124        self.name = name if name is not None else ''
4125        '''
4126         Unique human-readable name of the Resource.
4127        '''
4128        self.port_override = port_override if port_override is not None else 0
4129        '''
4130         The local port used by clients to connect to this resource.
4131        '''
4132        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4133        '''
4134         ID of the proxy cluster for this resource, if any.
4135        '''
4136        self.region = region if region is not None else ''
4137        '''
4138         The AWS region to connect to e.g. us-east-1.
4139        '''
4140        self.role_arn = role_arn if role_arn is not None else ''
4141        '''
4142         The role to assume after logging in.
4143        '''
4144        self.role_external_id = role_external_id if role_external_id is not None else ''
4145        '''
4146         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4147        '''
4148        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4149        '''
4150         The Secret Access Key to use to authenticate.
4151        '''
4152        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4153        '''
4154         ID of the secret store containing credentials for this resource, if any.
4155        '''
4156        self.subdomain = subdomain if subdomain is not None else ''
4157        '''
4158         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4159        '''
4160        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4161        '''
4162         Tags is a map of key, value pairs.
4163        '''
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)
4193    def to_dict(self):
4194        return {
4195            'access_key': self.access_key,
4196            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4197            'bind_interface': self.bind_interface,
4198            'certificate_authority': self.certificate_authority,
4199            'cluster_name': self.cluster_name,
4200            'discovery_enabled': self.discovery_enabled,
4201            'discovery_username': self.discovery_username,
4202            'egress_filter': self.egress_filter,
4203            'endpoint': self.endpoint,
4204            'healthcheck_namespace': self.healthcheck_namespace,
4205            'healthy': self.healthy,
4206            'id': self.id,
4207            'identity_alias_healthcheck_username':
4208            self.identity_alias_healthcheck_username,
4209            'identity_set_id': self.identity_set_id,
4210            'name': self.name,
4211            'port_override': self.port_override,
4212            'proxy_cluster_id': self.proxy_cluster_id,
4213            'region': self.region,
4214            'role_arn': self.role_arn,
4215            'role_external_id': self.role_external_id,
4216            'secret_access_key': self.secret_access_key,
4217            'secret_store_id': self.secret_store_id,
4218            'subdomain': self.subdomain,
4219            'tags': self.tags,
4220        }
@classmethod
def from_dict(cls, d)
4222    @classmethod
4223    def from_dict(cls, d):
4224        return cls(
4225            access_key=d.get('access_key'),
4226            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4227            bind_interface=d.get('bind_interface'),
4228            certificate_authority=d.get('certificate_authority'),
4229            cluster_name=d.get('cluster_name'),
4230            discovery_enabled=d.get('discovery_enabled'),
4231            discovery_username=d.get('discovery_username'),
4232            egress_filter=d.get('egress_filter'),
4233            endpoint=d.get('endpoint'),
4234            healthcheck_namespace=d.get('healthcheck_namespace'),
4235            healthy=d.get('healthy'),
4236            id=d.get('id'),
4237            identity_alias_healthcheck_username=d.get(
4238                'identity_alias_healthcheck_username'),
4239            identity_set_id=d.get('identity_set_id'),
4240            name=d.get('name'),
4241            port_override=d.get('port_override'),
4242            proxy_cluster_id=d.get('proxy_cluster_id'),
4243            region=d.get('region'),
4244            role_arn=d.get('role_arn'),
4245            role_external_id=d.get('role_external_id'),
4246            secret_access_key=d.get('secret_access_key'),
4247            secret_store_id=d.get('secret_store_id'),
4248            subdomain=d.get('subdomain'),
4249            tags=d.get('tags'),
4250        )
class AmazonEKSInstanceProfile:
4253class AmazonEKSInstanceProfile:
4254    __slots__ = [
4255        'allow_resource_role_bypass',
4256        'bind_interface',
4257        'certificate_authority',
4258        'cluster_name',
4259        'discovery_enabled',
4260        'discovery_username',
4261        'egress_filter',
4262        'endpoint',
4263        'healthcheck_namespace',
4264        'healthy',
4265        'id',
4266        'identity_alias_healthcheck_username',
4267        'identity_set_id',
4268        'name',
4269        'port_override',
4270        'proxy_cluster_id',
4271        'region',
4272        'role_arn',
4273        'role_external_id',
4274        'secret_store_id',
4275        'subdomain',
4276        'tags',
4277    ]
4278
4279    def __init__(
4280        self,
4281        allow_resource_role_bypass=None,
4282        bind_interface=None,
4283        certificate_authority=None,
4284        cluster_name=None,
4285        discovery_enabled=None,
4286        discovery_username=None,
4287        egress_filter=None,
4288        endpoint=None,
4289        healthcheck_namespace=None,
4290        healthy=None,
4291        id=None,
4292        identity_alias_healthcheck_username=None,
4293        identity_set_id=None,
4294        name=None,
4295        port_override=None,
4296        proxy_cluster_id=None,
4297        region=None,
4298        role_arn=None,
4299        role_external_id=None,
4300        secret_store_id=None,
4301        subdomain=None,
4302        tags=None,
4303    ):
4304        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4305        '''
4306         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4307         when a resource role is not provided.
4308        '''
4309        self.bind_interface = bind_interface if bind_interface is not None else ''
4310        '''
4311         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4312        '''
4313        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4314        '''
4315         The CA to authenticate TLS connections with.
4316        '''
4317        self.cluster_name = cluster_name if cluster_name is not None else ''
4318        '''
4319         The name of the cluster to connect to.
4320        '''
4321        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4322        '''
4323         If true, configures discovery of a cluster to be run from a node.
4324        '''
4325        self.discovery_username = discovery_username if discovery_username is not None else ''
4326        '''
4327         If a cluster is configured for user impersonation, this is the user to impersonate when
4328         running discovery.
4329        '''
4330        self.egress_filter = egress_filter if egress_filter is not None else ''
4331        '''
4332         A filter applied to the routing logic to pin datasource to nodes.
4333        '''
4334        self.endpoint = endpoint if endpoint is not None else ''
4335        '''
4336         The endpoint to dial.
4337        '''
4338        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4339        '''
4340         The path used to check the health of your connection.  Defaults to `default`.
4341        '''
4342        self.healthy = healthy if healthy is not None else False
4343        '''
4344         True if the datasource is reachable and the credentials are valid.
4345        '''
4346        self.id = id if id is not None else ''
4347        '''
4348         Unique identifier of the Resource.
4349        '''
4350        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4351        '''
4352         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4353        '''
4354        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4355        '''
4356         The ID of the identity set to use for identity connections.
4357        '''
4358        self.name = name if name is not None else ''
4359        '''
4360         Unique human-readable name of the Resource.
4361        '''
4362        self.port_override = port_override if port_override is not None else 0
4363        '''
4364         The local port used by clients to connect to this resource.
4365        '''
4366        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4367        '''
4368         ID of the proxy cluster for this resource, if any.
4369        '''
4370        self.region = region if region is not None else ''
4371        '''
4372         The AWS region to connect to e.g. us-east-1.
4373        '''
4374        self.role_arn = role_arn if role_arn is not None else ''
4375        '''
4376         The role to assume after logging in.
4377        '''
4378        self.role_external_id = role_external_id if role_external_id is not None else ''
4379        '''
4380         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4381        '''
4382        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4383        '''
4384         ID of the secret store containing credentials for this resource, if any.
4385        '''
4386        self.subdomain = subdomain if subdomain is not None else ''
4387        '''
4388         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4389        '''
4390        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4391        '''
4392         Tags is a map of key, value pairs.
4393        '''
4394
4395    def __repr__(self):
4396        return '<sdm.AmazonEKSInstanceProfile ' + \
4397            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4398            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4399            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4400            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4401            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4402            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4403            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4404            'endpoint: ' + repr(self.endpoint) + ' ' +\
4405            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4406            'healthy: ' + repr(self.healthy) + ' ' +\
4407            'id: ' + repr(self.id) + ' ' +\
4408            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4409            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4410            'name: ' + repr(self.name) + ' ' +\
4411            'port_override: ' + repr(self.port_override) + ' ' +\
4412            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4413            'region: ' + repr(self.region) + ' ' +\
4414            'role_arn: ' + repr(self.role_arn) + ' ' +\
4415            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4416            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4417            'subdomain: ' + repr(self.subdomain) + ' ' +\
4418            'tags: ' + repr(self.tags) + ' ' +\
4419            '>'
4420
4421    def to_dict(self):
4422        return {
4423            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4424            'bind_interface': self.bind_interface,
4425            'certificate_authority': self.certificate_authority,
4426            'cluster_name': self.cluster_name,
4427            'discovery_enabled': self.discovery_enabled,
4428            'discovery_username': self.discovery_username,
4429            'egress_filter': self.egress_filter,
4430            'endpoint': self.endpoint,
4431            'healthcheck_namespace': self.healthcheck_namespace,
4432            'healthy': self.healthy,
4433            'id': self.id,
4434            'identity_alias_healthcheck_username':
4435            self.identity_alias_healthcheck_username,
4436            'identity_set_id': self.identity_set_id,
4437            'name': self.name,
4438            'port_override': self.port_override,
4439            'proxy_cluster_id': self.proxy_cluster_id,
4440            'region': self.region,
4441            'role_arn': self.role_arn,
4442            'role_external_id': self.role_external_id,
4443            'secret_store_id': self.secret_store_id,
4444            'subdomain': self.subdomain,
4445            'tags': self.tags,
4446        }
4447
4448    @classmethod
4449    def from_dict(cls, d):
4450        return cls(
4451            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4452            bind_interface=d.get('bind_interface'),
4453            certificate_authority=d.get('certificate_authority'),
4454            cluster_name=d.get('cluster_name'),
4455            discovery_enabled=d.get('discovery_enabled'),
4456            discovery_username=d.get('discovery_username'),
4457            egress_filter=d.get('egress_filter'),
4458            endpoint=d.get('endpoint'),
4459            healthcheck_namespace=d.get('healthcheck_namespace'),
4460            healthy=d.get('healthy'),
4461            id=d.get('id'),
4462            identity_alias_healthcheck_username=d.get(
4463                'identity_alias_healthcheck_username'),
4464            identity_set_id=d.get('identity_set_id'),
4465            name=d.get('name'),
4466            port_override=d.get('port_override'),
4467            proxy_cluster_id=d.get('proxy_cluster_id'),
4468            region=d.get('region'),
4469            role_arn=d.get('role_arn'),
4470            role_external_id=d.get('role_external_id'),
4471            secret_store_id=d.get('secret_store_id'),
4472            subdomain=d.get('subdomain'),
4473            tags=d.get('tags'),
4474        )
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)
4279    def __init__(
4280        self,
4281        allow_resource_role_bypass=None,
4282        bind_interface=None,
4283        certificate_authority=None,
4284        cluster_name=None,
4285        discovery_enabled=None,
4286        discovery_username=None,
4287        egress_filter=None,
4288        endpoint=None,
4289        healthcheck_namespace=None,
4290        healthy=None,
4291        id=None,
4292        identity_alias_healthcheck_username=None,
4293        identity_set_id=None,
4294        name=None,
4295        port_override=None,
4296        proxy_cluster_id=None,
4297        region=None,
4298        role_arn=None,
4299        role_external_id=None,
4300        secret_store_id=None,
4301        subdomain=None,
4302        tags=None,
4303    ):
4304        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4305        '''
4306         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4307         when a resource role is not provided.
4308        '''
4309        self.bind_interface = bind_interface if bind_interface is not None else ''
4310        '''
4311         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4312        '''
4313        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4314        '''
4315         The CA to authenticate TLS connections with.
4316        '''
4317        self.cluster_name = cluster_name if cluster_name is not None else ''
4318        '''
4319         The name of the cluster to connect to.
4320        '''
4321        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4322        '''
4323         If true, configures discovery of a cluster to be run from a node.
4324        '''
4325        self.discovery_username = discovery_username if discovery_username is not None else ''
4326        '''
4327         If a cluster is configured for user impersonation, this is the user to impersonate when
4328         running discovery.
4329        '''
4330        self.egress_filter = egress_filter if egress_filter is not None else ''
4331        '''
4332         A filter applied to the routing logic to pin datasource to nodes.
4333        '''
4334        self.endpoint = endpoint if endpoint is not None else ''
4335        '''
4336         The endpoint to dial.
4337        '''
4338        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4339        '''
4340         The path used to check the health of your connection.  Defaults to `default`.
4341        '''
4342        self.healthy = healthy if healthy is not None else False
4343        '''
4344         True if the datasource is reachable and the credentials are valid.
4345        '''
4346        self.id = id if id is not None else ''
4347        '''
4348         Unique identifier of the Resource.
4349        '''
4350        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4351        '''
4352         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4353        '''
4354        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4355        '''
4356         The ID of the identity set to use for identity connections.
4357        '''
4358        self.name = name if name is not None else ''
4359        '''
4360         Unique human-readable name of the Resource.
4361        '''
4362        self.port_override = port_override if port_override is not None else 0
4363        '''
4364         The local port used by clients to connect to this resource.
4365        '''
4366        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4367        '''
4368         ID of the proxy cluster for this resource, if any.
4369        '''
4370        self.region = region if region is not None else ''
4371        '''
4372         The AWS region to connect to e.g. us-east-1.
4373        '''
4374        self.role_arn = role_arn if role_arn is not None else ''
4375        '''
4376         The role to assume after logging in.
4377        '''
4378        self.role_external_id = role_external_id if role_external_id is not None else ''
4379        '''
4380         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4381        '''
4382        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4383        '''
4384         ID of the secret store containing credentials for this resource, if any.
4385        '''
4386        self.subdomain = subdomain if subdomain is not None else ''
4387        '''
4388         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4389        '''
4390        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4391        '''
4392         Tags is a map of key, value pairs.
4393        '''
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)
4421    def to_dict(self):
4422        return {
4423            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4424            'bind_interface': self.bind_interface,
4425            'certificate_authority': self.certificate_authority,
4426            'cluster_name': self.cluster_name,
4427            'discovery_enabled': self.discovery_enabled,
4428            'discovery_username': self.discovery_username,
4429            'egress_filter': self.egress_filter,
4430            'endpoint': self.endpoint,
4431            'healthcheck_namespace': self.healthcheck_namespace,
4432            'healthy': self.healthy,
4433            'id': self.id,
4434            'identity_alias_healthcheck_username':
4435            self.identity_alias_healthcheck_username,
4436            'identity_set_id': self.identity_set_id,
4437            'name': self.name,
4438            'port_override': self.port_override,
4439            'proxy_cluster_id': self.proxy_cluster_id,
4440            'region': self.region,
4441            'role_arn': self.role_arn,
4442            'role_external_id': self.role_external_id,
4443            'secret_store_id': self.secret_store_id,
4444            'subdomain': self.subdomain,
4445            'tags': self.tags,
4446        }
@classmethod
def from_dict(cls, d)
4448    @classmethod
4449    def from_dict(cls, d):
4450        return cls(
4451            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4452            bind_interface=d.get('bind_interface'),
4453            certificate_authority=d.get('certificate_authority'),
4454            cluster_name=d.get('cluster_name'),
4455            discovery_enabled=d.get('discovery_enabled'),
4456            discovery_username=d.get('discovery_username'),
4457            egress_filter=d.get('egress_filter'),
4458            endpoint=d.get('endpoint'),
4459            healthcheck_namespace=d.get('healthcheck_namespace'),
4460            healthy=d.get('healthy'),
4461            id=d.get('id'),
4462            identity_alias_healthcheck_username=d.get(
4463                'identity_alias_healthcheck_username'),
4464            identity_set_id=d.get('identity_set_id'),
4465            name=d.get('name'),
4466            port_override=d.get('port_override'),
4467            proxy_cluster_id=d.get('proxy_cluster_id'),
4468            region=d.get('region'),
4469            role_arn=d.get('role_arn'),
4470            role_external_id=d.get('role_external_id'),
4471            secret_store_id=d.get('secret_store_id'),
4472            subdomain=d.get('subdomain'),
4473            tags=d.get('tags'),
4474        )
class AmazonEKSInstanceProfileUserImpersonation:
4477class AmazonEKSInstanceProfileUserImpersonation:
4478    __slots__ = [
4479        'bind_interface',
4480        'certificate_authority',
4481        'cluster_name',
4482        'egress_filter',
4483        'endpoint',
4484        'healthcheck_namespace',
4485        'healthy',
4486        'id',
4487        'name',
4488        'port_override',
4489        'proxy_cluster_id',
4490        'region',
4491        'role_arn',
4492        'role_external_id',
4493        'secret_store_id',
4494        'subdomain',
4495        'tags',
4496    ]
4497
4498    def __init__(
4499        self,
4500        bind_interface=None,
4501        certificate_authority=None,
4502        cluster_name=None,
4503        egress_filter=None,
4504        endpoint=None,
4505        healthcheck_namespace=None,
4506        healthy=None,
4507        id=None,
4508        name=None,
4509        port_override=None,
4510        proxy_cluster_id=None,
4511        region=None,
4512        role_arn=None,
4513        role_external_id=None,
4514        secret_store_id=None,
4515        subdomain=None,
4516        tags=None,
4517    ):
4518        self.bind_interface = bind_interface if bind_interface is not None else ''
4519        '''
4520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4521        '''
4522        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4523        '''
4524         The CA to authenticate TLS connections with.
4525        '''
4526        self.cluster_name = cluster_name if cluster_name is not None else ''
4527        '''
4528         The name of the cluster to connect to.
4529        '''
4530        self.egress_filter = egress_filter if egress_filter is not None else ''
4531        '''
4532         A filter applied to the routing logic to pin datasource to nodes.
4533        '''
4534        self.endpoint = endpoint if endpoint is not None else ''
4535        '''
4536         The endpoint to dial.
4537        '''
4538        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4539        '''
4540         The path used to check the health of your connection.  Defaults to `default`.
4541        '''
4542        self.healthy = healthy if healthy is not None else False
4543        '''
4544         True if the datasource is reachable and the credentials are valid.
4545        '''
4546        self.id = id if id is not None else ''
4547        '''
4548         Unique identifier of the Resource.
4549        '''
4550        self.name = name if name is not None else ''
4551        '''
4552         Unique human-readable name of the Resource.
4553        '''
4554        self.port_override = port_override if port_override is not None else 0
4555        '''
4556         The local port used by clients to connect to this resource.
4557        '''
4558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4559        '''
4560         ID of the proxy cluster for this resource, if any.
4561        '''
4562        self.region = region if region is not None else ''
4563        '''
4564         The AWS region to connect to e.g. us-east-1.
4565        '''
4566        self.role_arn = role_arn if role_arn is not None else ''
4567        '''
4568         The role to assume after logging in.
4569        '''
4570        self.role_external_id = role_external_id if role_external_id is not None else ''
4571        '''
4572         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4573        '''
4574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4575        '''
4576         ID of the secret store containing credentials for this resource, if any.
4577        '''
4578        self.subdomain = subdomain if subdomain is not None else ''
4579        '''
4580         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4581        '''
4582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4583        '''
4584         Tags is a map of key, value pairs.
4585        '''
4586
4587    def __repr__(self):
4588        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
4589            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4590            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4591            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4592            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4593            'endpoint: ' + repr(self.endpoint) + ' ' +\
4594            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4595            'healthy: ' + repr(self.healthy) + ' ' +\
4596            'id: ' + repr(self.id) + ' ' +\
4597            'name: ' + repr(self.name) + ' ' +\
4598            'port_override: ' + repr(self.port_override) + ' ' +\
4599            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4600            'region: ' + repr(self.region) + ' ' +\
4601            'role_arn: ' + repr(self.role_arn) + ' ' +\
4602            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4603            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4604            'subdomain: ' + repr(self.subdomain) + ' ' +\
4605            'tags: ' + repr(self.tags) + ' ' +\
4606            '>'
4607
4608    def to_dict(self):
4609        return {
4610            'bind_interface': self.bind_interface,
4611            'certificate_authority': self.certificate_authority,
4612            'cluster_name': self.cluster_name,
4613            'egress_filter': self.egress_filter,
4614            'endpoint': self.endpoint,
4615            'healthcheck_namespace': self.healthcheck_namespace,
4616            'healthy': self.healthy,
4617            'id': self.id,
4618            'name': self.name,
4619            'port_override': self.port_override,
4620            'proxy_cluster_id': self.proxy_cluster_id,
4621            'region': self.region,
4622            'role_arn': self.role_arn,
4623            'role_external_id': self.role_external_id,
4624            'secret_store_id': self.secret_store_id,
4625            'subdomain': self.subdomain,
4626            'tags': self.tags,
4627        }
4628
4629    @classmethod
4630    def from_dict(cls, d):
4631        return cls(
4632            bind_interface=d.get('bind_interface'),
4633            certificate_authority=d.get('certificate_authority'),
4634            cluster_name=d.get('cluster_name'),
4635            egress_filter=d.get('egress_filter'),
4636            endpoint=d.get('endpoint'),
4637            healthcheck_namespace=d.get('healthcheck_namespace'),
4638            healthy=d.get('healthy'),
4639            id=d.get('id'),
4640            name=d.get('name'),
4641            port_override=d.get('port_override'),
4642            proxy_cluster_id=d.get('proxy_cluster_id'),
4643            region=d.get('region'),
4644            role_arn=d.get('role_arn'),
4645            role_external_id=d.get('role_external_id'),
4646            secret_store_id=d.get('secret_store_id'),
4647            subdomain=d.get('subdomain'),
4648            tags=d.get('tags'),
4649        )
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)
4498    def __init__(
4499        self,
4500        bind_interface=None,
4501        certificate_authority=None,
4502        cluster_name=None,
4503        egress_filter=None,
4504        endpoint=None,
4505        healthcheck_namespace=None,
4506        healthy=None,
4507        id=None,
4508        name=None,
4509        port_override=None,
4510        proxy_cluster_id=None,
4511        region=None,
4512        role_arn=None,
4513        role_external_id=None,
4514        secret_store_id=None,
4515        subdomain=None,
4516        tags=None,
4517    ):
4518        self.bind_interface = bind_interface if bind_interface is not None else ''
4519        '''
4520         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4521        '''
4522        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4523        '''
4524         The CA to authenticate TLS connections with.
4525        '''
4526        self.cluster_name = cluster_name if cluster_name is not None else ''
4527        '''
4528         The name of the cluster to connect to.
4529        '''
4530        self.egress_filter = egress_filter if egress_filter is not None else ''
4531        '''
4532         A filter applied to the routing logic to pin datasource to nodes.
4533        '''
4534        self.endpoint = endpoint if endpoint is not None else ''
4535        '''
4536         The endpoint to dial.
4537        '''
4538        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4539        '''
4540         The path used to check the health of your connection.  Defaults to `default`.
4541        '''
4542        self.healthy = healthy if healthy is not None else False
4543        '''
4544         True if the datasource is reachable and the credentials are valid.
4545        '''
4546        self.id = id if id is not None else ''
4547        '''
4548         Unique identifier of the Resource.
4549        '''
4550        self.name = name if name is not None else ''
4551        '''
4552         Unique human-readable name of the Resource.
4553        '''
4554        self.port_override = port_override if port_override is not None else 0
4555        '''
4556         The local port used by clients to connect to this resource.
4557        '''
4558        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4559        '''
4560         ID of the proxy cluster for this resource, if any.
4561        '''
4562        self.region = region if region is not None else ''
4563        '''
4564         The AWS region to connect to e.g. us-east-1.
4565        '''
4566        self.role_arn = role_arn if role_arn is not None else ''
4567        '''
4568         The role to assume after logging in.
4569        '''
4570        self.role_external_id = role_external_id if role_external_id is not None else ''
4571        '''
4572         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4573        '''
4574        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4575        '''
4576         ID of the secret store containing credentials for this resource, if any.
4577        '''
4578        self.subdomain = subdomain if subdomain is not None else ''
4579        '''
4580         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4581        '''
4582        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4583        '''
4584         Tags is a map of key, value pairs.
4585        '''
bind_interface

The bind interface is the IP 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)
4608    def to_dict(self):
4609        return {
4610            'bind_interface': self.bind_interface,
4611            'certificate_authority': self.certificate_authority,
4612            'cluster_name': self.cluster_name,
4613            'egress_filter': self.egress_filter,
4614            'endpoint': self.endpoint,
4615            'healthcheck_namespace': self.healthcheck_namespace,
4616            'healthy': self.healthy,
4617            'id': self.id,
4618            'name': self.name,
4619            'port_override': self.port_override,
4620            'proxy_cluster_id': self.proxy_cluster_id,
4621            'region': self.region,
4622            'role_arn': self.role_arn,
4623            'role_external_id': self.role_external_id,
4624            'secret_store_id': self.secret_store_id,
4625            'subdomain': self.subdomain,
4626            'tags': self.tags,
4627        }
@classmethod
def from_dict(cls, d)
4629    @classmethod
4630    def from_dict(cls, d):
4631        return cls(
4632            bind_interface=d.get('bind_interface'),
4633            certificate_authority=d.get('certificate_authority'),
4634            cluster_name=d.get('cluster_name'),
4635            egress_filter=d.get('egress_filter'),
4636            endpoint=d.get('endpoint'),
4637            healthcheck_namespace=d.get('healthcheck_namespace'),
4638            healthy=d.get('healthy'),
4639            id=d.get('id'),
4640            name=d.get('name'),
4641            port_override=d.get('port_override'),
4642            proxy_cluster_id=d.get('proxy_cluster_id'),
4643            region=d.get('region'),
4644            role_arn=d.get('role_arn'),
4645            role_external_id=d.get('role_external_id'),
4646            secret_store_id=d.get('secret_store_id'),
4647            subdomain=d.get('subdomain'),
4648            tags=d.get('tags'),
4649        )
class AmazonEKSUserImpersonation:
4652class AmazonEKSUserImpersonation:
4653    __slots__ = [
4654        'access_key',
4655        'bind_interface',
4656        'certificate_authority',
4657        'cluster_name',
4658        'egress_filter',
4659        'endpoint',
4660        'healthcheck_namespace',
4661        'healthy',
4662        'id',
4663        'name',
4664        'port_override',
4665        'proxy_cluster_id',
4666        'region',
4667        'role_arn',
4668        'role_external_id',
4669        'secret_access_key',
4670        'secret_store_id',
4671        'subdomain',
4672        'tags',
4673    ]
4674
4675    def __init__(
4676        self,
4677        access_key=None,
4678        bind_interface=None,
4679        certificate_authority=None,
4680        cluster_name=None,
4681        egress_filter=None,
4682        endpoint=None,
4683        healthcheck_namespace=None,
4684        healthy=None,
4685        id=None,
4686        name=None,
4687        port_override=None,
4688        proxy_cluster_id=None,
4689        region=None,
4690        role_arn=None,
4691        role_external_id=None,
4692        secret_access_key=None,
4693        secret_store_id=None,
4694        subdomain=None,
4695        tags=None,
4696    ):
4697        self.access_key = access_key if access_key is not None else ''
4698        '''
4699         The Access Key ID to use to authenticate.
4700        '''
4701        self.bind_interface = bind_interface if bind_interface is not None else ''
4702        '''
4703         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4704        '''
4705        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4706        '''
4707         The CA to authenticate TLS connections with.
4708        '''
4709        self.cluster_name = cluster_name if cluster_name is not None else ''
4710        '''
4711         The name of the cluster to connect to.
4712        '''
4713        self.egress_filter = egress_filter if egress_filter is not None else ''
4714        '''
4715         A filter applied to the routing logic to pin datasource to nodes.
4716        '''
4717        self.endpoint = endpoint if endpoint is not None else ''
4718        '''
4719         The endpoint to dial.
4720        '''
4721        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4722        '''
4723         The path used to check the health of your connection.  Defaults to `default`.
4724        '''
4725        self.healthy = healthy if healthy is not None else False
4726        '''
4727         True if the datasource is reachable and the credentials are valid.
4728        '''
4729        self.id = id if id is not None else ''
4730        '''
4731         Unique identifier of the Resource.
4732        '''
4733        self.name = name if name is not None else ''
4734        '''
4735         Unique human-readable name of the Resource.
4736        '''
4737        self.port_override = port_override if port_override is not None else 0
4738        '''
4739         The local port used by clients to connect to this resource.
4740        '''
4741        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4742        '''
4743         ID of the proxy cluster for this resource, if any.
4744        '''
4745        self.region = region if region is not None else ''
4746        '''
4747         The AWS region to connect to e.g. us-east-1.
4748        '''
4749        self.role_arn = role_arn if role_arn is not None else ''
4750        '''
4751         The role to assume after logging in.
4752        '''
4753        self.role_external_id = role_external_id if role_external_id is not None else ''
4754        '''
4755         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4756        '''
4757        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4758        '''
4759         The Secret Access Key to use to authenticate.
4760        '''
4761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4762        '''
4763         ID of the secret store containing credentials for this resource, if any.
4764        '''
4765        self.subdomain = subdomain if subdomain is not None else ''
4766        '''
4767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4768        '''
4769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4770        '''
4771         Tags is a map of key, value pairs.
4772        '''
4773
4774    def __repr__(self):
4775        return '<sdm.AmazonEKSUserImpersonation ' + \
4776            'access_key: ' + repr(self.access_key) + ' ' +\
4777            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4778            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4779            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4780            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4781            'endpoint: ' + repr(self.endpoint) + ' ' +\
4782            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4783            'healthy: ' + repr(self.healthy) + ' ' +\
4784            'id: ' + repr(self.id) + ' ' +\
4785            'name: ' + repr(self.name) + ' ' +\
4786            'port_override: ' + repr(self.port_override) + ' ' +\
4787            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4788            'region: ' + repr(self.region) + ' ' +\
4789            'role_arn: ' + repr(self.role_arn) + ' ' +\
4790            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4791            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4792            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4793            'subdomain: ' + repr(self.subdomain) + ' ' +\
4794            'tags: ' + repr(self.tags) + ' ' +\
4795            '>'
4796
4797    def to_dict(self):
4798        return {
4799            'access_key': self.access_key,
4800            'bind_interface': self.bind_interface,
4801            'certificate_authority': self.certificate_authority,
4802            'cluster_name': self.cluster_name,
4803            'egress_filter': self.egress_filter,
4804            'endpoint': self.endpoint,
4805            'healthcheck_namespace': self.healthcheck_namespace,
4806            'healthy': self.healthy,
4807            'id': self.id,
4808            'name': self.name,
4809            'port_override': self.port_override,
4810            'proxy_cluster_id': self.proxy_cluster_id,
4811            'region': self.region,
4812            'role_arn': self.role_arn,
4813            'role_external_id': self.role_external_id,
4814            'secret_access_key': self.secret_access_key,
4815            'secret_store_id': self.secret_store_id,
4816            'subdomain': self.subdomain,
4817            'tags': self.tags,
4818        }
4819
4820    @classmethod
4821    def from_dict(cls, d):
4822        return cls(
4823            access_key=d.get('access_key'),
4824            bind_interface=d.get('bind_interface'),
4825            certificate_authority=d.get('certificate_authority'),
4826            cluster_name=d.get('cluster_name'),
4827            egress_filter=d.get('egress_filter'),
4828            endpoint=d.get('endpoint'),
4829            healthcheck_namespace=d.get('healthcheck_namespace'),
4830            healthy=d.get('healthy'),
4831            id=d.get('id'),
4832            name=d.get('name'),
4833            port_override=d.get('port_override'),
4834            proxy_cluster_id=d.get('proxy_cluster_id'),
4835            region=d.get('region'),
4836            role_arn=d.get('role_arn'),
4837            role_external_id=d.get('role_external_id'),
4838            secret_access_key=d.get('secret_access_key'),
4839            secret_store_id=d.get('secret_store_id'),
4840            subdomain=d.get('subdomain'),
4841            tags=d.get('tags'),
4842        )
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)
4675    def __init__(
4676        self,
4677        access_key=None,
4678        bind_interface=None,
4679        certificate_authority=None,
4680        cluster_name=None,
4681        egress_filter=None,
4682        endpoint=None,
4683        healthcheck_namespace=None,
4684        healthy=None,
4685        id=None,
4686        name=None,
4687        port_override=None,
4688        proxy_cluster_id=None,
4689        region=None,
4690        role_arn=None,
4691        role_external_id=None,
4692        secret_access_key=None,
4693        secret_store_id=None,
4694        subdomain=None,
4695        tags=None,
4696    ):
4697        self.access_key = access_key if access_key is not None else ''
4698        '''
4699         The Access Key ID to use to authenticate.
4700        '''
4701        self.bind_interface = bind_interface if bind_interface is not None else ''
4702        '''
4703         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4704        '''
4705        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4706        '''
4707         The CA to authenticate TLS connections with.
4708        '''
4709        self.cluster_name = cluster_name if cluster_name is not None else ''
4710        '''
4711         The name of the cluster to connect to.
4712        '''
4713        self.egress_filter = egress_filter if egress_filter is not None else ''
4714        '''
4715         A filter applied to the routing logic to pin datasource to nodes.
4716        '''
4717        self.endpoint = endpoint if endpoint is not None else ''
4718        '''
4719         The endpoint to dial.
4720        '''
4721        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4722        '''
4723         The path used to check the health of your connection.  Defaults to `default`.
4724        '''
4725        self.healthy = healthy if healthy is not None else False
4726        '''
4727         True if the datasource is reachable and the credentials are valid.
4728        '''
4729        self.id = id if id is not None else ''
4730        '''
4731         Unique identifier of the Resource.
4732        '''
4733        self.name = name if name is not None else ''
4734        '''
4735         Unique human-readable name of the Resource.
4736        '''
4737        self.port_override = port_override if port_override is not None else 0
4738        '''
4739         The local port used by clients to connect to this resource.
4740        '''
4741        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4742        '''
4743         ID of the proxy cluster for this resource, if any.
4744        '''
4745        self.region = region if region is not None else ''
4746        '''
4747         The AWS region to connect to e.g. us-east-1.
4748        '''
4749        self.role_arn = role_arn if role_arn is not None else ''
4750        '''
4751         The role to assume after logging in.
4752        '''
4753        self.role_external_id = role_external_id if role_external_id is not None else ''
4754        '''
4755         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4756        '''
4757        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4758        '''
4759         The Secret Access Key to use to authenticate.
4760        '''
4761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4762        '''
4763         ID of the secret store containing credentials for this resource, if any.
4764        '''
4765        self.subdomain = subdomain if subdomain is not None else ''
4766        '''
4767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4768        '''
4769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4770        '''
4771         Tags is a map of key, value pairs.
4772        '''
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)
4797    def to_dict(self):
4798        return {
4799            'access_key': self.access_key,
4800            'bind_interface': self.bind_interface,
4801            'certificate_authority': self.certificate_authority,
4802            'cluster_name': self.cluster_name,
4803            'egress_filter': self.egress_filter,
4804            'endpoint': self.endpoint,
4805            'healthcheck_namespace': self.healthcheck_namespace,
4806            'healthy': self.healthy,
4807            'id': self.id,
4808            'name': self.name,
4809            'port_override': self.port_override,
4810            'proxy_cluster_id': self.proxy_cluster_id,
4811            'region': self.region,
4812            'role_arn': self.role_arn,
4813            'role_external_id': self.role_external_id,
4814            'secret_access_key': self.secret_access_key,
4815            'secret_store_id': self.secret_store_id,
4816            'subdomain': self.subdomain,
4817            'tags': self.tags,
4818        }
@classmethod
def from_dict(cls, d)
4820    @classmethod
4821    def from_dict(cls, d):
4822        return cls(
4823            access_key=d.get('access_key'),
4824            bind_interface=d.get('bind_interface'),
4825            certificate_authority=d.get('certificate_authority'),
4826            cluster_name=d.get('cluster_name'),
4827            egress_filter=d.get('egress_filter'),
4828            endpoint=d.get('endpoint'),
4829            healthcheck_namespace=d.get('healthcheck_namespace'),
4830            healthy=d.get('healthy'),
4831            id=d.get('id'),
4832            name=d.get('name'),
4833            port_override=d.get('port_override'),
4834            proxy_cluster_id=d.get('proxy_cluster_id'),
4835            region=d.get('region'),
4836            role_arn=d.get('role_arn'),
4837            role_external_id=d.get('role_external_id'),
4838            secret_access_key=d.get('secret_access_key'),
4839            secret_store_id=d.get('secret_store_id'),
4840            subdomain=d.get('subdomain'),
4841            tags=d.get('tags'),
4842        )
class AmazonES:
4845class AmazonES:
4846    __slots__ = [
4847        'access_key',
4848        'bind_interface',
4849        'egress_filter',
4850        'endpoint',
4851        'healthy',
4852        'id',
4853        'name',
4854        'port_override',
4855        'proxy_cluster_id',
4856        'region',
4857        'role_arn',
4858        'role_external_id',
4859        'secret_access_key',
4860        'secret_store_id',
4861        'subdomain',
4862        'tags',
4863    ]
4864
4865    def __init__(
4866        self,
4867        access_key=None,
4868        bind_interface=None,
4869        egress_filter=None,
4870        endpoint=None,
4871        healthy=None,
4872        id=None,
4873        name=None,
4874        port_override=None,
4875        proxy_cluster_id=None,
4876        region=None,
4877        role_arn=None,
4878        role_external_id=None,
4879        secret_access_key=None,
4880        secret_store_id=None,
4881        subdomain=None,
4882        tags=None,
4883    ):
4884        self.access_key = access_key if access_key is not None else ''
4885        '''
4886         The Access Key ID to use to authenticate.
4887        '''
4888        self.bind_interface = bind_interface if bind_interface is not None else ''
4889        '''
4890         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4891        '''
4892        self.egress_filter = egress_filter if egress_filter is not None else ''
4893        '''
4894         A filter applied to the routing logic to pin datasource to nodes.
4895        '''
4896        self.endpoint = endpoint if endpoint is not None else ''
4897        '''
4898         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4899        '''
4900        self.healthy = healthy if healthy is not None else False
4901        '''
4902         True if the datasource is reachable and the credentials are valid.
4903        '''
4904        self.id = id if id is not None else ''
4905        '''
4906         Unique identifier of the Resource.
4907        '''
4908        self.name = name if name is not None else ''
4909        '''
4910         Unique human-readable name of the Resource.
4911        '''
4912        self.port_override = port_override if port_override is not None else 0
4913        '''
4914         The local port used by clients to connect to this resource.
4915        '''
4916        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4917        '''
4918         ID of the proxy cluster for this resource, if any.
4919        '''
4920        self.region = region if region is not None else ''
4921        '''
4922         The AWS region to connect to e.g. us-east-1.
4923        '''
4924        self.role_arn = role_arn if role_arn is not None else ''
4925        '''
4926         The role to assume after logging in.
4927        '''
4928        self.role_external_id = role_external_id if role_external_id is not None else ''
4929        '''
4930         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4931        '''
4932        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4933        '''
4934         The Secret Access Key to use to authenticate.
4935        '''
4936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4937        '''
4938         ID of the secret store containing credentials for this resource, if any.
4939        '''
4940        self.subdomain = subdomain if subdomain is not None else ''
4941        '''
4942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4943        '''
4944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4945        '''
4946         Tags is a map of key, value pairs.
4947        '''
4948
4949    def __repr__(self):
4950        return '<sdm.AmazonES ' + \
4951            'access_key: ' + repr(self.access_key) + ' ' +\
4952            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4953            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4954            'endpoint: ' + repr(self.endpoint) + ' ' +\
4955            'healthy: ' + repr(self.healthy) + ' ' +\
4956            'id: ' + repr(self.id) + ' ' +\
4957            'name: ' + repr(self.name) + ' ' +\
4958            'port_override: ' + repr(self.port_override) + ' ' +\
4959            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4960            'region: ' + repr(self.region) + ' ' +\
4961            'role_arn: ' + repr(self.role_arn) + ' ' +\
4962            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4963            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4964            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4965            'subdomain: ' + repr(self.subdomain) + ' ' +\
4966            'tags: ' + repr(self.tags) + ' ' +\
4967            '>'
4968
4969    def to_dict(self):
4970        return {
4971            'access_key': self.access_key,
4972            'bind_interface': self.bind_interface,
4973            'egress_filter': self.egress_filter,
4974            'endpoint': self.endpoint,
4975            'healthy': self.healthy,
4976            'id': self.id,
4977            'name': self.name,
4978            'port_override': self.port_override,
4979            'proxy_cluster_id': self.proxy_cluster_id,
4980            'region': self.region,
4981            'role_arn': self.role_arn,
4982            'role_external_id': self.role_external_id,
4983            'secret_access_key': self.secret_access_key,
4984            'secret_store_id': self.secret_store_id,
4985            'subdomain': self.subdomain,
4986            'tags': self.tags,
4987        }
4988
4989    @classmethod
4990    def from_dict(cls, d):
4991        return cls(
4992            access_key=d.get('access_key'),
4993            bind_interface=d.get('bind_interface'),
4994            egress_filter=d.get('egress_filter'),
4995            endpoint=d.get('endpoint'),
4996            healthy=d.get('healthy'),
4997            id=d.get('id'),
4998            name=d.get('name'),
4999            port_override=d.get('port_override'),
5000            proxy_cluster_id=d.get('proxy_cluster_id'),
5001            region=d.get('region'),
5002            role_arn=d.get('role_arn'),
5003            role_external_id=d.get('role_external_id'),
5004            secret_access_key=d.get('secret_access_key'),
5005            secret_store_id=d.get('secret_store_id'),
5006            subdomain=d.get('subdomain'),
5007            tags=d.get('tags'),
5008        )
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)
4865    def __init__(
4866        self,
4867        access_key=None,
4868        bind_interface=None,
4869        egress_filter=None,
4870        endpoint=None,
4871        healthy=None,
4872        id=None,
4873        name=None,
4874        port_override=None,
4875        proxy_cluster_id=None,
4876        region=None,
4877        role_arn=None,
4878        role_external_id=None,
4879        secret_access_key=None,
4880        secret_store_id=None,
4881        subdomain=None,
4882        tags=None,
4883    ):
4884        self.access_key = access_key if access_key is not None else ''
4885        '''
4886         The Access Key ID to use to authenticate.
4887        '''
4888        self.bind_interface = bind_interface if bind_interface is not None else ''
4889        '''
4890         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
4891        '''
4892        self.egress_filter = egress_filter if egress_filter is not None else ''
4893        '''
4894         A filter applied to the routing logic to pin datasource to nodes.
4895        '''
4896        self.endpoint = endpoint if endpoint is not None else ''
4897        '''
4898         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
4899        '''
4900        self.healthy = healthy if healthy is not None else False
4901        '''
4902         True if the datasource is reachable and the credentials are valid.
4903        '''
4904        self.id = id if id is not None else ''
4905        '''
4906         Unique identifier of the Resource.
4907        '''
4908        self.name = name if name is not None else ''
4909        '''
4910         Unique human-readable name of the Resource.
4911        '''
4912        self.port_override = port_override if port_override is not None else 0
4913        '''
4914         The local port used by clients to connect to this resource.
4915        '''
4916        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4917        '''
4918         ID of the proxy cluster for this resource, if any.
4919        '''
4920        self.region = region if region is not None else ''
4921        '''
4922         The AWS region to connect to e.g. us-east-1.
4923        '''
4924        self.role_arn = role_arn if role_arn is not None else ''
4925        '''
4926         The role to assume after logging in.
4927        '''
4928        self.role_external_id = role_external_id if role_external_id is not None else ''
4929        '''
4930         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4931        '''
4932        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4933        '''
4934         The Secret Access Key to use to authenticate.
4935        '''
4936        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4937        '''
4938         ID of the secret store containing credentials for this resource, if any.
4939        '''
4940        self.subdomain = subdomain if subdomain is not None else ''
4941        '''
4942         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
4943        '''
4944        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4945        '''
4946         Tags is a map of key, value pairs.
4947        '''
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)
4969    def to_dict(self):
4970        return {
4971            'access_key': self.access_key,
4972            'bind_interface': self.bind_interface,
4973            'egress_filter': self.egress_filter,
4974            'endpoint': self.endpoint,
4975            'healthy': self.healthy,
4976            'id': self.id,
4977            'name': self.name,
4978            'port_override': self.port_override,
4979            'proxy_cluster_id': self.proxy_cluster_id,
4980            'region': self.region,
4981            'role_arn': self.role_arn,
4982            'role_external_id': self.role_external_id,
4983            'secret_access_key': self.secret_access_key,
4984            'secret_store_id': self.secret_store_id,
4985            'subdomain': self.subdomain,
4986            'tags': self.tags,
4987        }
@classmethod
def from_dict(cls, d)
4989    @classmethod
4990    def from_dict(cls, d):
4991        return cls(
4992            access_key=d.get('access_key'),
4993            bind_interface=d.get('bind_interface'),
4994            egress_filter=d.get('egress_filter'),
4995            endpoint=d.get('endpoint'),
4996            healthy=d.get('healthy'),
4997            id=d.get('id'),
4998            name=d.get('name'),
4999            port_override=d.get('port_override'),
5000            proxy_cluster_id=d.get('proxy_cluster_id'),
5001            region=d.get('region'),
5002            role_arn=d.get('role_arn'),
5003            role_external_id=d.get('role_external_id'),
5004            secret_access_key=d.get('secret_access_key'),
5005            secret_store_id=d.get('secret_store_id'),
5006            subdomain=d.get('subdomain'),
5007            tags=d.get('tags'),
5008        )
class AmazonESIAM:
5011class AmazonESIAM:
5012    __slots__ = [
5013        'bind_interface',
5014        'egress_filter',
5015        'endpoint',
5016        'healthy',
5017        'id',
5018        'name',
5019        'port_override',
5020        'proxy_cluster_id',
5021        'region',
5022        'role_arn',
5023        'role_external_id',
5024        'secret_store_id',
5025        'subdomain',
5026        'tags',
5027        'tlsrequired',
5028    ]
5029
5030    def __init__(
5031        self,
5032        bind_interface=None,
5033        egress_filter=None,
5034        endpoint=None,
5035        healthy=None,
5036        id=None,
5037        name=None,
5038        port_override=None,
5039        proxy_cluster_id=None,
5040        region=None,
5041        role_arn=None,
5042        role_external_id=None,
5043        secret_store_id=None,
5044        subdomain=None,
5045        tags=None,
5046        tlsrequired=None,
5047    ):
5048        self.bind_interface = bind_interface if bind_interface is not None else ''
5049        '''
5050         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5051        '''
5052        self.egress_filter = egress_filter if egress_filter is not None else ''
5053        '''
5054         A filter applied to the routing logic to pin datasource to nodes.
5055        '''
5056        self.endpoint = endpoint if endpoint is not None else ''
5057        '''
5058         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5059        '''
5060        self.healthy = healthy if healthy is not None else False
5061        '''
5062         True if the datasource is reachable and the credentials are valid.
5063        '''
5064        self.id = id if id is not None else ''
5065        '''
5066         Unique identifier of the Resource.
5067        '''
5068        self.name = name if name is not None else ''
5069        '''
5070         Unique human-readable name of the Resource.
5071        '''
5072        self.port_override = port_override if port_override is not None else 0
5073        '''
5074         The local port used by clients to connect to this resource.
5075        '''
5076        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5077        '''
5078         ID of the proxy cluster for this resource, if any.
5079        '''
5080        self.region = region if region is not None else ''
5081        '''
5082         The AWS region to connect to.
5083        '''
5084        self.role_arn = role_arn if role_arn is not None else ''
5085        '''
5086         The role to assume after logging in.
5087        '''
5088        self.role_external_id = role_external_id if role_external_id is not None else ''
5089        '''
5090         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5091        '''
5092        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5093        '''
5094         ID of the secret store containing credentials for this resource, if any.
5095        '''
5096        self.subdomain = subdomain if subdomain is not None else ''
5097        '''
5098         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5099        '''
5100        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5101        '''
5102         Tags is a map of key, value pairs.
5103        '''
5104        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5105        '''
5106         Use TLS to connect to the OpenSearch server
5107        '''
5108
5109    def __repr__(self):
5110        return '<sdm.AmazonESIAM ' + \
5111            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5112            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5113            'endpoint: ' + repr(self.endpoint) + ' ' +\
5114            'healthy: ' + repr(self.healthy) + ' ' +\
5115            'id: ' + repr(self.id) + ' ' +\
5116            'name: ' + repr(self.name) + ' ' +\
5117            'port_override: ' + repr(self.port_override) + ' ' +\
5118            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5119            'region: ' + repr(self.region) + ' ' +\
5120            'role_arn: ' + repr(self.role_arn) + ' ' +\
5121            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5122            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5123            'subdomain: ' + repr(self.subdomain) + ' ' +\
5124            'tags: ' + repr(self.tags) + ' ' +\
5125            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
5126            '>'
5127
5128    def to_dict(self):
5129        return {
5130            'bind_interface': self.bind_interface,
5131            'egress_filter': self.egress_filter,
5132            'endpoint': self.endpoint,
5133            'healthy': self.healthy,
5134            'id': self.id,
5135            'name': self.name,
5136            'port_override': self.port_override,
5137            'proxy_cluster_id': self.proxy_cluster_id,
5138            'region': self.region,
5139            'role_arn': self.role_arn,
5140            'role_external_id': self.role_external_id,
5141            'secret_store_id': self.secret_store_id,
5142            'subdomain': self.subdomain,
5143            'tags': self.tags,
5144            'tlsrequired': self.tlsrequired,
5145        }
5146
5147    @classmethod
5148    def from_dict(cls, d):
5149        return cls(
5150            bind_interface=d.get('bind_interface'),
5151            egress_filter=d.get('egress_filter'),
5152            endpoint=d.get('endpoint'),
5153            healthy=d.get('healthy'),
5154            id=d.get('id'),
5155            name=d.get('name'),
5156            port_override=d.get('port_override'),
5157            proxy_cluster_id=d.get('proxy_cluster_id'),
5158            region=d.get('region'),
5159            role_arn=d.get('role_arn'),
5160            role_external_id=d.get('role_external_id'),
5161            secret_store_id=d.get('secret_store_id'),
5162            subdomain=d.get('subdomain'),
5163            tags=d.get('tags'),
5164            tlsrequired=d.get('tlsrequired'),
5165        )
AmazonESIAM( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None, tlsrequired=None)
5030    def __init__(
5031        self,
5032        bind_interface=None,
5033        egress_filter=None,
5034        endpoint=None,
5035        healthy=None,
5036        id=None,
5037        name=None,
5038        port_override=None,
5039        proxy_cluster_id=None,
5040        region=None,
5041        role_arn=None,
5042        role_external_id=None,
5043        secret_store_id=None,
5044        subdomain=None,
5045        tags=None,
5046        tlsrequired=None,
5047    ):
5048        self.bind_interface = bind_interface if bind_interface is not None else ''
5049        '''
5050         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
5051        '''
5052        self.egress_filter = egress_filter if egress_filter is not None else ''
5053        '''
5054         A filter applied to the routing logic to pin datasource to nodes.
5055        '''
5056        self.endpoint = endpoint if endpoint is not None else ''
5057        '''
5058         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5059        '''
5060        self.healthy = healthy if healthy is not None else False
5061        '''
5062         True if the datasource is reachable and the credentials are valid.
5063        '''
5064        self.id = id if id is not None else ''
5065        '''
5066         Unique identifier of the Resource.
5067        '''
5068        self.name = name if name is not None else ''
5069        '''
5070         Unique human-readable name of the Resource.
5071        '''
5072        self.port_override = port_override if port_override is not None else 0
5073        '''
5074         The local port used by clients to connect to this resource.
5075        '''
5076        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5077        '''
5078         ID of the proxy cluster for this resource, if any.
5079        '''
5080        self.region = region if region is not None else ''
5081        '''
5082         The AWS region to connect to.
5083        '''
5084        self.role_arn = role_arn if role_arn is not None else ''
5085        '''
5086         The role to assume after logging in.
5087        '''
5088        self.role_external_id = role_external_id if role_external_id is not None else ''
5089        '''
5090         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5091        '''
5092        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5093        '''
5094         ID of the secret store containing credentials for this resource, if any.
5095        '''
5096        self.subdomain = subdomain if subdomain is not None else ''
5097        '''
5098         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
5099        '''
5100        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5101        '''
5102         Tags is a map of key, value pairs.
5103        '''
5104        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5105        '''
5106         Use TLS to connect to the OpenSearch server
5107        '''
bind_interface

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

egress_filter

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

endpoint

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tlsrequired

Use TLS to connect to the OpenSearch server

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

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

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

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

The approver account id.

reference

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

role_id

The approver role id

def to_dict(self)
5362    def to_dict(self):
5363        return {
5364            'account_id': self.account_id,
5365            'reference': self.reference,
5366            'role_id': self.role_id,
5367        }
@classmethod
def from_dict(cls, d)
5369    @classmethod
5370    def from_dict(cls, d):
5371        return cls(
5372            account_id=d.get('account_id'),
5373            reference=d.get('reference'),
5374            role_id=d.get('role_id'),
5375        )
class ApprovalFlowStep:
5378class ApprovalFlowStep:
5379    '''
5380         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
5381    '''
5382    __slots__ = [
5383        'approvers',
5384        'quantifier',
5385        'skip_after',
5386    ]
5387
5388    def __init__(
5389        self,
5390        approvers=None,
5391        quantifier=None,
5392        skip_after=None,
5393    ):
5394        self.approvers = approvers if approvers is not None else []
5395        '''
5396         The approvers for this approval step
5397        '''
5398        self.quantifier = quantifier if quantifier is not None else ''
5399        '''
5400         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
5401        '''
5402        self.skip_after = skip_after if skip_after is not None else None
5403        '''
5404         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
5405        '''
5406
5407    def __repr__(self):
5408        return '<sdm.ApprovalFlowStep ' + \
5409            'approvers: ' + repr(self.approvers) + ' ' +\
5410            'quantifier: ' + repr(self.quantifier) + ' ' +\
5411            'skip_after: ' + repr(self.skip_after) + ' ' +\
5412            '>'
5413
5414    def to_dict(self):
5415        return {
5416            'approvers': self.approvers,
5417            'quantifier': self.quantifier,
5418            'skip_after': self.skip_after,
5419        }
5420
5421    @classmethod
5422    def from_dict(cls, d):
5423        return cls(
5424            approvers=d.get('approvers'),
5425            quantifier=d.get('quantifier'),
5426            skip_after=d.get('skip_after'),
5427        )

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

ApprovalFlowStep(approvers=None, quantifier=None, skip_after=None)
5388    def __init__(
5389        self,
5390        approvers=None,
5391        quantifier=None,
5392        skip_after=None,
5393    ):
5394        self.approvers = approvers if approvers is not None else []
5395        '''
5396         The approvers for this approval step
5397        '''
5398        self.quantifier = quantifier if quantifier is not None else ''
5399        '''
5400         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
5401        '''
5402        self.skip_after = skip_after if skip_after is not None else None
5403        '''
5404         Duration after which this approval step will be skipped if no approval is given. Optional, if not provided an approver must approve before the step passes.
5405        '''
approvers

The approvers for this approval step

quantifier

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

skip_after

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

def to_dict(self)
5414    def to_dict(self):
5415        return {
5416            'approvers': self.approvers,
5417            'quantifier': self.quantifier,
5418            'skip_after': self.skip_after,
5419        }
@classmethod
def from_dict(cls, d)
5421    @classmethod
5422    def from_dict(cls, d):
5423        return cls(
5424            approvers=d.get('approvers'),
5425            quantifier=d.get('quantifier'),
5426            skip_after=d.get('skip_after'),
5427        )
class ApprovalWorkflow:
5430class ApprovalWorkflow:
5431    '''
5432         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
5433     approvers and be approved or denied.
5434    '''
5435    __slots__ = [
5436        'approval_mode',
5437        'approval_workflow_steps',
5438        'description',
5439        'id',
5440        'name',
5441    ]
5442
5443    def __init__(
5444        self,
5445        approval_mode=None,
5446        approval_workflow_steps=None,
5447        description=None,
5448        id=None,
5449        name=None,
5450    ):
5451        self.approval_mode = approval_mode if approval_mode is not None else ''
5452        '''
5453         Approval mode of the ApprovalWorkflow
5454        '''
5455        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
5456        '''
5457         The approval steps of this approval workflow
5458        '''
5459        self.description = description if description is not None else ''
5460        '''
5461         Optional description of the ApprovalWorkflow.
5462        '''
5463        self.id = id if id is not None else ''
5464        '''
5465         Unique identifier of the ApprovalWorkflow.
5466        '''
5467        self.name = name if name is not None else ''
5468        '''
5469         Unique human-readable name of the ApprovalWorkflow.
5470        '''
5471
5472    def __repr__(self):
5473        return '<sdm.ApprovalWorkflow ' + \
5474            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
5475            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
5476            'description: ' + repr(self.description) + ' ' +\
5477            'id: ' + repr(self.id) + ' ' +\
5478            'name: ' + repr(self.name) + ' ' +\
5479            '>'
5480
5481    def to_dict(self):
5482        return {
5483            'approval_mode': self.approval_mode,
5484            'approval_workflow_steps': self.approval_workflow_steps,
5485            'description': self.description,
5486            'id': self.id,
5487            'name': self.name,
5488        }
5489
5490    @classmethod
5491    def from_dict(cls, d):
5492        return cls(
5493            approval_mode=d.get('approval_mode'),
5494            approval_workflow_steps=d.get('approval_workflow_steps'),
5495            description=d.get('description'),
5496            id=d.get('id'),
5497            name=d.get('name'),
5498        )

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

ApprovalWorkflow( approval_mode=None, approval_workflow_steps=None, description=None, id=None, name=None)
5443    def __init__(
5444        self,
5445        approval_mode=None,
5446        approval_workflow_steps=None,
5447        description=None,
5448        id=None,
5449        name=None,
5450    ):
5451        self.approval_mode = approval_mode if approval_mode is not None else ''
5452        '''
5453         Approval mode of the ApprovalWorkflow
5454        '''
5455        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
5456        '''
5457         The approval steps of this approval workflow
5458        '''
5459        self.description = description if description is not None else ''
5460        '''
5461         Optional description of the ApprovalWorkflow.
5462        '''
5463        self.id = id if id is not None else ''
5464        '''
5465         Unique identifier of the ApprovalWorkflow.
5466        '''
5467        self.name = name if name is not None else ''
5468        '''
5469         Unique human-readable name of the ApprovalWorkflow.
5470        '''
approval_mode

Approval mode of the ApprovalWorkflow

approval_workflow_steps

The approval steps of this approval workflow

description

Optional description of the ApprovalWorkflow.

id

Unique identifier of the ApprovalWorkflow.

name

Unique human-readable name of the ApprovalWorkflow.

def to_dict(self)
5481    def to_dict(self):
5482        return {
5483            'approval_mode': self.approval_mode,
5484            'approval_workflow_steps': self.approval_workflow_steps,
5485            'description': self.description,
5486            'id': self.id,
5487            'name': self.name,
5488        }
@classmethod
def from_dict(cls, d)
5490    @classmethod
5491    def from_dict(cls, d):
5492        return cls(
5493            approval_mode=d.get('approval_mode'),
5494            approval_workflow_steps=d.get('approval_workflow_steps'),
5495            description=d.get('description'),
5496            id=d.get('id'),
5497            name=d.get('name'),
5498        )
class ApprovalWorkflowApprover:
5501class ApprovalWorkflowApprover:
5502    '''
5503         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
5504    '''
5505    __slots__ = [
5506        'account_id',
5507        'approval_flow_id',
5508        'approval_step_id',
5509        'id',
5510        'reference',
5511        'role_id',
5512    ]
5513
5514    def __init__(
5515        self,
5516        account_id=None,
5517        approval_flow_id=None,
5518        approval_step_id=None,
5519        id=None,
5520        reference=None,
5521        role_id=None,
5522    ):
5523        self.account_id = account_id if account_id is not None else ''
5524        '''
5525         The approver account id.
5526        '''
5527        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5528        '''
5529         The approval flow id specified the approval workflow that this approver belongs to
5530        '''
5531        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5532        '''
5533         The approval step id specified the approval flow step that this approver belongs to
5534        '''
5535        self.id = id if id is not None else ''
5536        '''
5537         Unique identifier of the ApprovalWorkflowApprover.
5538        '''
5539        self.reference = reference if reference is not None else ''
5540        '''
5541         A reference to an approver. Will be one of ApproverReference constants.
5542         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
5543         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
5544        '''
5545        self.role_id = role_id if role_id is not None else ''
5546        '''
5547         The approver role id
5548        '''
5549
5550    def __repr__(self):
5551        return '<sdm.ApprovalWorkflowApprover ' + \
5552            'account_id: ' + repr(self.account_id) + ' ' +\
5553            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
5554            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
5555            'id: ' + repr(self.id) + ' ' +\
5556            'reference: ' + repr(self.reference) + ' ' +\
5557            'role_id: ' + repr(self.role_id) + ' ' +\
5558            '>'
5559
5560    def to_dict(self):
5561        return {
5562            'account_id': self.account_id,
5563            'approval_flow_id': self.approval_flow_id,
5564            'approval_step_id': self.approval_step_id,
5565            'id': self.id,
5566            'reference': self.reference,
5567            'role_id': self.role_id,
5568        }
5569
5570    @classmethod
5571    def from_dict(cls, d):
5572        return cls(
5573            account_id=d.get('account_id'),
5574            approval_flow_id=d.get('approval_flow_id'),
5575            approval_step_id=d.get('approval_step_id'),
5576            id=d.get('id'),
5577            reference=d.get('reference'),
5578            role_id=d.get('role_id'),
5579        )

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep

ApprovalWorkflowApprover( account_id=None, approval_flow_id=None, approval_step_id=None, id=None, reference=None, role_id=None)
5514    def __init__(
5515        self,
5516        account_id=None,
5517        approval_flow_id=None,
5518        approval_step_id=None,
5519        id=None,
5520        reference=None,
5521        role_id=None,
5522    ):
5523        self.account_id = account_id if account_id is not None else ''
5524        '''
5525         The approver account id.
5526        '''
5527        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
5528        '''
5529         The approval flow id specified the approval workflow that this approver belongs to
5530        '''
5531        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
5532        '''
5533         The approval step id specified the approval flow step that this approver belongs to
5534        '''
5535        self.id = id if id is not None else ''
5536        '''
5537         Unique identifier of the ApprovalWorkflowApprover.
5538        '''
5539        self.reference = reference if reference is not None else ''
5540        '''
5541         A reference to an approver. Will be one of ApproverReference constants.
5542         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
5543         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
5544        '''
5545        self.role_id = role_id if role_id is not None else ''
5546        '''
5547         The approver role id
5548        '''
account_id

The approver account id.

approval_flow_id

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

approval_step_id

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

id

Unique identifier of the ApprovalWorkflowApprover.

reference

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

role_id

The approver role id

def to_dict(self)
5560    def to_dict(self):
5561        return {
5562            'account_id': self.account_id,
5563            'approval_flow_id': self.approval_flow_id,
5564            'approval_step_id': self.approval_step_id,
5565            'id': self.id,
5566            'reference': self.reference,
5567            'role_id': self.role_id,
5568        }
@classmethod
def from_dict(cls, d)
5570    @classmethod
5571    def from_dict(cls, d):
5572        return cls(
5573            account_id=d.get('account_id'),
5574            approval_flow_id=d.get('approval_flow_id'),
5575            approval_step_id=d.get('approval_step_id'),
5576            id=d.get('id'),
5577            reference=d.get('reference'),
5578            role_id=d.get('role_id'),
5579        )
class ApprovalWorkflowApproverCreateResponse:
5582class ApprovalWorkflowApproverCreateResponse:
5583    '''
5584         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
5585    '''
5586    __slots__ = [
5587        'approval_workflow_approver',
5588        'rate_limit',
5589    ]
5590
5591    def __init__(
5592        self,
5593        approval_workflow_approver=None,
5594        rate_limit=None,
5595    ):
5596        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
5597        '''
5598         The created approval workflow approver.
5599        '''
5600        self.rate_limit = rate_limit if rate_limit is not None else None
5601        '''
5602         Rate limit information.
5603        '''
5604
5605    def __repr__(self):
5606        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
5607            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
5608            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
5609            '>'
5610
5611    def to_dict(self):
5612        return {
5613            'approval_workflow_approver': self.approval_workflow_approver,
5614            'rate_limit': self.rate_limit,
5615        }
5616
5617    @classmethod
5618    def from_dict(cls, d):
5619        return cls(
5620            approval_workflow_approver=d.get('approval_workflow_approver'),
5621            rate_limit=d.get('rate_limit'),
5622        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

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

The created approval workflow approver.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

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

The deleted approval workflow approver id.

rate_limit

Rate limit information.

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

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

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

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

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

The created approval workflow.

rate_limit

Rate limit information.

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

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

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

The deleted approval workflow id.

rate_limit

Rate limit information.

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

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

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

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow

ApprovalWorkflowStep( approval_flow_id=None, id=None, quantifier=None, skip_after=None, step_order=None)
6064    def __init__(
6065        self,
6066        approval_flow_id=None,
6067        id=None,
6068        quantifier=None,
6069        skip_after=None,
6070        step_order=None,
6071    ):
6072        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6073        '''
6074         The approval flow id specified the approval workflow that this step belongs to
6075        '''
6076        self.id = id if id is not None else ''
6077        '''
6078         Unique identifier of the ApprovalWorkflowStep.
6079        '''
6080        self.quantifier = quantifier if quantifier is not None else ''
6081        '''
6082         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6083        '''
6084        self.skip_after = skip_after if skip_after is not None else None
6085        '''
6086         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6087        '''
6088        self.step_order = step_order if step_order is not None else 0
6089        '''
6090         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6091        '''
approval_flow_id

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

id

Unique identifier of the ApprovalWorkflowStep.

quantifier

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

skip_after

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

step_order

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

def to_dict(self)
6102    def to_dict(self):
6103        return {
6104            'approval_flow_id': self.approval_flow_id,
6105            'id': self.id,
6106            'quantifier': self.quantifier,
6107            'skip_after': self.skip_after,
6108            'step_order': self.step_order,
6109        }
@classmethod
def from_dict(cls, d)
6111    @classmethod
6112    def from_dict(cls, d):
6113        return cls(
6114            approval_flow_id=d.get('approval_flow_id'),
6115            id=d.get('id'),
6116            quantifier=d.get('quantifier'),
6117            skip_after=d.get('skip_after'),
6118            step_order=d.get('step_order'),
6119        )
class ApprovalWorkflowStepCreateResponse:
6122class ApprovalWorkflowStepCreateResponse:
6123    '''
6124         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
6125    '''
6126    __slots__ = [
6127        'approval_workflow_step',
6128        'rate_limit',
6129    ]
6130
6131    def __init__(
6132        self,
6133        approval_workflow_step=None,
6134        rate_limit=None,
6135    ):
6136        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6137        '''
6138         The created approval workflow step.
6139        '''
6140        self.rate_limit = rate_limit if rate_limit is not None else None
6141        '''
6142         Rate limit information.
6143        '''
6144
6145    def __repr__(self):
6146        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
6147            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6148            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6149            '>'
6150
6151    def to_dict(self):
6152        return {
6153            'approval_workflow_step': self.approval_workflow_step,
6154            'rate_limit': self.rate_limit,
6155        }
6156
6157    @classmethod
6158    def from_dict(cls, d):
6159        return cls(
6160            approval_workflow_step=d.get('approval_workflow_step'),
6161            rate_limit=d.get('rate_limit'),
6162        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

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

The created approval workflow step.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

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

The deleted approval workflow step id.

rate_limit

Rate limit information.

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

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

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

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

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

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

Rate limit information.

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

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

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

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
6387    def to_dict(self):
6388        return {
6389            'approval_workflow': self.approval_workflow,
6390            'rate_limit': self.rate_limit,
6391        }
@classmethod
def from_dict(cls, d)
6393    @classmethod
6394    def from_dict(cls, d):
6395        return cls(
6396            approval_workflow=d.get('approval_workflow'),
6397            rate_limit=d.get('rate_limit'),
6398        )
class Athena:
6401class Athena:
6402    __slots__ = [
6403        'access_key',
6404        'bind_interface',
6405        'egress_filter',
6406        'healthy',
6407        'id',
6408        'name',
6409        'output',
6410        'port_override',
6411        'proxy_cluster_id',
6412        'region',
6413        'role_arn',
6414        'role_external_id',
6415        'secret_access_key',
6416        'secret_store_id',
6417        'subdomain',
6418        'tags',
6419    ]
6420
6421    def __init__(
6422        self,
6423        access_key=None,
6424        bind_interface=None,
6425        egress_filter=None,
6426        healthy=None,
6427        id=None,
6428        name=None,
6429        output=None,
6430        port_override=None,
6431        proxy_cluster_id=None,
6432        region=None,
6433        role_arn=None,
6434        role_external_id=None,
6435        secret_access_key=None,
6436        secret_store_id=None,
6437        subdomain=None,
6438        tags=None,
6439    ):
6440        self.access_key = access_key if access_key is not None else ''
6441        '''
6442         The Access Key ID to use to authenticate.
6443        '''
6444        self.bind_interface = bind_interface if bind_interface is not None else ''
6445        '''
6446         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6447        '''
6448        self.egress_filter = egress_filter if egress_filter is not None else ''
6449        '''
6450         A filter applied to the routing logic to pin datasource to nodes.
6451        '''
6452        self.healthy = healthy if healthy is not None else False
6453        '''
6454         True if the datasource is reachable and the credentials are valid.
6455        '''
6456        self.id = id if id is not None else ''
6457        '''
6458         Unique identifier of the Resource.
6459        '''
6460        self.name = name if name is not None else ''
6461        '''
6462         Unique human-readable name of the Resource.
6463        '''
6464        self.output = output if output is not None else ''
6465        '''
6466         The AWS S3 output location.
6467        '''
6468        self.port_override = port_override if port_override is not None else 0
6469        '''
6470         The local port used by clients to connect to this resource.
6471        '''
6472        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6473        '''
6474         ID of the proxy cluster for this resource, if any.
6475        '''
6476        self.region = region if region is not None else ''
6477        '''
6478         The AWS region to connect to e.g. us-east-1.
6479        '''
6480        self.role_arn = role_arn if role_arn is not None else ''
6481        '''
6482         The role to assume after logging in.
6483        '''
6484        self.role_external_id = role_external_id if role_external_id is not None else ''
6485        '''
6486         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6487        '''
6488        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
6489        '''
6490         The Secret Access Key to use to authenticate.
6491        '''
6492        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6493        '''
6494         ID of the secret store containing credentials for this resource, if any.
6495        '''
6496        self.subdomain = subdomain if subdomain is not None else ''
6497        '''
6498         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6499        '''
6500        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6501        '''
6502         Tags is a map of key, value pairs.
6503        '''
6504
6505    def __repr__(self):
6506        return '<sdm.Athena ' + \
6507            'access_key: ' + repr(self.access_key) + ' ' +\
6508            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6509            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6510            'healthy: ' + repr(self.healthy) + ' ' +\
6511            'id: ' + repr(self.id) + ' ' +\
6512            'name: ' + repr(self.name) + ' ' +\
6513            'output: ' + repr(self.output) + ' ' +\
6514            'port_override: ' + repr(self.port_override) + ' ' +\
6515            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6516            'region: ' + repr(self.region) + ' ' +\
6517            'role_arn: ' + repr(self.role_arn) + ' ' +\
6518            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
6519            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
6520            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6521            'subdomain: ' + repr(self.subdomain) + ' ' +\
6522            'tags: ' + repr(self.tags) + ' ' +\
6523            '>'
6524
6525    def to_dict(self):
6526        return {
6527            'access_key': self.access_key,
6528            'bind_interface': self.bind_interface,
6529            'egress_filter': self.egress_filter,
6530            'healthy': self.healthy,
6531            'id': self.id,
6532            'name': self.name,
6533            'output': self.output,
6534            'port_override': self.port_override,
6535            'proxy_cluster_id': self.proxy_cluster_id,
6536            'region': self.region,
6537            'role_arn': self.role_arn,
6538            'role_external_id': self.role_external_id,
6539            'secret_access_key': self.secret_access_key,
6540            'secret_store_id': self.secret_store_id,
6541            'subdomain': self.subdomain,
6542            'tags': self.tags,
6543        }
6544
6545    @classmethod
6546    def from_dict(cls, d):
6547        return cls(
6548            access_key=d.get('access_key'),
6549            bind_interface=d.get('bind_interface'),
6550            egress_filter=d.get('egress_filter'),
6551            healthy=d.get('healthy'),
6552            id=d.get('id'),
6553            name=d.get('name'),
6554            output=d.get('output'),
6555            port_override=d.get('port_override'),
6556            proxy_cluster_id=d.get('proxy_cluster_id'),
6557            region=d.get('region'),
6558            role_arn=d.get('role_arn'),
6559            role_external_id=d.get('role_external_id'),
6560            secret_access_key=d.get('secret_access_key'),
6561            secret_store_id=d.get('secret_store_id'),
6562            subdomain=d.get('subdomain'),
6563            tags=d.get('tags'),
6564        )
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)
6421    def __init__(
6422        self,
6423        access_key=None,
6424        bind_interface=None,
6425        egress_filter=None,
6426        healthy=None,
6427        id=None,
6428        name=None,
6429        output=None,
6430        port_override=None,
6431        proxy_cluster_id=None,
6432        region=None,
6433        role_arn=None,
6434        role_external_id=None,
6435        secret_access_key=None,
6436        secret_store_id=None,
6437        subdomain=None,
6438        tags=None,
6439    ):
6440        self.access_key = access_key if access_key is not None else ''
6441        '''
6442         The Access Key ID to use to authenticate.
6443        '''
6444        self.bind_interface = bind_interface if bind_interface is not None else ''
6445        '''
6446         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6447        '''
6448        self.egress_filter = egress_filter if egress_filter is not None else ''
6449        '''
6450         A filter applied to the routing logic to pin datasource to nodes.
6451        '''
6452        self.healthy = healthy if healthy is not None else False
6453        '''
6454         True if the datasource is reachable and the credentials are valid.
6455        '''
6456        self.id = id if id is not None else ''
6457        '''
6458         Unique identifier of the Resource.
6459        '''
6460        self.name = name if name is not None else ''
6461        '''
6462         Unique human-readable name of the Resource.
6463        '''
6464        self.output = output if output is not None else ''
6465        '''
6466         The AWS S3 output location.
6467        '''
6468        self.port_override = port_override if port_override is not None else 0
6469        '''
6470         The local port used by clients to connect to this resource.
6471        '''
6472        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6473        '''
6474         ID of the proxy cluster for this resource, if any.
6475        '''
6476        self.region = region if region is not None else ''
6477        '''
6478         The AWS region to connect to e.g. us-east-1.
6479        '''
6480        self.role_arn = role_arn if role_arn is not None else ''
6481        '''
6482         The role to assume after logging in.
6483        '''
6484        self.role_external_id = role_external_id if role_external_id is not None else ''
6485        '''
6486         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6487        '''
6488        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
6489        '''
6490         The Secret Access Key to use to authenticate.
6491        '''
6492        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6493        '''
6494         ID of the secret store containing credentials for this resource, if any.
6495        '''
6496        self.subdomain = subdomain if subdomain is not None else ''
6497        '''
6498         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6499        '''
6500        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6501        '''
6502         Tags is a map of key, value pairs.
6503        '''
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)
6525    def to_dict(self):
6526        return {
6527            'access_key': self.access_key,
6528            'bind_interface': self.bind_interface,
6529            'egress_filter': self.egress_filter,
6530            'healthy': self.healthy,
6531            'id': self.id,
6532            'name': self.name,
6533            'output': self.output,
6534            'port_override': self.port_override,
6535            'proxy_cluster_id': self.proxy_cluster_id,
6536            'region': self.region,
6537            'role_arn': self.role_arn,
6538            'role_external_id': self.role_external_id,
6539            'secret_access_key': self.secret_access_key,
6540            'secret_store_id': self.secret_store_id,
6541            'subdomain': self.subdomain,
6542            'tags': self.tags,
6543        }
@classmethod
def from_dict(cls, d)
6545    @classmethod
6546    def from_dict(cls, d):
6547        return cls(
6548            access_key=d.get('access_key'),
6549            bind_interface=d.get('bind_interface'),
6550            egress_filter=d.get('egress_filter'),
6551            healthy=d.get('healthy'),
6552            id=d.get('id'),
6553            name=d.get('name'),
6554            output=d.get('output'),
6555            port_override=d.get('port_override'),
6556            proxy_cluster_id=d.get('proxy_cluster_id'),
6557            region=d.get('region'),
6558            role_arn=d.get('role_arn'),
6559            role_external_id=d.get('role_external_id'),
6560            secret_access_key=d.get('secret_access_key'),
6561            secret_store_id=d.get('secret_store_id'),
6562            subdomain=d.get('subdomain'),
6563            tags=d.get('tags'),
6564        )
class AthenaIAM:
6567class AthenaIAM:
6568    __slots__ = [
6569        'bind_interface',
6570        'egress_filter',
6571        'healthy',
6572        'id',
6573        'name',
6574        'output',
6575        'port_override',
6576        'proxy_cluster_id',
6577        'region',
6578        'role_arn',
6579        'role_external_id',
6580        'secret_store_id',
6581        'subdomain',
6582        'tags',
6583    ]
6584
6585    def __init__(
6586        self,
6587        bind_interface=None,
6588        egress_filter=None,
6589        healthy=None,
6590        id=None,
6591        name=None,
6592        output=None,
6593        port_override=None,
6594        proxy_cluster_id=None,
6595        region=None,
6596        role_arn=None,
6597        role_external_id=None,
6598        secret_store_id=None,
6599        subdomain=None,
6600        tags=None,
6601    ):
6602        self.bind_interface = bind_interface if bind_interface is not None else ''
6603        '''
6604         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6605        '''
6606        self.egress_filter = egress_filter if egress_filter is not None else ''
6607        '''
6608         A filter applied to the routing logic to pin datasource to nodes.
6609        '''
6610        self.healthy = healthy if healthy is not None else False
6611        '''
6612         True if the datasource is reachable and the credentials are valid.
6613        '''
6614        self.id = id if id is not None else ''
6615        '''
6616         Unique identifier of the Resource.
6617        '''
6618        self.name = name if name is not None else ''
6619        '''
6620         Unique human-readable name of the Resource.
6621        '''
6622        self.output = output if output is not None else ''
6623        '''
6624         The AWS S3 output location.
6625        '''
6626        self.port_override = port_override if port_override is not None else 0
6627        '''
6628         The local port used by clients to connect to this resource.
6629        '''
6630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6631        '''
6632         ID of the proxy cluster for this resource, if any.
6633        '''
6634        self.region = region if region is not None else ''
6635        '''
6636         The AWS region to connect to e.g. us-east-1.
6637        '''
6638        self.role_arn = role_arn if role_arn is not None else ''
6639        '''
6640         The role to assume after logging in.
6641        '''
6642        self.role_external_id = role_external_id if role_external_id is not None else ''
6643        '''
6644         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6645        '''
6646        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6647        '''
6648         ID of the secret store containing credentials for this resource, if any.
6649        '''
6650        self.subdomain = subdomain if subdomain is not None else ''
6651        '''
6652         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6653        '''
6654        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6655        '''
6656         Tags is a map of key, value pairs.
6657        '''
6658
6659    def __repr__(self):
6660        return '<sdm.AthenaIAM ' + \
6661            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
6662            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
6663            'healthy: ' + repr(self.healthy) + ' ' +\
6664            'id: ' + repr(self.id) + ' ' +\
6665            'name: ' + repr(self.name) + ' ' +\
6666            'output: ' + repr(self.output) + ' ' +\
6667            'port_override: ' + repr(self.port_override) + ' ' +\
6668            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
6669            'region: ' + repr(self.region) + ' ' +\
6670            'role_arn: ' + repr(self.role_arn) + ' ' +\
6671            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
6672            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
6673            'subdomain: ' + repr(self.subdomain) + ' ' +\
6674            'tags: ' + repr(self.tags) + ' ' +\
6675            '>'
6676
6677    def to_dict(self):
6678        return {
6679            'bind_interface': self.bind_interface,
6680            'egress_filter': self.egress_filter,
6681            'healthy': self.healthy,
6682            'id': self.id,
6683            'name': self.name,
6684            'output': self.output,
6685            'port_override': self.port_override,
6686            'proxy_cluster_id': self.proxy_cluster_id,
6687            'region': self.region,
6688            'role_arn': self.role_arn,
6689            'role_external_id': self.role_external_id,
6690            'secret_store_id': self.secret_store_id,
6691            'subdomain': self.subdomain,
6692            'tags': self.tags,
6693        }
6694
6695    @classmethod
6696    def from_dict(cls, d):
6697        return cls(
6698            bind_interface=d.get('bind_interface'),
6699            egress_filter=d.get('egress_filter'),
6700            healthy=d.get('healthy'),
6701            id=d.get('id'),
6702            name=d.get('name'),
6703            output=d.get('output'),
6704            port_override=d.get('port_override'),
6705            proxy_cluster_id=d.get('proxy_cluster_id'),
6706            region=d.get('region'),
6707            role_arn=d.get('role_arn'),
6708            role_external_id=d.get('role_external_id'),
6709            secret_store_id=d.get('secret_store_id'),
6710            subdomain=d.get('subdomain'),
6711            tags=d.get('tags'),
6712        )
AthenaIAM( bind_interface=None, egress_filter=None, healthy=None, id=None, name=None, output=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
6585    def __init__(
6586        self,
6587        bind_interface=None,
6588        egress_filter=None,
6589        healthy=None,
6590        id=None,
6591        name=None,
6592        output=None,
6593        port_override=None,
6594        proxy_cluster_id=None,
6595        region=None,
6596        role_arn=None,
6597        role_external_id=None,
6598        secret_store_id=None,
6599        subdomain=None,
6600        tags=None,
6601    ):
6602        self.bind_interface = bind_interface if bind_interface is not None else ''
6603        '''
6604         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6605        '''
6606        self.egress_filter = egress_filter if egress_filter is not None else ''
6607        '''
6608         A filter applied to the routing logic to pin datasource to nodes.
6609        '''
6610        self.healthy = healthy if healthy is not None else False
6611        '''
6612         True if the datasource is reachable and the credentials are valid.
6613        '''
6614        self.id = id if id is not None else ''
6615        '''
6616         Unique identifier of the Resource.
6617        '''
6618        self.name = name if name is not None else ''
6619        '''
6620         Unique human-readable name of the Resource.
6621        '''
6622        self.output = output if output is not None else ''
6623        '''
6624         The AWS S3 output location.
6625        '''
6626        self.port_override = port_override if port_override is not None else 0
6627        '''
6628         The local port used by clients to connect to this resource.
6629        '''
6630        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
6631        '''
6632         ID of the proxy cluster for this resource, if any.
6633        '''
6634        self.region = region if region is not None else ''
6635        '''
6636         The AWS region to connect to e.g. us-east-1.
6637        '''
6638        self.role_arn = role_arn if role_arn is not None else ''
6639        '''
6640         The role to assume after logging in.
6641        '''
6642        self.role_external_id = role_external_id if role_external_id is not None else ''
6643        '''
6644         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
6645        '''
6646        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
6647        '''
6648         ID of the secret store containing credentials for this resource, if any.
6649        '''
6650        self.subdomain = subdomain if subdomain is not None else ''
6651        '''
6652         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6653        '''
6654        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
6655        '''
6656         Tags is a map of key, value pairs.
6657        '''
bind_interface

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

output

The AWS S3 output location.

port_override

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

proxy_cluster_id

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

region

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

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

database

The database for healthchecks. Does not affect client requests

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_assumption_arn

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

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

The bind interface is the IP 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)
7355    def to_dict(self):
7356        return {
7357            'bind_interface': self.bind_interface,
7358            'database': self.database,
7359            'egress_filter': self.egress_filter,
7360            'healthy': self.healthy,
7361            'hostname': self.hostname,
7362            'id': self.id,
7363            'name': self.name,
7364            'override_database': self.override_database,
7365            'port': self.port,
7366            'port_override': self.port_override,
7367            'proxy_cluster_id': self.proxy_cluster_id,
7368            'region': self.region,
7369            'role_assumption_arn': self.role_assumption_arn,
7370            'secret_store_id': self.secret_store_id,
7371            'subdomain': self.subdomain,
7372            'tags': self.tags,
7373            'username': self.username,
7374        }
@classmethod
def from_dict(cls, d)
7376    @classmethod
7377    def from_dict(cls, d):
7378        return cls(
7379            bind_interface=d.get('bind_interface'),
7380            database=d.get('database'),
7381            egress_filter=d.get('egress_filter'),
7382            healthy=d.get('healthy'),
7383            hostname=d.get('hostname'),
7384            id=d.get('id'),
7385            name=d.get('name'),
7386            override_database=d.get('override_database'),
7387            port=d.get('port'),
7388            port_override=d.get('port_override'),
7389            proxy_cluster_id=d.get('proxy_cluster_id'),
7390            region=d.get('region'),
7391            role_assumption_arn=d.get('role_assumption_arn'),
7392            secret_store_id=d.get('secret_store_id'),
7393            subdomain=d.get('subdomain'),
7394            tags=d.get('tags'),
7395            username=d.get('username'),
7396        )
class Azure:
7399class Azure:
7400    __slots__ = [
7401        'app_id',
7402        'bind_interface',
7403        'egress_filter',
7404        'healthy',
7405        'id',
7406        'name',
7407        'password',
7408        'port_override',
7409        'proxy_cluster_id',
7410        'secret_store_id',
7411        'subdomain',
7412        'tags',
7413        'tenant_id',
7414    ]
7415
7416    def __init__(
7417        self,
7418        app_id=None,
7419        bind_interface=None,
7420        egress_filter=None,
7421        healthy=None,
7422        id=None,
7423        name=None,
7424        password=None,
7425        port_override=None,
7426        proxy_cluster_id=None,
7427        secret_store_id=None,
7428        subdomain=None,
7429        tags=None,
7430        tenant_id=None,
7431    ):
7432        self.app_id = app_id if app_id is not None else ''
7433        '''
7434         The application ID to authenticate with.
7435        '''
7436        self.bind_interface = bind_interface if bind_interface is not None else ''
7437        '''
7438         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7439        '''
7440        self.egress_filter = egress_filter if egress_filter is not None else ''
7441        '''
7442         A filter applied to the routing logic to pin datasource to nodes.
7443        '''
7444        self.healthy = healthy if healthy is not None else False
7445        '''
7446         True if the datasource is reachable and the credentials are valid.
7447        '''
7448        self.id = id if id is not None else ''
7449        '''
7450         Unique identifier of the Resource.
7451        '''
7452        self.name = name if name is not None else ''
7453        '''
7454         Unique human-readable name of the Resource.
7455        '''
7456        self.password = password if password is not None else ''
7457        '''
7458         The password to authenticate with.
7459        '''
7460        self.port_override = port_override if port_override is not None else 0
7461        '''
7462         The local port used by clients to connect to this resource.
7463        '''
7464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7465        '''
7466         ID of the proxy cluster for this resource, if any.
7467        '''
7468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7469        '''
7470         ID of the secret store containing credentials for this resource, if any.
7471        '''
7472        self.subdomain = subdomain if subdomain is not None else ''
7473        '''
7474         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7475        '''
7476        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7477        '''
7478         Tags is a map of key, value pairs.
7479        '''
7480        self.tenant_id = tenant_id if tenant_id is not None else ''
7481        '''
7482         The tenant ID to authenticate to.
7483        '''
7484
7485    def __repr__(self):
7486        return '<sdm.Azure ' + \
7487            'app_id: ' + repr(self.app_id) + ' ' +\
7488            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7489            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7490            'healthy: ' + repr(self.healthy) + ' ' +\
7491            'id: ' + repr(self.id) + ' ' +\
7492            'name: ' + repr(self.name) + ' ' +\
7493            'password: ' + repr(self.password) + ' ' +\
7494            'port_override: ' + repr(self.port_override) + ' ' +\
7495            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7496            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7497            'subdomain: ' + repr(self.subdomain) + ' ' +\
7498            'tags: ' + repr(self.tags) + ' ' +\
7499            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
7500            '>'
7501
7502    def to_dict(self):
7503        return {
7504            'app_id': self.app_id,
7505            'bind_interface': self.bind_interface,
7506            'egress_filter': self.egress_filter,
7507            'healthy': self.healthy,
7508            'id': self.id,
7509            'name': self.name,
7510            'password': self.password,
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            'tenant_id': self.tenant_id,
7517        }
7518
7519    @classmethod
7520    def from_dict(cls, d):
7521        return cls(
7522            app_id=d.get('app_id'),
7523            bind_interface=d.get('bind_interface'),
7524            egress_filter=d.get('egress_filter'),
7525            healthy=d.get('healthy'),
7526            id=d.get('id'),
7527            name=d.get('name'),
7528            password=d.get('password'),
7529            port_override=d.get('port_override'),
7530            proxy_cluster_id=d.get('proxy_cluster_id'),
7531            secret_store_id=d.get('secret_store_id'),
7532            subdomain=d.get('subdomain'),
7533            tags=d.get('tags'),
7534            tenant_id=d.get('tenant_id'),
7535        )
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)
7416    def __init__(
7417        self,
7418        app_id=None,
7419        bind_interface=None,
7420        egress_filter=None,
7421        healthy=None,
7422        id=None,
7423        name=None,
7424        password=None,
7425        port_override=None,
7426        proxy_cluster_id=None,
7427        secret_store_id=None,
7428        subdomain=None,
7429        tags=None,
7430        tenant_id=None,
7431    ):
7432        self.app_id = app_id if app_id is not None else ''
7433        '''
7434         The application ID to authenticate with.
7435        '''
7436        self.bind_interface = bind_interface if bind_interface is not None else ''
7437        '''
7438         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7439        '''
7440        self.egress_filter = egress_filter if egress_filter is not None else ''
7441        '''
7442         A filter applied to the routing logic to pin datasource to nodes.
7443        '''
7444        self.healthy = healthy if healthy is not None else False
7445        '''
7446         True if the datasource is reachable and the credentials are valid.
7447        '''
7448        self.id = id if id is not None else ''
7449        '''
7450         Unique identifier of the Resource.
7451        '''
7452        self.name = name if name is not None else ''
7453        '''
7454         Unique human-readable name of the Resource.
7455        '''
7456        self.password = password if password is not None else ''
7457        '''
7458         The password to authenticate with.
7459        '''
7460        self.port_override = port_override if port_override is not None else 0
7461        '''
7462         The local port used by clients to connect to this resource.
7463        '''
7464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7465        '''
7466         ID of the proxy cluster for this resource, if any.
7467        '''
7468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7469        '''
7470         ID of the secret store containing credentials for this resource, if any.
7471        '''
7472        self.subdomain = subdomain if subdomain is not None else ''
7473        '''
7474         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7475        '''
7476        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7477        '''
7478         Tags is a map of key, value pairs.
7479        '''
7480        self.tenant_id = tenant_id if tenant_id is not None else ''
7481        '''
7482         The tenant ID to authenticate to.
7483        '''
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)
7502    def to_dict(self):
7503        return {
7504            'app_id': self.app_id,
7505            'bind_interface': self.bind_interface,
7506            'egress_filter': self.egress_filter,
7507            'healthy': self.healthy,
7508            'id': self.id,
7509            'name': self.name,
7510            'password': self.password,
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            'tenant_id': self.tenant_id,
7517        }
@classmethod
def from_dict(cls, d)
7519    @classmethod
7520    def from_dict(cls, d):
7521        return cls(
7522            app_id=d.get('app_id'),
7523            bind_interface=d.get('bind_interface'),
7524            egress_filter=d.get('egress_filter'),
7525            healthy=d.get('healthy'),
7526            id=d.get('id'),
7527            name=d.get('name'),
7528            password=d.get('password'),
7529            port_override=d.get('port_override'),
7530            proxy_cluster_id=d.get('proxy_cluster_id'),
7531            secret_store_id=d.get('secret_store_id'),
7532            subdomain=d.get('subdomain'),
7533            tags=d.get('tags'),
7534            tenant_id=d.get('tenant_id'),
7535        )
class AzureCertificate:
7538class AzureCertificate:
7539    __slots__ = [
7540        'app_id',
7541        'bind_interface',
7542        'client_certificate',
7543        'egress_filter',
7544        'healthy',
7545        'id',
7546        'name',
7547        'port_override',
7548        'proxy_cluster_id',
7549        'secret_store_id',
7550        'subdomain',
7551        'tags',
7552        'tenant_id',
7553    ]
7554
7555    def __init__(
7556        self,
7557        app_id=None,
7558        bind_interface=None,
7559        client_certificate=None,
7560        egress_filter=None,
7561        healthy=None,
7562        id=None,
7563        name=None,
7564        port_override=None,
7565        proxy_cluster_id=None,
7566        secret_store_id=None,
7567        subdomain=None,
7568        tags=None,
7569        tenant_id=None,
7570    ):
7571        self.app_id = app_id if app_id is not None else ''
7572        '''
7573         The application ID to authenticate with.
7574        '''
7575        self.bind_interface = bind_interface if bind_interface is not None else ''
7576        '''
7577         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7578        '''
7579        self.client_certificate = client_certificate if client_certificate is not None else ''
7580        '''
7581         The service Principal certificate file, both private and public key included.
7582        '''
7583        self.egress_filter = egress_filter if egress_filter is not None else ''
7584        '''
7585         A filter applied to the routing logic to pin datasource to nodes.
7586        '''
7587        self.healthy = healthy if healthy is not None else False
7588        '''
7589         True if the datasource is reachable and the credentials are valid.
7590        '''
7591        self.id = id if id is not None else ''
7592        '''
7593         Unique identifier of the Resource.
7594        '''
7595        self.name = name if name is not None else ''
7596        '''
7597         Unique human-readable name of the Resource.
7598        '''
7599        self.port_override = port_override if port_override is not None else 0
7600        '''
7601         The local port used by clients to connect to this resource.
7602        '''
7603        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7604        '''
7605         ID of the proxy cluster for this resource, if any.
7606        '''
7607        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7608        '''
7609         ID of the secret store containing credentials for this resource, if any.
7610        '''
7611        self.subdomain = subdomain if subdomain is not None else ''
7612        '''
7613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7614        '''
7615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7616        '''
7617         Tags is a map of key, value pairs.
7618        '''
7619        self.tenant_id = tenant_id if tenant_id is not None else ''
7620        '''
7621         The tenant ID to authenticate to.
7622        '''
7623
7624    def __repr__(self):
7625        return '<sdm.AzureCertificate ' + \
7626            'app_id: ' + repr(self.app_id) + ' ' +\
7627            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7628            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
7629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7630            'healthy: ' + repr(self.healthy) + ' ' +\
7631            'id: ' + repr(self.id) + ' ' +\
7632            'name: ' + repr(self.name) + ' ' +\
7633            'port_override: ' + repr(self.port_override) + ' ' +\
7634            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7635            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7636            'subdomain: ' + repr(self.subdomain) + ' ' +\
7637            'tags: ' + repr(self.tags) + ' ' +\
7638            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
7639            '>'
7640
7641    def to_dict(self):
7642        return {
7643            'app_id': self.app_id,
7644            'bind_interface': self.bind_interface,
7645            'client_certificate': self.client_certificate,
7646            'egress_filter': self.egress_filter,
7647            'healthy': self.healthy,
7648            'id': self.id,
7649            'name': self.name,
7650            'port_override': self.port_override,
7651            'proxy_cluster_id': self.proxy_cluster_id,
7652            'secret_store_id': self.secret_store_id,
7653            'subdomain': self.subdomain,
7654            'tags': self.tags,
7655            'tenant_id': self.tenant_id,
7656        }
7657
7658    @classmethod
7659    def from_dict(cls, d):
7660        return cls(
7661            app_id=d.get('app_id'),
7662            bind_interface=d.get('bind_interface'),
7663            client_certificate=d.get('client_certificate'),
7664            egress_filter=d.get('egress_filter'),
7665            healthy=d.get('healthy'),
7666            id=d.get('id'),
7667            name=d.get('name'),
7668            port_override=d.get('port_override'),
7669            proxy_cluster_id=d.get('proxy_cluster_id'),
7670            secret_store_id=d.get('secret_store_id'),
7671            subdomain=d.get('subdomain'),
7672            tags=d.get('tags'),
7673            tenant_id=d.get('tenant_id'),
7674        )
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)
7555    def __init__(
7556        self,
7557        app_id=None,
7558        bind_interface=None,
7559        client_certificate=None,
7560        egress_filter=None,
7561        healthy=None,
7562        id=None,
7563        name=None,
7564        port_override=None,
7565        proxy_cluster_id=None,
7566        secret_store_id=None,
7567        subdomain=None,
7568        tags=None,
7569        tenant_id=None,
7570    ):
7571        self.app_id = app_id if app_id is not None else ''
7572        '''
7573         The application ID to authenticate with.
7574        '''
7575        self.bind_interface = bind_interface if bind_interface is not None else ''
7576        '''
7577         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7578        '''
7579        self.client_certificate = client_certificate if client_certificate is not None else ''
7580        '''
7581         The service Principal certificate file, both private and public key included.
7582        '''
7583        self.egress_filter = egress_filter if egress_filter is not None else ''
7584        '''
7585         A filter applied to the routing logic to pin datasource to nodes.
7586        '''
7587        self.healthy = healthy if healthy is not None else False
7588        '''
7589         True if the datasource is reachable and the credentials are valid.
7590        '''
7591        self.id = id if id is not None else ''
7592        '''
7593         Unique identifier of the Resource.
7594        '''
7595        self.name = name if name is not None else ''
7596        '''
7597         Unique human-readable name of the Resource.
7598        '''
7599        self.port_override = port_override if port_override is not None else 0
7600        '''
7601         The local port used by clients to connect to this resource.
7602        '''
7603        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7604        '''
7605         ID of the proxy cluster for this resource, if any.
7606        '''
7607        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7608        '''
7609         ID of the secret store containing credentials for this resource, if any.
7610        '''
7611        self.subdomain = subdomain if subdomain is not None else ''
7612        '''
7613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7614        '''
7615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7616        '''
7617         Tags is a map of key, value pairs.
7618        '''
7619        self.tenant_id = tenant_id if tenant_id is not None else ''
7620        '''
7621         The tenant ID to authenticate to.
7622        '''
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)
7641    def to_dict(self):
7642        return {
7643            'app_id': self.app_id,
7644            'bind_interface': self.bind_interface,
7645            'client_certificate': self.client_certificate,
7646            'egress_filter': self.egress_filter,
7647            'healthy': self.healthy,
7648            'id': self.id,
7649            'name': self.name,
7650            'port_override': self.port_override,
7651            'proxy_cluster_id': self.proxy_cluster_id,
7652            'secret_store_id': self.secret_store_id,
7653            'subdomain': self.subdomain,
7654            'tags': self.tags,
7655            'tenant_id': self.tenant_id,
7656        }
@classmethod
def from_dict(cls, d)
7658    @classmethod
7659    def from_dict(cls, d):
7660        return cls(
7661            app_id=d.get('app_id'),
7662            bind_interface=d.get('bind_interface'),
7663            client_certificate=d.get('client_certificate'),
7664            egress_filter=d.get('egress_filter'),
7665            healthy=d.get('healthy'),
7666            id=d.get('id'),
7667            name=d.get('name'),
7668            port_override=d.get('port_override'),
7669            proxy_cluster_id=d.get('proxy_cluster_id'),
7670            secret_store_id=d.get('secret_store_id'),
7671            subdomain=d.get('subdomain'),
7672            tags=d.get('tags'),
7673            tenant_id=d.get('tenant_id'),
7674        )
class AzureMysql:
7677class AzureMysql:
7678    __slots__ = [
7679        'bind_interface',
7680        'database',
7681        'egress_filter',
7682        'healthy',
7683        'hostname',
7684        'id',
7685        'name',
7686        'password',
7687        'port',
7688        'port_override',
7689        'proxy_cluster_id',
7690        'require_native_auth',
7691        'secret_store_id',
7692        'subdomain',
7693        'tags',
7694        'use_azure_single_server_usernames',
7695        'username',
7696    ]
7697
7698    def __init__(
7699        self,
7700        bind_interface=None,
7701        database=None,
7702        egress_filter=None,
7703        healthy=None,
7704        hostname=None,
7705        id=None,
7706        name=None,
7707        password=None,
7708        port=None,
7709        port_override=None,
7710        proxy_cluster_id=None,
7711        require_native_auth=None,
7712        secret_store_id=None,
7713        subdomain=None,
7714        tags=None,
7715        use_azure_single_server_usernames=None,
7716        username=None,
7717    ):
7718        self.bind_interface = bind_interface if bind_interface is not None else ''
7719        '''
7720         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7721        '''
7722        self.database = database if database is not None else ''
7723        '''
7724         The database for healthchecks. Does not affect client requests.
7725        '''
7726        self.egress_filter = egress_filter if egress_filter is not None else ''
7727        '''
7728         A filter applied to the routing logic to pin datasource to nodes.
7729        '''
7730        self.healthy = healthy if healthy is not None else False
7731        '''
7732         True if the datasource is reachable and the credentials are valid.
7733        '''
7734        self.hostname = hostname if hostname is not None else ''
7735        '''
7736         The host to dial to initiate a connection from the egress node to this resource.
7737        '''
7738        self.id = id if id is not None else ''
7739        '''
7740         Unique identifier of the Resource.
7741        '''
7742        self.name = name if name is not None else ''
7743        '''
7744         Unique human-readable name of the Resource.
7745        '''
7746        self.password = password if password is not None else ''
7747        '''
7748         The password to authenticate with.
7749        '''
7750        self.port = port if port is not None else 0
7751        '''
7752         The port to dial to initiate a connection from the egress node to this resource.
7753        '''
7754        self.port_override = port_override if port_override is not None else 0
7755        '''
7756         The local port used by clients to connect to this resource.
7757        '''
7758        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7759        '''
7760         ID of the proxy cluster for this resource, if any.
7761        '''
7762        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7763        '''
7764         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7765        '''
7766        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7767        '''
7768         ID of the secret store containing credentials for this resource, if any.
7769        '''
7770        self.subdomain = subdomain if subdomain is not None else ''
7771        '''
7772         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7773        '''
7774        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7775        '''
7776         Tags is a map of key, value pairs.
7777        '''
7778        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7779        '''
7780         If true, appends the hostname to the username when hitting a database.azure.com address
7781        '''
7782        self.username = username if username is not None else ''
7783        '''
7784         The username to authenticate with.
7785        '''
7786
7787    def __repr__(self):
7788        return '<sdm.AzureMysql ' + \
7789            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7790            'database: ' + repr(self.database) + ' ' +\
7791            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7792            'healthy: ' + repr(self.healthy) + ' ' +\
7793            'hostname: ' + repr(self.hostname) + ' ' +\
7794            'id: ' + repr(self.id) + ' ' +\
7795            'name: ' + repr(self.name) + ' ' +\
7796            'password: ' + repr(self.password) + ' ' +\
7797            'port: ' + repr(self.port) + ' ' +\
7798            'port_override: ' + repr(self.port_override) + ' ' +\
7799            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7800            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7801            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7802            'subdomain: ' + repr(self.subdomain) + ' ' +\
7803            'tags: ' + repr(self.tags) + ' ' +\
7804            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7805            'username: ' + repr(self.username) + ' ' +\
7806            '>'
7807
7808    def to_dict(self):
7809        return {
7810            'bind_interface': self.bind_interface,
7811            'database': self.database,
7812            'egress_filter': self.egress_filter,
7813            'healthy': self.healthy,
7814            'hostname': self.hostname,
7815            'id': self.id,
7816            'name': self.name,
7817            'password': self.password,
7818            'port': self.port,
7819            'port_override': self.port_override,
7820            'proxy_cluster_id': self.proxy_cluster_id,
7821            'require_native_auth': self.require_native_auth,
7822            'secret_store_id': self.secret_store_id,
7823            'subdomain': self.subdomain,
7824            'tags': self.tags,
7825            'use_azure_single_server_usernames':
7826            self.use_azure_single_server_usernames,
7827            'username': self.username,
7828        }
7829
7830    @classmethod
7831    def from_dict(cls, d):
7832        return cls(
7833            bind_interface=d.get('bind_interface'),
7834            database=d.get('database'),
7835            egress_filter=d.get('egress_filter'),
7836            healthy=d.get('healthy'),
7837            hostname=d.get('hostname'),
7838            id=d.get('id'),
7839            name=d.get('name'),
7840            password=d.get('password'),
7841            port=d.get('port'),
7842            port_override=d.get('port_override'),
7843            proxy_cluster_id=d.get('proxy_cluster_id'),
7844            require_native_auth=d.get('require_native_auth'),
7845            secret_store_id=d.get('secret_store_id'),
7846            subdomain=d.get('subdomain'),
7847            tags=d.get('tags'),
7848            use_azure_single_server_usernames=d.get(
7849                'use_azure_single_server_usernames'),
7850            username=d.get('username'),
7851        )
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)
7698    def __init__(
7699        self,
7700        bind_interface=None,
7701        database=None,
7702        egress_filter=None,
7703        healthy=None,
7704        hostname=None,
7705        id=None,
7706        name=None,
7707        password=None,
7708        port=None,
7709        port_override=None,
7710        proxy_cluster_id=None,
7711        require_native_auth=None,
7712        secret_store_id=None,
7713        subdomain=None,
7714        tags=None,
7715        use_azure_single_server_usernames=None,
7716        username=None,
7717    ):
7718        self.bind_interface = bind_interface if bind_interface is not None else ''
7719        '''
7720         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
7721        '''
7722        self.database = database if database is not None else ''
7723        '''
7724         The database for healthchecks. Does not affect client requests.
7725        '''
7726        self.egress_filter = egress_filter if egress_filter is not None else ''
7727        '''
7728         A filter applied to the routing logic to pin datasource to nodes.
7729        '''
7730        self.healthy = healthy if healthy is not None else False
7731        '''
7732         True if the datasource is reachable and the credentials are valid.
7733        '''
7734        self.hostname = hostname if hostname is not None else ''
7735        '''
7736         The host to dial to initiate a connection from the egress node to this resource.
7737        '''
7738        self.id = id if id is not None else ''
7739        '''
7740         Unique identifier of the Resource.
7741        '''
7742        self.name = name if name is not None else ''
7743        '''
7744         Unique human-readable name of the Resource.
7745        '''
7746        self.password = password if password is not None else ''
7747        '''
7748         The password to authenticate with.
7749        '''
7750        self.port = port if port is not None else 0
7751        '''
7752         The port to dial to initiate a connection from the egress node to this resource.
7753        '''
7754        self.port_override = port_override if port_override is not None else 0
7755        '''
7756         The local port used by clients to connect to this resource.
7757        '''
7758        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7759        '''
7760         ID of the proxy cluster for this resource, if any.
7761        '''
7762        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7763        '''
7764         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7765        '''
7766        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7767        '''
7768         ID of the secret store containing credentials for this resource, if any.
7769        '''
7770        self.subdomain = subdomain if subdomain is not None else ''
7771        '''
7772         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
7773        '''
7774        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7775        '''
7776         Tags is a map of key, value pairs.
7777        '''
7778        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7779        '''
7780         If true, appends the hostname to the username when hitting a database.azure.com address
7781        '''
7782        self.username = username if username is not None else ''
7783        '''
7784         The username to authenticate with.
7785        '''
bind_interface

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

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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)
8151    def to_dict(self):
8152        return {
8153            'bind_interface': self.bind_interface,
8154            'database': self.database,
8155            'egress_filter': self.egress_filter,
8156            'healthy': self.healthy,
8157            'hostname': self.hostname,
8158            'id': self.id,
8159            'name': self.name,
8160            'override_database': self.override_database,
8161            'password': self.password,
8162            'port': self.port,
8163            'port_override': self.port_override,
8164            'proxy_cluster_id': self.proxy_cluster_id,
8165            'secret_store_id': self.secret_store_id,
8166            'subdomain': self.subdomain,
8167            'tags': self.tags,
8168            'use_azure_single_server_usernames':
8169            self.use_azure_single_server_usernames,
8170            'username': self.username,
8171        }
@classmethod
def from_dict(cls, d)
8173    @classmethod
8174    def from_dict(cls, d):
8175        return cls(
8176            bind_interface=d.get('bind_interface'),
8177            database=d.get('database'),
8178            egress_filter=d.get('egress_filter'),
8179            healthy=d.get('healthy'),
8180            hostname=d.get('hostname'),
8181            id=d.get('id'),
8182            name=d.get('name'),
8183            override_database=d.get('override_database'),
8184            password=d.get('password'),
8185            port=d.get('port'),
8186            port_override=d.get('port_override'),
8187            proxy_cluster_id=d.get('proxy_cluster_id'),
8188            secret_store_id=d.get('secret_store_id'),
8189            subdomain=d.get('subdomain'),
8190            tags=d.get('tags'),
8191            use_azure_single_server_usernames=d.get(
8192                'use_azure_single_server_usernames'),
8193            username=d.get('username'),
8194        )
class AzureStore:
8197class AzureStore:
8198    __slots__ = [
8199        'id',
8200        'name',
8201        'tags',
8202        'vault_uri',
8203    ]
8204
8205    def __init__(
8206        self,
8207        id=None,
8208        name=None,
8209        tags=None,
8210        vault_uri=None,
8211    ):
8212        self.id = id if id is not None else ''
8213        '''
8214         Unique identifier of the SecretStore.
8215        '''
8216        self.name = name if name is not None else ''
8217        '''
8218         Unique human-readable name of the SecretStore.
8219        '''
8220        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8221        '''
8222         Tags is a map of key, value pairs.
8223        '''
8224        self.vault_uri = vault_uri if vault_uri is not None else ''
8225        '''
8226         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8227        '''
8228
8229    def __repr__(self):
8230        return '<sdm.AzureStore ' + \
8231            'id: ' + repr(self.id) + ' ' +\
8232            'name: ' + repr(self.name) + ' ' +\
8233            'tags: ' + repr(self.tags) + ' ' +\
8234            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
8235            '>'
8236
8237    def to_dict(self):
8238        return {
8239            'id': self.id,
8240            'name': self.name,
8241            'tags': self.tags,
8242            'vault_uri': self.vault_uri,
8243        }
8244
8245    @classmethod
8246    def from_dict(cls, d):
8247        return cls(
8248            id=d.get('id'),
8249            name=d.get('name'),
8250            tags=d.get('tags'),
8251            vault_uri=d.get('vault_uri'),
8252        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
8205    def __init__(
8206        self,
8207        id=None,
8208        name=None,
8209        tags=None,
8210        vault_uri=None,
8211    ):
8212        self.id = id if id is not None else ''
8213        '''
8214         Unique identifier of the SecretStore.
8215        '''
8216        self.name = name if name is not None else ''
8217        '''
8218         Unique human-readable name of the SecretStore.
8219        '''
8220        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8221        '''
8222         Tags is a map of key, value pairs.
8223        '''
8224        self.vault_uri = vault_uri if vault_uri is not None else ''
8225        '''
8226         The URI of the key vault to target e.g. https://myvault.vault.azure.net
8227        '''
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)
8237    def to_dict(self):
8238        return {
8239            'id': self.id,
8240            'name': self.name,
8241            'tags': self.tags,
8242            'vault_uri': self.vault_uri,
8243        }
@classmethod
def from_dict(cls, d)
8245    @classmethod
8246    def from_dict(cls, d):
8247        return cls(
8248            id=d.get('id'),
8249            name=d.get('name'),
8250            tags=d.get('tags'),
8251            vault_uri=d.get('vault_uri'),
8252        )
class BigQuery:
8255class BigQuery:
8256    __slots__ = [
8257        'bind_interface',
8258        'egress_filter',
8259        'endpoint',
8260        'healthy',
8261        'id',
8262        'name',
8263        'port_override',
8264        'private_key',
8265        'project',
8266        'proxy_cluster_id',
8267        'secret_store_id',
8268        'subdomain',
8269        'tags',
8270        'username',
8271    ]
8272
8273    def __init__(
8274        self,
8275        bind_interface=None,
8276        egress_filter=None,
8277        endpoint=None,
8278        healthy=None,
8279        id=None,
8280        name=None,
8281        port_override=None,
8282        private_key=None,
8283        project=None,
8284        proxy_cluster_id=None,
8285        secret_store_id=None,
8286        subdomain=None,
8287        tags=None,
8288        username=None,
8289    ):
8290        self.bind_interface = bind_interface if bind_interface is not None else ''
8291        '''
8292         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8293        '''
8294        self.egress_filter = egress_filter if egress_filter is not None else ''
8295        '''
8296         A filter applied to the routing logic to pin datasource to nodes.
8297        '''
8298        self.endpoint = endpoint if endpoint is not None else ''
8299        '''
8300         The endpoint to dial.
8301        '''
8302        self.healthy = healthy if healthy is not None else False
8303        '''
8304         True if the datasource is reachable and the credentials are valid.
8305        '''
8306        self.id = id if id is not None else ''
8307        '''
8308         Unique identifier of the Resource.
8309        '''
8310        self.name = name if name is not None else ''
8311        '''
8312         Unique human-readable name of the Resource.
8313        '''
8314        self.port_override = port_override if port_override is not None else 0
8315        '''
8316         The local port used by clients to connect to this resource.
8317        '''
8318        self.private_key = private_key if private_key is not None else ''
8319        '''
8320         The JSON Private key to authenticate with.
8321        '''
8322        self.project = project if project is not None else ''
8323        '''
8324         The project to connect to.
8325        '''
8326        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8327        '''
8328         ID of the proxy cluster for this resource, if any.
8329        '''
8330        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8331        '''
8332         ID of the secret store containing credentials for this resource, if any.
8333        '''
8334        self.subdomain = subdomain if subdomain is not None else ''
8335        '''
8336         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8337        '''
8338        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8339        '''
8340         Tags is a map of key, value pairs.
8341        '''
8342        self.username = username if username is not None else ''
8343        '''
8344         The username to authenticate with.
8345        '''
8346
8347    def __repr__(self):
8348        return '<sdm.BigQuery ' + \
8349            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8350            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8351            'endpoint: ' + repr(self.endpoint) + ' ' +\
8352            'healthy: ' + repr(self.healthy) + ' ' +\
8353            'id: ' + repr(self.id) + ' ' +\
8354            'name: ' + repr(self.name) + ' ' +\
8355            'port_override: ' + repr(self.port_override) + ' ' +\
8356            'private_key: ' + repr(self.private_key) + ' ' +\
8357            'project: ' + repr(self.project) + ' ' +\
8358            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8359            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8360            'subdomain: ' + repr(self.subdomain) + ' ' +\
8361            'tags: ' + repr(self.tags) + ' ' +\
8362            'username: ' + repr(self.username) + ' ' +\
8363            '>'
8364
8365    def to_dict(self):
8366        return {
8367            'bind_interface': self.bind_interface,
8368            'egress_filter': self.egress_filter,
8369            'endpoint': self.endpoint,
8370            'healthy': self.healthy,
8371            'id': self.id,
8372            'name': self.name,
8373            'port_override': self.port_override,
8374            'private_key': self.private_key,
8375            'project': self.project,
8376            'proxy_cluster_id': self.proxy_cluster_id,
8377            'secret_store_id': self.secret_store_id,
8378            'subdomain': self.subdomain,
8379            'tags': self.tags,
8380            'username': self.username,
8381        }
8382
8383    @classmethod
8384    def from_dict(cls, d):
8385        return cls(
8386            bind_interface=d.get('bind_interface'),
8387            egress_filter=d.get('egress_filter'),
8388            endpoint=d.get('endpoint'),
8389            healthy=d.get('healthy'),
8390            id=d.get('id'),
8391            name=d.get('name'),
8392            port_override=d.get('port_override'),
8393            private_key=d.get('private_key'),
8394            project=d.get('project'),
8395            proxy_cluster_id=d.get('proxy_cluster_id'),
8396            secret_store_id=d.get('secret_store_id'),
8397            subdomain=d.get('subdomain'),
8398            tags=d.get('tags'),
8399            username=d.get('username'),
8400        )
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)
8273    def __init__(
8274        self,
8275        bind_interface=None,
8276        egress_filter=None,
8277        endpoint=None,
8278        healthy=None,
8279        id=None,
8280        name=None,
8281        port_override=None,
8282        private_key=None,
8283        project=None,
8284        proxy_cluster_id=None,
8285        secret_store_id=None,
8286        subdomain=None,
8287        tags=None,
8288        username=None,
8289    ):
8290        self.bind_interface = bind_interface if bind_interface is not None else ''
8291        '''
8292         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8293        '''
8294        self.egress_filter = egress_filter if egress_filter is not None else ''
8295        '''
8296         A filter applied to the routing logic to pin datasource to nodes.
8297        '''
8298        self.endpoint = endpoint if endpoint is not None else ''
8299        '''
8300         The endpoint to dial.
8301        '''
8302        self.healthy = healthy if healthy is not None else False
8303        '''
8304         True if the datasource is reachable and the credentials are valid.
8305        '''
8306        self.id = id if id is not None else ''
8307        '''
8308         Unique identifier of the Resource.
8309        '''
8310        self.name = name if name is not None else ''
8311        '''
8312         Unique human-readable name of the Resource.
8313        '''
8314        self.port_override = port_override if port_override is not None else 0
8315        '''
8316         The local port used by clients to connect to this resource.
8317        '''
8318        self.private_key = private_key if private_key is not None else ''
8319        '''
8320         The JSON Private key to authenticate with.
8321        '''
8322        self.project = project if project is not None else ''
8323        '''
8324         The project to connect to.
8325        '''
8326        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8327        '''
8328         ID of the proxy cluster for this resource, if any.
8329        '''
8330        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8331        '''
8332         ID of the secret store containing credentials for this resource, if any.
8333        '''
8334        self.subdomain = subdomain if subdomain is not None else ''
8335        '''
8336         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8337        '''
8338        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8339        '''
8340         Tags is a map of key, value pairs.
8341        '''
8342        self.username = username if username is not None else ''
8343        '''
8344         The username to authenticate with.
8345        '''
bind_interface

The bind interface is the IP 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)
8365    def to_dict(self):
8366        return {
8367            'bind_interface': self.bind_interface,
8368            'egress_filter': self.egress_filter,
8369            'endpoint': self.endpoint,
8370            'healthy': self.healthy,
8371            'id': self.id,
8372            'name': self.name,
8373            'port_override': self.port_override,
8374            'private_key': self.private_key,
8375            'project': self.project,
8376            'proxy_cluster_id': self.proxy_cluster_id,
8377            'secret_store_id': self.secret_store_id,
8378            'subdomain': self.subdomain,
8379            'tags': self.tags,
8380            'username': self.username,
8381        }
@classmethod
def from_dict(cls, d)
8383    @classmethod
8384    def from_dict(cls, d):
8385        return cls(
8386            bind_interface=d.get('bind_interface'),
8387            egress_filter=d.get('egress_filter'),
8388            endpoint=d.get('endpoint'),
8389            healthy=d.get('healthy'),
8390            id=d.get('id'),
8391            name=d.get('name'),
8392            port_override=d.get('port_override'),
8393            private_key=d.get('private_key'),
8394            project=d.get('project'),
8395            proxy_cluster_id=d.get('proxy_cluster_id'),
8396            secret_store_id=d.get('secret_store_id'),
8397            subdomain=d.get('subdomain'),
8398            tags=d.get('tags'),
8399            username=d.get('username'),
8400        )
class Cassandra:
8403class Cassandra:
8404    __slots__ = [
8405        'bind_interface',
8406        'egress_filter',
8407        'healthy',
8408        'hostname',
8409        'id',
8410        'name',
8411        'password',
8412        'port',
8413        'port_override',
8414        'proxy_cluster_id',
8415        'secret_store_id',
8416        'subdomain',
8417        'tags',
8418        'tls_required',
8419        'username',
8420    ]
8421
8422    def __init__(
8423        self,
8424        bind_interface=None,
8425        egress_filter=None,
8426        healthy=None,
8427        hostname=None,
8428        id=None,
8429        name=None,
8430        password=None,
8431        port=None,
8432        port_override=None,
8433        proxy_cluster_id=None,
8434        secret_store_id=None,
8435        subdomain=None,
8436        tags=None,
8437        tls_required=None,
8438        username=None,
8439    ):
8440        self.bind_interface = bind_interface if bind_interface is not None else ''
8441        '''
8442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8443        '''
8444        self.egress_filter = egress_filter if egress_filter is not None else ''
8445        '''
8446         A filter applied to the routing logic to pin datasource to nodes.
8447        '''
8448        self.healthy = healthy if healthy is not None else False
8449        '''
8450         True if the datasource is reachable and the credentials are valid.
8451        '''
8452        self.hostname = hostname if hostname is not None else ''
8453        '''
8454         The host to dial to initiate a connection from the egress node to this resource.
8455        '''
8456        self.id = id if id is not None else ''
8457        '''
8458         Unique identifier of the Resource.
8459        '''
8460        self.name = name if name is not None else ''
8461        '''
8462         Unique human-readable name of the Resource.
8463        '''
8464        self.password = password if password is not None else ''
8465        '''
8466         The password to authenticate with.
8467        '''
8468        self.port = port if port is not None else 0
8469        '''
8470         The port to dial to initiate a connection from the egress node to this resource.
8471        '''
8472        self.port_override = port_override if port_override is not None else 0
8473        '''
8474         The local port used by clients to connect to this resource.
8475        '''
8476        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8477        '''
8478         ID of the proxy cluster for this resource, if any.
8479        '''
8480        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8481        '''
8482         ID of the secret store containing credentials for this resource, if any.
8483        '''
8484        self.subdomain = subdomain if subdomain is not None else ''
8485        '''
8486         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8487        '''
8488        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8489        '''
8490         Tags is a map of key, value pairs.
8491        '''
8492        self.tls_required = tls_required if tls_required is not None else False
8493        '''
8494         If set, TLS must be used to connect to this resource.
8495        '''
8496        self.username = username if username is not None else ''
8497        '''
8498         The username to authenticate with.
8499        '''
8500
8501    def __repr__(self):
8502        return '<sdm.Cassandra ' + \
8503            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8504            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8505            'healthy: ' + repr(self.healthy) + ' ' +\
8506            'hostname: ' + repr(self.hostname) + ' ' +\
8507            'id: ' + repr(self.id) + ' ' +\
8508            'name: ' + repr(self.name) + ' ' +\
8509            'password: ' + repr(self.password) + ' ' +\
8510            'port: ' + repr(self.port) + ' ' +\
8511            'port_override: ' + repr(self.port_override) + ' ' +\
8512            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8513            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8514            'subdomain: ' + repr(self.subdomain) + ' ' +\
8515            'tags: ' + repr(self.tags) + ' ' +\
8516            'tls_required: ' + repr(self.tls_required) + ' ' +\
8517            'username: ' + repr(self.username) + ' ' +\
8518            '>'
8519
8520    def to_dict(self):
8521        return {
8522            'bind_interface': self.bind_interface,
8523            'egress_filter': self.egress_filter,
8524            'healthy': self.healthy,
8525            'hostname': self.hostname,
8526            'id': self.id,
8527            'name': self.name,
8528            'password': self.password,
8529            'port': self.port,
8530            'port_override': self.port_override,
8531            'proxy_cluster_id': self.proxy_cluster_id,
8532            'secret_store_id': self.secret_store_id,
8533            'subdomain': self.subdomain,
8534            'tags': self.tags,
8535            'tls_required': self.tls_required,
8536            'username': self.username,
8537        }
8538
8539    @classmethod
8540    def from_dict(cls, d):
8541        return cls(
8542            bind_interface=d.get('bind_interface'),
8543            egress_filter=d.get('egress_filter'),
8544            healthy=d.get('healthy'),
8545            hostname=d.get('hostname'),
8546            id=d.get('id'),
8547            name=d.get('name'),
8548            password=d.get('password'),
8549            port=d.get('port'),
8550            port_override=d.get('port_override'),
8551            proxy_cluster_id=d.get('proxy_cluster_id'),
8552            secret_store_id=d.get('secret_store_id'),
8553            subdomain=d.get('subdomain'),
8554            tags=d.get('tags'),
8555            tls_required=d.get('tls_required'),
8556            username=d.get('username'),
8557        )
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)
8422    def __init__(
8423        self,
8424        bind_interface=None,
8425        egress_filter=None,
8426        healthy=None,
8427        hostname=None,
8428        id=None,
8429        name=None,
8430        password=None,
8431        port=None,
8432        port_override=None,
8433        proxy_cluster_id=None,
8434        secret_store_id=None,
8435        subdomain=None,
8436        tags=None,
8437        tls_required=None,
8438        username=None,
8439    ):
8440        self.bind_interface = bind_interface if bind_interface is not None else ''
8441        '''
8442         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8443        '''
8444        self.egress_filter = egress_filter if egress_filter is not None else ''
8445        '''
8446         A filter applied to the routing logic to pin datasource to nodes.
8447        '''
8448        self.healthy = healthy if healthy is not None else False
8449        '''
8450         True if the datasource is reachable and the credentials are valid.
8451        '''
8452        self.hostname = hostname if hostname is not None else ''
8453        '''
8454         The host to dial to initiate a connection from the egress node to this resource.
8455        '''
8456        self.id = id if id is not None else ''
8457        '''
8458         Unique identifier of the Resource.
8459        '''
8460        self.name = name if name is not None else ''
8461        '''
8462         Unique human-readable name of the Resource.
8463        '''
8464        self.password = password if password is not None else ''
8465        '''
8466         The password to authenticate with.
8467        '''
8468        self.port = port if port is not None else 0
8469        '''
8470         The port to dial to initiate a connection from the egress node to this resource.
8471        '''
8472        self.port_override = port_override if port_override is not None else 0
8473        '''
8474         The local port used by clients to connect to this resource.
8475        '''
8476        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8477        '''
8478         ID of the proxy cluster for this resource, if any.
8479        '''
8480        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8481        '''
8482         ID of the secret store containing credentials for this resource, if any.
8483        '''
8484        self.subdomain = subdomain if subdomain is not None else ''
8485        '''
8486         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8487        '''
8488        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8489        '''
8490         Tags is a map of key, value pairs.
8491        '''
8492        self.tls_required = tls_required if tls_required is not None else False
8493        '''
8494         If set, TLS must be used to connect to this resource.
8495        '''
8496        self.username = username if username is not None else ''
8497        '''
8498         The username to authenticate with.
8499        '''
bind_interface

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

The bind interface is the IP 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)
8684    def to_dict(self):
8685        return {
8686            'bind_interface': self.bind_interface,
8687            'database': self.database,
8688            'egress_filter': self.egress_filter,
8689            'healthy': self.healthy,
8690            'hostname': self.hostname,
8691            'id': self.id,
8692            'name': self.name,
8693            'override_database': self.override_database,
8694            'password': self.password,
8695            'port': self.port,
8696            'port_override': self.port_override,
8697            'proxy_cluster_id': self.proxy_cluster_id,
8698            'secret_store_id': self.secret_store_id,
8699            'subdomain': self.subdomain,
8700            'tags': self.tags,
8701            'username': self.username,
8702        }
@classmethod
def from_dict(cls, d)
8704    @classmethod
8705    def from_dict(cls, d):
8706        return cls(
8707            bind_interface=d.get('bind_interface'),
8708            database=d.get('database'),
8709            egress_filter=d.get('egress_filter'),
8710            healthy=d.get('healthy'),
8711            hostname=d.get('hostname'),
8712            id=d.get('id'),
8713            name=d.get('name'),
8714            override_database=d.get('override_database'),
8715            password=d.get('password'),
8716            port=d.get('port'),
8717            port_override=d.get('port_override'),
8718            proxy_cluster_id=d.get('proxy_cluster_id'),
8719            secret_store_id=d.get('secret_store_id'),
8720            subdomain=d.get('subdomain'),
8721            tags=d.get('tags'),
8722            username=d.get('username'),
8723        )
class ClickHouseHTTP:
8726class ClickHouseHTTP:
8727    __slots__ = [
8728        'bind_interface',
8729        'database',
8730        'egress_filter',
8731        'healthy',
8732        'id',
8733        'name',
8734        'password',
8735        'port_override',
8736        'proxy_cluster_id',
8737        'secret_store_id',
8738        'tags',
8739        'url',
8740        'username',
8741    ]
8742
8743    def __init__(
8744        self,
8745        bind_interface=None,
8746        database=None,
8747        egress_filter=None,
8748        healthy=None,
8749        id=None,
8750        name=None,
8751        password=None,
8752        port_override=None,
8753        proxy_cluster_id=None,
8754        secret_store_id=None,
8755        tags=None,
8756        url=None,
8757        username=None,
8758    ):
8759        self.bind_interface = bind_interface if bind_interface is not None else ''
8760        '''
8761         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8762        '''
8763        self.database = database if database is not None else ''
8764        '''
8765         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8766        '''
8767        self.egress_filter = egress_filter if egress_filter is not None else ''
8768        '''
8769         A filter applied to the routing logic to pin datasource to nodes.
8770        '''
8771        self.healthy = healthy if healthy is not None else False
8772        '''
8773         True if the datasource is reachable and the credentials are valid.
8774        '''
8775        self.id = id if id is not None else ''
8776        '''
8777         Unique identifier of the Resource.
8778        '''
8779        self.name = name if name is not None else ''
8780        '''
8781         Unique human-readable name of the Resource.
8782        '''
8783        self.password = password if password is not None else ''
8784        '''
8785         The password to authenticate with.
8786        '''
8787        self.port_override = port_override if port_override is not None else 0
8788        '''
8789         The local port used by clients to connect to this resource.
8790        '''
8791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8792        '''
8793         ID of the proxy cluster for this resource, if any.
8794        '''
8795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8796        '''
8797         ID of the secret store containing credentials for this resource, if any.
8798        '''
8799        self.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.url = url if url is not None else ''
8804        '''
8805         The URL to dial to initiate a connection from the egress node 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.ClickHouseHTTP ' + \
8814            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8815            'database: ' + repr(self.database) + ' ' +\
8816            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8817            'healthy: ' + repr(self.healthy) + ' ' +\
8818            'id: ' + repr(self.id) + ' ' +\
8819            'name: ' + repr(self.name) + ' ' +\
8820            'password: ' + repr(self.password) + ' ' +\
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            'tags: ' + repr(self.tags) + ' ' +\
8825            'url: ' + repr(self.url) + ' ' +\
8826            'username: ' + repr(self.username) + ' ' +\
8827            '>'
8828
8829    def to_dict(self):
8830        return {
8831            'bind_interface': self.bind_interface,
8832            'database': self.database,
8833            'egress_filter': self.egress_filter,
8834            'healthy': self.healthy,
8835            'id': self.id,
8836            'name': self.name,
8837            'password': self.password,
8838            'port_override': self.port_override,
8839            'proxy_cluster_id': self.proxy_cluster_id,
8840            'secret_store_id': self.secret_store_id,
8841            'tags': self.tags,
8842            'url': self.url,
8843            'username': self.username,
8844        }
8845
8846    @classmethod
8847    def from_dict(cls, d):
8848        return cls(
8849            bind_interface=d.get('bind_interface'),
8850            database=d.get('database'),
8851            egress_filter=d.get('egress_filter'),
8852            healthy=d.get('healthy'),
8853            id=d.get('id'),
8854            name=d.get('name'),
8855            password=d.get('password'),
8856            port_override=d.get('port_override'),
8857            proxy_cluster_id=d.get('proxy_cluster_id'),
8858            secret_store_id=d.get('secret_store_id'),
8859            tags=d.get('tags'),
8860            url=d.get('url'),
8861            username=d.get('username'),
8862        )
ClickHouseHTTP( bind_interface=None, database=None, egress_filter=None, healthy=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, tags=None, url=None, username=None)
8743    def __init__(
8744        self,
8745        bind_interface=None,
8746        database=None,
8747        egress_filter=None,
8748        healthy=None,
8749        id=None,
8750        name=None,
8751        password=None,
8752        port_override=None,
8753        proxy_cluster_id=None,
8754        secret_store_id=None,
8755        tags=None,
8756        url=None,
8757        username=None,
8758    ):
8759        self.bind_interface = bind_interface if bind_interface is not None else ''
8760        '''
8761         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8762        '''
8763        self.database = database if database is not None else ''
8764        '''
8765         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8766        '''
8767        self.egress_filter = egress_filter if egress_filter is not None else ''
8768        '''
8769         A filter applied to the routing logic to pin datasource to nodes.
8770        '''
8771        self.healthy = healthy if healthy is not None else False
8772        '''
8773         True if the datasource is reachable and the credentials are valid.
8774        '''
8775        self.id = id if id is not None else ''
8776        '''
8777         Unique identifier of the Resource.
8778        '''
8779        self.name = name if name is not None else ''
8780        '''
8781         Unique human-readable name of the Resource.
8782        '''
8783        self.password = password if password is not None else ''
8784        '''
8785         The password to authenticate with.
8786        '''
8787        self.port_override = port_override if port_override is not None else 0
8788        '''
8789         The local port used by clients to connect to this resource.
8790        '''
8791        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8792        '''
8793         ID of the proxy cluster for this resource, if any.
8794        '''
8795        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8796        '''
8797         ID of the secret store containing credentials for this resource, if any.
8798        '''
8799        self.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.url = url if url is not None else ''
8804        '''
8805         The URL to dial to initiate a connection from the egress node 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.

database

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

egress_filter

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

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

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

proxy_cluster_id

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

secret_store_id

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

tags

Tags is a map of key, value pairs.

url

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

username

The username to authenticate with.

def to_dict(self)
8829    def to_dict(self):
8830        return {
8831            'bind_interface': self.bind_interface,
8832            'database': self.database,
8833            'egress_filter': self.egress_filter,
8834            'healthy': self.healthy,
8835            'id': self.id,
8836            'name': self.name,
8837            'password': self.password,
8838            'port_override': self.port_override,
8839            'proxy_cluster_id': self.proxy_cluster_id,
8840            'secret_store_id': self.secret_store_id,
8841            'tags': self.tags,
8842            'url': self.url,
8843            'username': self.username,
8844        }
@classmethod
def from_dict(cls, d)
8846    @classmethod
8847    def from_dict(cls, d):
8848        return cls(
8849            bind_interface=d.get('bind_interface'),
8850            database=d.get('database'),
8851            egress_filter=d.get('egress_filter'),
8852            healthy=d.get('healthy'),
8853            id=d.get('id'),
8854            name=d.get('name'),
8855            password=d.get('password'),
8856            port_override=d.get('port_override'),
8857            proxy_cluster_id=d.get('proxy_cluster_id'),
8858            secret_store_id=d.get('secret_store_id'),
8859            tags=d.get('tags'),
8860            url=d.get('url'),
8861            username=d.get('username'),
8862        )
class ClickHouseMySQL:
8865class ClickHouseMySQL:
8866    __slots__ = [
8867        'bind_interface',
8868        'database',
8869        'egress_filter',
8870        'healthy',
8871        'hostname',
8872        'id',
8873        'name',
8874        'password',
8875        'port',
8876        'port_override',
8877        'proxy_cluster_id',
8878        'require_native_auth',
8879        'secret_store_id',
8880        'subdomain',
8881        'tags',
8882        'username',
8883    ]
8884
8885    def __init__(
8886        self,
8887        bind_interface=None,
8888        database=None,
8889        egress_filter=None,
8890        healthy=None,
8891        hostname=None,
8892        id=None,
8893        name=None,
8894        password=None,
8895        port=None,
8896        port_override=None,
8897        proxy_cluster_id=None,
8898        require_native_auth=None,
8899        secret_store_id=None,
8900        subdomain=None,
8901        tags=None,
8902        username=None,
8903    ):
8904        self.bind_interface = bind_interface if bind_interface is not None else ''
8905        '''
8906         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8907        '''
8908        self.database = database if database is not None else ''
8909        '''
8910         The database for healthchecks. Does not affect client requests.
8911        '''
8912        self.egress_filter = egress_filter if egress_filter is not None else ''
8913        '''
8914         A filter applied to the routing logic to pin datasource to nodes.
8915        '''
8916        self.healthy = healthy if healthy is not None else False
8917        '''
8918         True if the datasource is reachable and the credentials are valid.
8919        '''
8920        self.hostname = hostname if hostname is not None else ''
8921        '''
8922         The host to dial to initiate a connection from the egress node to this resource.
8923        '''
8924        self.id = id if id is not None else ''
8925        '''
8926         Unique identifier of the Resource.
8927        '''
8928        self.name = name if name is not None else ''
8929        '''
8930         Unique human-readable name of the Resource.
8931        '''
8932        self.password = password if password is not None else ''
8933        '''
8934         The password to authenticate with.
8935        '''
8936        self.port = port if port is not None else 0
8937        '''
8938         The port to dial to initiate a connection from the egress node to this resource.
8939        '''
8940        self.port_override = port_override if port_override is not None else 0
8941        '''
8942         The local port used by clients to connect to this resource.
8943        '''
8944        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8945        '''
8946         ID of the proxy cluster for this resource, if any.
8947        '''
8948        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8949        '''
8950         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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.ClickHouseMySQL ' + \
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            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8983            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8984            'subdomain: ' + repr(self.subdomain) + ' ' +\
8985            'tags: ' + repr(self.tags) + ' ' +\
8986            'username: ' + repr(self.username) + ' ' +\
8987            '>'
8988
8989    def to_dict(self):
8990        return {
8991            'bind_interface': self.bind_interface,
8992            'database': self.database,
8993            'egress_filter': self.egress_filter,
8994            'healthy': self.healthy,
8995            'hostname': self.hostname,
8996            'id': self.id,
8997            'name': self.name,
8998            'password': self.password,
8999            'port': self.port,
9000            'port_override': self.port_override,
9001            'proxy_cluster_id': self.proxy_cluster_id,
9002            'require_native_auth': self.require_native_auth,
9003            'secret_store_id': self.secret_store_id,
9004            'subdomain': self.subdomain,
9005            'tags': self.tags,
9006            'username': self.username,
9007        }
9008
9009    @classmethod
9010    def from_dict(cls, d):
9011        return cls(
9012            bind_interface=d.get('bind_interface'),
9013            database=d.get('database'),
9014            egress_filter=d.get('egress_filter'),
9015            healthy=d.get('healthy'),
9016            hostname=d.get('hostname'),
9017            id=d.get('id'),
9018            name=d.get('name'),
9019            password=d.get('password'),
9020            port=d.get('port'),
9021            port_override=d.get('port_override'),
9022            proxy_cluster_id=d.get('proxy_cluster_id'),
9023            require_native_auth=d.get('require_native_auth'),
9024            secret_store_id=d.get('secret_store_id'),
9025            subdomain=d.get('subdomain'),
9026            tags=d.get('tags'),
9027            username=d.get('username'),
9028        )
ClickHouseMySQL( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, require_native_auth=None, secret_store_id=None, subdomain=None, tags=None, username=None)
8885    def __init__(
8886        self,
8887        bind_interface=None,
8888        database=None,
8889        egress_filter=None,
8890        healthy=None,
8891        hostname=None,
8892        id=None,
8893        name=None,
8894        password=None,
8895        port=None,
8896        port_override=None,
8897        proxy_cluster_id=None,
8898        require_native_auth=None,
8899        secret_store_id=None,
8900        subdomain=None,
8901        tags=None,
8902        username=None,
8903    ):
8904        self.bind_interface = bind_interface if bind_interface is not None else ''
8905        '''
8906         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
8907        '''
8908        self.database = database if database is not None else ''
8909        '''
8910         The database for healthchecks. Does not affect client requests.
8911        '''
8912        self.egress_filter = egress_filter if egress_filter is not None else ''
8913        '''
8914         A filter applied to the routing logic to pin datasource to nodes.
8915        '''
8916        self.healthy = healthy if healthy is not None else False
8917        '''
8918         True if the datasource is reachable and the credentials are valid.
8919        '''
8920        self.hostname = hostname if hostname is not None else ''
8921        '''
8922         The host to dial to initiate a connection from the egress node to this resource.
8923        '''
8924        self.id = id if id is not None else ''
8925        '''
8926         Unique identifier of the Resource.
8927        '''
8928        self.name = name if name is not None else ''
8929        '''
8930         Unique human-readable name of the Resource.
8931        '''
8932        self.password = password if password is not None else ''
8933        '''
8934         The password to authenticate with.
8935        '''
8936        self.port = port if port is not None else 0
8937        '''
8938         The port to dial to initiate a connection from the egress node to this resource.
8939        '''
8940        self.port_override = port_override if port_override is not None else 0
8941        '''
8942         The local port used by clients to connect to this resource.
8943        '''
8944        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8945        '''
8946         ID of the proxy cluster for this resource, if any.
8947        '''
8948        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8949        '''
8950         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
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 database for healthchecks. Does not affect client requests.

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

require_native_auth

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

The bind interface is the IP 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)
9155    def to_dict(self):
9156        return {
9157            'bind_interface': self.bind_interface,
9158            'database': self.database,
9159            'egress_filter': self.egress_filter,
9160            'healthy': self.healthy,
9161            'hostname': self.hostname,
9162            'id': self.id,
9163            'name': self.name,
9164            'password': self.password,
9165            'port': self.port,
9166            'port_override': self.port_override,
9167            'proxy_cluster_id': self.proxy_cluster_id,
9168            'secret_store_id': self.secret_store_id,
9169            'subdomain': self.subdomain,
9170            'tags': self.tags,
9171            'tls_required': self.tls_required,
9172            'username': self.username,
9173        }
@classmethod
def from_dict(cls, d)
9175    @classmethod
9176    def from_dict(cls, d):
9177        return cls(
9178            bind_interface=d.get('bind_interface'),
9179            database=d.get('database'),
9180            egress_filter=d.get('egress_filter'),
9181            healthy=d.get('healthy'),
9182            hostname=d.get('hostname'),
9183            id=d.get('id'),
9184            name=d.get('name'),
9185            password=d.get('password'),
9186            port=d.get('port'),
9187            port_override=d.get('port_override'),
9188            proxy_cluster_id=d.get('proxy_cluster_id'),
9189            secret_store_id=d.get('secret_store_id'),
9190            subdomain=d.get('subdomain'),
9191            tags=d.get('tags'),
9192            tls_required=d.get('tls_required'),
9193            username=d.get('username'),
9194        )
class Clustrix:
9197class Clustrix:
9198    __slots__ = [
9199        'bind_interface',
9200        'database',
9201        'egress_filter',
9202        'healthy',
9203        'hostname',
9204        'id',
9205        'name',
9206        'password',
9207        'port',
9208        'port_override',
9209        'proxy_cluster_id',
9210        'require_native_auth',
9211        'secret_store_id',
9212        'subdomain',
9213        'tags',
9214        'use_azure_single_server_usernames',
9215        'username',
9216    ]
9217
9218    def __init__(
9219        self,
9220        bind_interface=None,
9221        database=None,
9222        egress_filter=None,
9223        healthy=None,
9224        hostname=None,
9225        id=None,
9226        name=None,
9227        password=None,
9228        port=None,
9229        port_override=None,
9230        proxy_cluster_id=None,
9231        require_native_auth=None,
9232        secret_store_id=None,
9233        subdomain=None,
9234        tags=None,
9235        use_azure_single_server_usernames=None,
9236        username=None,
9237    ):
9238        self.bind_interface = bind_interface if bind_interface is not None else ''
9239        '''
9240         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9241        '''
9242        self.database = database if database is not None else ''
9243        '''
9244         The database for healthchecks. Does not affect client requests.
9245        '''
9246        self.egress_filter = egress_filter if egress_filter is not None else ''
9247        '''
9248         A filter applied to the routing logic to pin datasource to nodes.
9249        '''
9250        self.healthy = healthy if healthy is not None else False
9251        '''
9252         True if the datasource is reachable and the credentials are valid.
9253        '''
9254        self.hostname = hostname if hostname is not None else ''
9255        '''
9256         The host to dial to initiate a connection from the egress node to this resource.
9257        '''
9258        self.id = id if id is not None else ''
9259        '''
9260         Unique identifier of the Resource.
9261        '''
9262        self.name = name if name is not None else ''
9263        '''
9264         Unique human-readable name of the Resource.
9265        '''
9266        self.password = password if password is not None else ''
9267        '''
9268         The password to authenticate with.
9269        '''
9270        self.port = port if port is not None else 0
9271        '''
9272         The port to dial to initiate a connection from the egress node to this resource.
9273        '''
9274        self.port_override = port_override if port_override is not None else 0
9275        '''
9276         The local port used by clients to connect to this resource.
9277        '''
9278        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9279        '''
9280         ID of the proxy cluster for this resource, if any.
9281        '''
9282        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9283        '''
9284         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9285        '''
9286        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9287        '''
9288         ID of the secret store containing credentials for this resource, if any.
9289        '''
9290        self.subdomain = subdomain if subdomain is not None else ''
9291        '''
9292         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9293        '''
9294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9295        '''
9296         Tags is a map of key, value pairs.
9297        '''
9298        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9299        '''
9300         If true, appends the hostname to the username when hitting a database.azure.com address
9301        '''
9302        self.username = username if username is not None else ''
9303        '''
9304         The username to authenticate with.
9305        '''
9306
9307    def __repr__(self):
9308        return '<sdm.Clustrix ' + \
9309            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9310            'database: ' + repr(self.database) + ' ' +\
9311            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9312            'healthy: ' + repr(self.healthy) + ' ' +\
9313            'hostname: ' + repr(self.hostname) + ' ' +\
9314            'id: ' + repr(self.id) + ' ' +\
9315            'name: ' + repr(self.name) + ' ' +\
9316            'password: ' + repr(self.password) + ' ' +\
9317            'port: ' + repr(self.port) + ' ' +\
9318            'port_override: ' + repr(self.port_override) + ' ' +\
9319            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9320            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
9321            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9322            'subdomain: ' + repr(self.subdomain) + ' ' +\
9323            'tags: ' + repr(self.tags) + ' ' +\
9324            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
9325            'username: ' + repr(self.username) + ' ' +\
9326            '>'
9327
9328    def to_dict(self):
9329        return {
9330            'bind_interface': self.bind_interface,
9331            'database': self.database,
9332            'egress_filter': self.egress_filter,
9333            'healthy': self.healthy,
9334            'hostname': self.hostname,
9335            'id': self.id,
9336            'name': self.name,
9337            'password': self.password,
9338            'port': self.port,
9339            'port_override': self.port_override,
9340            'proxy_cluster_id': self.proxy_cluster_id,
9341            'require_native_auth': self.require_native_auth,
9342            'secret_store_id': self.secret_store_id,
9343            'subdomain': self.subdomain,
9344            'tags': self.tags,
9345            'use_azure_single_server_usernames':
9346            self.use_azure_single_server_usernames,
9347            'username': self.username,
9348        }
9349
9350    @classmethod
9351    def from_dict(cls, d):
9352        return cls(
9353            bind_interface=d.get('bind_interface'),
9354            database=d.get('database'),
9355            egress_filter=d.get('egress_filter'),
9356            healthy=d.get('healthy'),
9357            hostname=d.get('hostname'),
9358            id=d.get('id'),
9359            name=d.get('name'),
9360            password=d.get('password'),
9361            port=d.get('port'),
9362            port_override=d.get('port_override'),
9363            proxy_cluster_id=d.get('proxy_cluster_id'),
9364            require_native_auth=d.get('require_native_auth'),
9365            secret_store_id=d.get('secret_store_id'),
9366            subdomain=d.get('subdomain'),
9367            tags=d.get('tags'),
9368            use_azure_single_server_usernames=d.get(
9369                'use_azure_single_server_usernames'),
9370            username=d.get('username'),
9371        )
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)
9218    def __init__(
9219        self,
9220        bind_interface=None,
9221        database=None,
9222        egress_filter=None,
9223        healthy=None,
9224        hostname=None,
9225        id=None,
9226        name=None,
9227        password=None,
9228        port=None,
9229        port_override=None,
9230        proxy_cluster_id=None,
9231        require_native_auth=None,
9232        secret_store_id=None,
9233        subdomain=None,
9234        tags=None,
9235        use_azure_single_server_usernames=None,
9236        username=None,
9237    ):
9238        self.bind_interface = bind_interface if bind_interface is not None else ''
9239        '''
9240         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9241        '''
9242        self.database = database if database is not None else ''
9243        '''
9244         The database for healthchecks. Does not affect client requests.
9245        '''
9246        self.egress_filter = egress_filter if egress_filter is not None else ''
9247        '''
9248         A filter applied to the routing logic to pin datasource to nodes.
9249        '''
9250        self.healthy = healthy if healthy is not None else False
9251        '''
9252         True if the datasource is reachable and the credentials are valid.
9253        '''
9254        self.hostname = hostname if hostname is not None else ''
9255        '''
9256         The host to dial to initiate a connection from the egress node to this resource.
9257        '''
9258        self.id = id if id is not None else ''
9259        '''
9260         Unique identifier of the Resource.
9261        '''
9262        self.name = name if name is not None else ''
9263        '''
9264         Unique human-readable name of the Resource.
9265        '''
9266        self.password = password if password is not None else ''
9267        '''
9268         The password to authenticate with.
9269        '''
9270        self.port = port if port is not None else 0
9271        '''
9272         The port to dial to initiate a connection from the egress node to this resource.
9273        '''
9274        self.port_override = port_override if port_override is not None else 0
9275        '''
9276         The local port used by clients to connect to this resource.
9277        '''
9278        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9279        '''
9280         ID of the proxy cluster for this resource, if any.
9281        '''
9282        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9283        '''
9284         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9285        '''
9286        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9287        '''
9288         ID of the secret store containing credentials for this resource, if any.
9289        '''
9290        self.subdomain = subdomain if subdomain is not None else ''
9291        '''
9292         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9293        '''
9294        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9295        '''
9296         Tags is a map of key, value pairs.
9297        '''
9298        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
9299        '''
9300         If true, appends the hostname to the username when hitting a database.azure.com address
9301        '''
9302        self.username = username if username is not None else ''
9303        '''
9304         The username to authenticate with.
9305        '''
bind_interface

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

The bind interface is the IP 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)
9498    def to_dict(self):
9499        return {
9500            'bind_interface': self.bind_interface,
9501            'database': self.database,
9502            'egress_filter': self.egress_filter,
9503            'healthy': self.healthy,
9504            'hostname': self.hostname,
9505            'id': self.id,
9506            'name': self.name,
9507            'override_database': self.override_database,
9508            'password': self.password,
9509            'port': self.port,
9510            'port_override': self.port_override,
9511            'proxy_cluster_id': self.proxy_cluster_id,
9512            'secret_store_id': self.secret_store_id,
9513            'subdomain': self.subdomain,
9514            'tags': self.tags,
9515            'username': self.username,
9516        }
@classmethod
def from_dict(cls, d)
9518    @classmethod
9519    def from_dict(cls, d):
9520        return cls(
9521            bind_interface=d.get('bind_interface'),
9522            database=d.get('database'),
9523            egress_filter=d.get('egress_filter'),
9524            healthy=d.get('healthy'),
9525            hostname=d.get('hostname'),
9526            id=d.get('id'),
9527            name=d.get('name'),
9528            override_database=d.get('override_database'),
9529            password=d.get('password'),
9530            port=d.get('port'),
9531            port_override=d.get('port_override'),
9532            proxy_cluster_id=d.get('proxy_cluster_id'),
9533            secret_store_id=d.get('secret_store_id'),
9534            subdomain=d.get('subdomain'),
9535            tags=d.get('tags'),
9536            username=d.get('username'),
9537        )
class ControlPanelGetRDPCAPublicKeyResponse:
9540class ControlPanelGetRDPCAPublicKeyResponse:
9541    '''
9542         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
9543     organization's RDP Certificate Authority public key.
9544    '''
9545    __slots__ = [
9546        'meta',
9547        'public_key',
9548        'rate_limit',
9549    ]
9550
9551    def __init__(
9552        self,
9553        meta=None,
9554        public_key=None,
9555        rate_limit=None,
9556    ):
9557        self.meta = meta if meta is not None else None
9558        '''
9559         Reserved for future use.
9560        '''
9561        self.public_key = public_key if public_key is not None else ''
9562        '''
9563         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9564         key format.
9565        '''
9566        self.rate_limit = rate_limit if rate_limit is not None else None
9567        '''
9568         Rate limit information.
9569        '''
9570
9571    def __repr__(self):
9572        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
9573            'meta: ' + repr(self.meta) + ' ' +\
9574            'public_key: ' + repr(self.public_key) + ' ' +\
9575            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9576            '>'
9577
9578    def to_dict(self):
9579        return {
9580            'meta': self.meta,
9581            'public_key': self.public_key,
9582            'rate_limit': self.rate_limit,
9583        }
9584
9585    @classmethod
9586    def from_dict(cls, d):
9587        return cls(
9588            meta=d.get('meta'),
9589            public_key=d.get('public_key'),
9590            rate_limit=d.get('rate_limit'),
9591        )

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9551    def __init__(
9552        self,
9553        meta=None,
9554        public_key=None,
9555        rate_limit=None,
9556    ):
9557        self.meta = meta if meta is not None else None
9558        '''
9559         Reserved for future use.
9560        '''
9561        self.public_key = public_key if public_key is not None else ''
9562        '''
9563         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9564         key format.
9565        '''
9566        self.rate_limit = rate_limit if rate_limit is not None else None
9567        '''
9568         Rate limit information.
9569        '''
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)
9578    def to_dict(self):
9579        return {
9580            'meta': self.meta,
9581            'public_key': self.public_key,
9582            'rate_limit': self.rate_limit,
9583        }
@classmethod
def from_dict(cls, d)
9585    @classmethod
9586    def from_dict(cls, d):
9587        return cls(
9588            meta=d.get('meta'),
9589            public_key=d.get('public_key'),
9590            rate_limit=d.get('rate_limit'),
9591        )
class ControlPanelGetSSHCAPublicKeyResponse:
9594class ControlPanelGetSSHCAPublicKeyResponse:
9595    '''
9596         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
9597     organization's SSH Certificate Authority public key.
9598    '''
9599    __slots__ = [
9600        'meta',
9601        'public_key',
9602        'rate_limit',
9603    ]
9604
9605    def __init__(
9606        self,
9607        meta=None,
9608        public_key=None,
9609        rate_limit=None,
9610    ):
9611        self.meta = meta if meta is not None else None
9612        '''
9613         Reserved for future use.
9614        '''
9615        self.public_key = public_key if public_key is not None else ''
9616        '''
9617         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9618         key format.
9619        '''
9620        self.rate_limit = rate_limit if rate_limit is not None else None
9621        '''
9622         Rate limit information.
9623        '''
9624
9625    def __repr__(self):
9626        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
9627            'meta: ' + repr(self.meta) + ' ' +\
9628            'public_key: ' + repr(self.public_key) + ' ' +\
9629            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9630            '>'
9631
9632    def to_dict(self):
9633        return {
9634            'meta': self.meta,
9635            'public_key': self.public_key,
9636            'rate_limit': self.rate_limit,
9637        }
9638
9639    @classmethod
9640    def from_dict(cls, d):
9641        return cls(
9642            meta=d.get('meta'),
9643            public_key=d.get('public_key'),
9644            rate_limit=d.get('rate_limit'),
9645        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
9605    def __init__(
9606        self,
9607        meta=None,
9608        public_key=None,
9609        rate_limit=None,
9610    ):
9611        self.meta = meta if meta is not None else None
9612        '''
9613         Reserved for future use.
9614        '''
9615        self.public_key = public_key if public_key is not None else ''
9616        '''
9617         The public key of the SSH Certificate Authority, in OpenSSH RSA public
9618         key format.
9619        '''
9620        self.rate_limit = rate_limit if rate_limit is not None else None
9621        '''
9622         Rate limit information.
9623        '''
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)
9632    def to_dict(self):
9633        return {
9634            'meta': self.meta,
9635            'public_key': self.public_key,
9636            'rate_limit': self.rate_limit,
9637        }
@classmethod
def from_dict(cls, d)
9639    @classmethod
9640    def from_dict(cls, d):
9641        return cls(
9642            meta=d.get('meta'),
9643            public_key=d.get('public_key'),
9644            rate_limit=d.get('rate_limit'),
9645        )
class ControlPanelVerifyJWTResponse:
9648class ControlPanelVerifyJWTResponse:
9649    '''
9650         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
9651    '''
9652    __slots__ = [
9653        'meta',
9654        'rate_limit',
9655        'valid',
9656    ]
9657
9658    def __init__(
9659        self,
9660        meta=None,
9661        rate_limit=None,
9662        valid=None,
9663    ):
9664        self.meta = meta if meta is not None else None
9665        '''
9666         Reserved for future use.
9667        '''
9668        self.rate_limit = rate_limit if rate_limit is not None else None
9669        '''
9670         Rate limit information.
9671        '''
9672        self.valid = valid if valid is not None else False
9673        '''
9674         Reports if the given token is valid.
9675        '''
9676
9677    def __repr__(self):
9678        return '<sdm.ControlPanelVerifyJWTResponse ' + \
9679            'meta: ' + repr(self.meta) + ' ' +\
9680            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
9681            'valid: ' + repr(self.valid) + ' ' +\
9682            '>'
9683
9684    def to_dict(self):
9685        return {
9686            'meta': self.meta,
9687            'rate_limit': self.rate_limit,
9688            'valid': self.valid,
9689        }
9690
9691    @classmethod
9692    def from_dict(cls, d):
9693        return cls(
9694            meta=d.get('meta'),
9695            rate_limit=d.get('rate_limit'),
9696            valid=d.get('valid'),
9697        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
9658    def __init__(
9659        self,
9660        meta=None,
9661        rate_limit=None,
9662        valid=None,
9663    ):
9664        self.meta = meta if meta is not None else None
9665        '''
9666         Reserved for future use.
9667        '''
9668        self.rate_limit = rate_limit if rate_limit is not None else None
9669        '''
9670         Rate limit information.
9671        '''
9672        self.valid = valid if valid is not None else False
9673        '''
9674         Reports if the given token is valid.
9675        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
9684    def to_dict(self):
9685        return {
9686            'meta': self.meta,
9687            'rate_limit': self.rate_limit,
9688            'valid': self.valid,
9689        }
@classmethod
def from_dict(cls, d)
9691    @classmethod
9692    def from_dict(cls, d):
9693        return cls(
9694            meta=d.get('meta'),
9695            rate_limit=d.get('rate_limit'),
9696            valid=d.get('valid'),
9697        )
class CouchbaseDatabase:
9700class CouchbaseDatabase:
9701    __slots__ = [
9702        'bind_interface',
9703        'egress_filter',
9704        'healthy',
9705        'hostname',
9706        'id',
9707        'n1ql_port',
9708        'name',
9709        'password',
9710        'port',
9711        'port_override',
9712        'proxy_cluster_id',
9713        'secret_store_id',
9714        'subdomain',
9715        'tags',
9716        'tls_required',
9717        'username',
9718    ]
9719
9720    def __init__(
9721        self,
9722        bind_interface=None,
9723        egress_filter=None,
9724        healthy=None,
9725        hostname=None,
9726        id=None,
9727        n1ql_port=None,
9728        name=None,
9729        password=None,
9730        port=None,
9731        port_override=None,
9732        proxy_cluster_id=None,
9733        secret_store_id=None,
9734        subdomain=None,
9735        tags=None,
9736        tls_required=None,
9737        username=None,
9738    ):
9739        self.bind_interface = bind_interface if bind_interface is not None else ''
9740        '''
9741         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9742        '''
9743        self.egress_filter = egress_filter if egress_filter is not None else ''
9744        '''
9745         A filter applied to the routing logic to pin datasource to nodes.
9746        '''
9747        self.healthy = healthy if healthy is not None else False
9748        '''
9749         True if the datasource is reachable and the credentials are valid.
9750        '''
9751        self.hostname = hostname if hostname is not None else ''
9752        '''
9753         The host to dial to initiate a connection from the egress node to this resource.
9754        '''
9755        self.id = id if id is not None else ''
9756        '''
9757         Unique identifier of the Resource.
9758        '''
9759        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
9760        '''
9761         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
9762        '''
9763        self.name = name if name is not None else ''
9764        '''
9765         Unique human-readable name of the Resource.
9766        '''
9767        self.password = password if password is not None else ''
9768        '''
9769         The password to authenticate with.
9770        '''
9771        self.port = port if port is not None else 0
9772        '''
9773         The port to dial to initiate a connection from the egress node to this resource.
9774        '''
9775        self.port_override = port_override if port_override is not None else 0
9776        '''
9777         The local port used by clients to connect to this resource.
9778        '''
9779        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9780        '''
9781         ID of the proxy cluster for this resource, if any.
9782        '''
9783        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9784        '''
9785         ID of the secret store containing credentials for this resource, if any.
9786        '''
9787        self.subdomain = subdomain if subdomain is not None else ''
9788        '''
9789         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9790        '''
9791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9792        '''
9793         Tags is a map of key, value pairs.
9794        '''
9795        self.tls_required = tls_required if tls_required is not None else False
9796        '''
9797         If set, TLS must be used to connect to this resource.
9798        '''
9799        self.username = username if username is not None else ''
9800        '''
9801         The username to authenticate with.
9802        '''
9803
9804    def __repr__(self):
9805        return '<sdm.CouchbaseDatabase ' + \
9806            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9807            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9808            'healthy: ' + repr(self.healthy) + ' ' +\
9809            'hostname: ' + repr(self.hostname) + ' ' +\
9810            'id: ' + repr(self.id) + ' ' +\
9811            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
9812            'name: ' + repr(self.name) + ' ' +\
9813            'password: ' + repr(self.password) + ' ' +\
9814            'port: ' + repr(self.port) + ' ' +\
9815            'port_override: ' + repr(self.port_override) + ' ' +\
9816            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9817            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9818            'subdomain: ' + repr(self.subdomain) + ' ' +\
9819            'tags: ' + repr(self.tags) + ' ' +\
9820            'tls_required: ' + repr(self.tls_required) + ' ' +\
9821            'username: ' + repr(self.username) + ' ' +\
9822            '>'
9823
9824    def to_dict(self):
9825        return {
9826            'bind_interface': self.bind_interface,
9827            'egress_filter': self.egress_filter,
9828            'healthy': self.healthy,
9829            'hostname': self.hostname,
9830            'id': self.id,
9831            'n1ql_port': self.n1ql_port,
9832            'name': self.name,
9833            'password': self.password,
9834            'port': self.port,
9835            'port_override': self.port_override,
9836            'proxy_cluster_id': self.proxy_cluster_id,
9837            'secret_store_id': self.secret_store_id,
9838            'subdomain': self.subdomain,
9839            'tags': self.tags,
9840            'tls_required': self.tls_required,
9841            'username': self.username,
9842        }
9843
9844    @classmethod
9845    def from_dict(cls, d):
9846        return cls(
9847            bind_interface=d.get('bind_interface'),
9848            egress_filter=d.get('egress_filter'),
9849            healthy=d.get('healthy'),
9850            hostname=d.get('hostname'),
9851            id=d.get('id'),
9852            n1ql_port=d.get('n1ql_port'),
9853            name=d.get('name'),
9854            password=d.get('password'),
9855            port=d.get('port'),
9856            port_override=d.get('port_override'),
9857            proxy_cluster_id=d.get('proxy_cluster_id'),
9858            secret_store_id=d.get('secret_store_id'),
9859            subdomain=d.get('subdomain'),
9860            tags=d.get('tags'),
9861            tls_required=d.get('tls_required'),
9862            username=d.get('username'),
9863        )
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)
9720    def __init__(
9721        self,
9722        bind_interface=None,
9723        egress_filter=None,
9724        healthy=None,
9725        hostname=None,
9726        id=None,
9727        n1ql_port=None,
9728        name=None,
9729        password=None,
9730        port=None,
9731        port_override=None,
9732        proxy_cluster_id=None,
9733        secret_store_id=None,
9734        subdomain=None,
9735        tags=None,
9736        tls_required=None,
9737        username=None,
9738    ):
9739        self.bind_interface = bind_interface if bind_interface is not None else ''
9740        '''
9741         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
9742        '''
9743        self.egress_filter = egress_filter if egress_filter is not None else ''
9744        '''
9745         A filter applied to the routing logic to pin datasource to nodes.
9746        '''
9747        self.healthy = healthy if healthy is not None else False
9748        '''
9749         True if the datasource is reachable and the credentials are valid.
9750        '''
9751        self.hostname = hostname if hostname is not None else ''
9752        '''
9753         The host to dial to initiate a connection from the egress node to this resource.
9754        '''
9755        self.id = id if id is not None else ''
9756        '''
9757         Unique identifier of the Resource.
9758        '''
9759        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
9760        '''
9761         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
9762        '''
9763        self.name = name if name is not None else ''
9764        '''
9765         Unique human-readable name of the Resource.
9766        '''
9767        self.password = password if password is not None else ''
9768        '''
9769         The password to authenticate with.
9770        '''
9771        self.port = port if port is not None else 0
9772        '''
9773         The port to dial to initiate a connection from the egress node to this resource.
9774        '''
9775        self.port_override = port_override if port_override is not None else 0
9776        '''
9777         The local port used by clients to connect to this resource.
9778        '''
9779        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9780        '''
9781         ID of the proxy cluster for this resource, if any.
9782        '''
9783        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9784        '''
9785         ID of the secret store containing credentials for this resource, if any.
9786        '''
9787        self.subdomain = subdomain if subdomain is not None else ''
9788        '''
9789         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
9790        '''
9791        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9792        '''
9793         Tags is a map of key, value pairs.
9794        '''
9795        self.tls_required = tls_required if tls_required is not None else False
9796        '''
9797         If set, TLS must be used to connect to this resource.
9798        '''
9799        self.username = username if username is not None else ''
9800        '''
9801         The username to authenticate with.
9802        '''
bind_interface

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

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

egress_filter

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

healthy

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

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)
9969    def to_dict(self):
9970        return {
9971            'bind_interface': self.bind_interface,
9972            'egress_filter': self.egress_filter,
9973            'healthy': self.healthy,
9974            'id': self.id,
9975            'name': self.name,
9976            'password': self.password,
9977            'port_override': self.port_override,
9978            'proxy_cluster_id': self.proxy_cluster_id,
9979            'secret_store_id': self.secret_store_id,
9980            'subdomain': self.subdomain,
9981            'tags': self.tags,
9982            'url': self.url,
9983            'username': self.username,
9984        }
@classmethod
def from_dict(cls, d)
 9986    @classmethod
 9987    def from_dict(cls, d):
 9988        return cls(
 9989            bind_interface=d.get('bind_interface'),
 9990            egress_filter=d.get('egress_filter'),
 9991            healthy=d.get('healthy'),
 9992            id=d.get('id'),
 9993            name=d.get('name'),
 9994            password=d.get('password'),
 9995            port_override=d.get('port_override'),
 9996            proxy_cluster_id=d.get('proxy_cluster_id'),
 9997            secret_store_id=d.get('secret_store_id'),
 9998            subdomain=d.get('subdomain'),
 9999            tags=d.get('tags'),
10000            url=d.get('url'),
10001            username=d.get('username'),
10002        )
class CreateResponseMetadata:
10005class CreateResponseMetadata:
10006    '''
10007         CreateResponseMetadata is reserved for future use.
10008    '''
10009    __slots__ = []
10010
10011    def __init__(self, ):
10012        pass
10013
10014    def __repr__(self):
10015        return '<sdm.CreateResponseMetadata ' + \
10016            '>'
10017
10018    def to_dict(self):
10019        return {}
10020
10021    @classmethod
10022    def from_dict(cls, d):
10023        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
10011    def __init__(self, ):
10012        pass
def to_dict(self)
10018    def to_dict(self):
10019        return {}
@classmethod
def from_dict(cls, d)
10021    @classmethod
10022    def from_dict(cls, d):
10023        return cls()
class CyberarkConjurStore:
10026class CyberarkConjurStore:
10027    __slots__ = [
10028        'appurl',
10029        'id',
10030        'name',
10031        'tags',
10032    ]
10033
10034    def __init__(
10035        self,
10036        appurl=None,
10037        id=None,
10038        name=None,
10039        tags=None,
10040    ):
10041        self.appurl = appurl if appurl is not None else ''
10042        '''
10043         The URL of the Cyberark instance
10044        '''
10045        self.id = id if id is not None else ''
10046        '''
10047         Unique identifier of the SecretStore.
10048        '''
10049        self.name = name if name is not None else ''
10050        '''
10051         Unique human-readable name of the SecretStore.
10052        '''
10053        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10054        '''
10055         Tags is a map of key, value pairs.
10056        '''
10057
10058    def __repr__(self):
10059        return '<sdm.CyberarkConjurStore ' + \
10060            'appurl: ' + repr(self.appurl) + ' ' +\
10061            'id: ' + repr(self.id) + ' ' +\
10062            'name: ' + repr(self.name) + ' ' +\
10063            'tags: ' + repr(self.tags) + ' ' +\
10064            '>'
10065
10066    def to_dict(self):
10067        return {
10068            'appurl': self.appurl,
10069            'id': self.id,
10070            'name': self.name,
10071            'tags': self.tags,
10072        }
10073
10074    @classmethod
10075    def from_dict(cls, d):
10076        return cls(
10077            appurl=d.get('appurl'),
10078            id=d.get('id'),
10079            name=d.get('name'),
10080            tags=d.get('tags'),
10081        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
10034    def __init__(
10035        self,
10036        appurl=None,
10037        id=None,
10038        name=None,
10039        tags=None,
10040    ):
10041        self.appurl = appurl if appurl is not None else ''
10042        '''
10043         The URL of the Cyberark instance
10044        '''
10045        self.id = id if id is not None else ''
10046        '''
10047         Unique identifier of the SecretStore.
10048        '''
10049        self.name = name if name is not None else ''
10050        '''
10051         Unique human-readable name of the SecretStore.
10052        '''
10053        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10054        '''
10055         Tags is a map of key, value pairs.
10056        '''
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)
10066    def to_dict(self):
10067        return {
10068            'appurl': self.appurl,
10069            'id': self.id,
10070            'name': self.name,
10071            'tags': self.tags,
10072        }
@classmethod
def from_dict(cls, d)
10074    @classmethod
10075    def from_dict(cls, d):
10076        return cls(
10077            appurl=d.get('appurl'),
10078            id=d.get('id'),
10079            name=d.get('name'),
10080            tags=d.get('tags'),
10081        )
class CyberarkPAMExperimentalStore:
10084class CyberarkPAMExperimentalStore:
10085    '''
10086    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10087    without a major version bump.
10088    '''
10089    __slots__ = [
10090        'appurl',
10091        'id',
10092        'name',
10093        'tags',
10094    ]
10095
10096    def __init__(
10097        self,
10098        appurl=None,
10099        id=None,
10100        name=None,
10101        tags=None,
10102    ):
10103        self.appurl = appurl if appurl is not None else ''
10104        '''
10105         The URL of the Cyberark instance
10106        '''
10107        self.id = id if id is not None else ''
10108        '''
10109         Unique identifier of the SecretStore.
10110        '''
10111        self.name = name if name is not None else ''
10112        '''
10113         Unique human-readable name of the SecretStore.
10114        '''
10115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10116        '''
10117         Tags is a map of key, value pairs.
10118        '''
10119
10120    def __repr__(self):
10121        return '<sdm.CyberarkPAMExperimentalStore ' + \
10122            'appurl: ' + repr(self.appurl) + ' ' +\
10123            'id: ' + repr(self.id) + ' ' +\
10124            'name: ' + repr(self.name) + ' ' +\
10125            'tags: ' + repr(self.tags) + ' ' +\
10126            '>'
10127
10128    def to_dict(self):
10129        return {
10130            'appurl': self.appurl,
10131            'id': self.id,
10132            'name': self.name,
10133            'tags': self.tags,
10134        }
10135
10136    @classmethod
10137    def from_dict(cls, d):
10138        return cls(
10139            appurl=d.get('appurl'),
10140            id=d.get('id'),
10141            name=d.get('name'),
10142            tags=d.get('tags'),
10143        )

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)
10096    def __init__(
10097        self,
10098        appurl=None,
10099        id=None,
10100        name=None,
10101        tags=None,
10102    ):
10103        self.appurl = appurl if appurl is not None else ''
10104        '''
10105         The URL of the Cyberark instance
10106        '''
10107        self.id = id if id is not None else ''
10108        '''
10109         Unique identifier of the SecretStore.
10110        '''
10111        self.name = name if name is not None else ''
10112        '''
10113         Unique human-readable name of the SecretStore.
10114        '''
10115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10116        '''
10117         Tags is a map of key, value pairs.
10118        '''
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)
10128    def to_dict(self):
10129        return {
10130            'appurl': self.appurl,
10131            'id': self.id,
10132            'name': self.name,
10133            'tags': self.tags,
10134        }
@classmethod
def from_dict(cls, d)
10136    @classmethod
10137    def from_dict(cls, d):
10138        return cls(
10139            appurl=d.get('appurl'),
10140            id=d.get('id'),
10141            name=d.get('name'),
10142            tags=d.get('tags'),
10143        )
class CyberarkPAMStore:
10146class CyberarkPAMStore:
10147    __slots__ = [
10148        'appurl',
10149        'id',
10150        'name',
10151        'tags',
10152    ]
10153
10154    def __init__(
10155        self,
10156        appurl=None,
10157        id=None,
10158        name=None,
10159        tags=None,
10160    ):
10161        self.appurl = appurl if appurl is not None else ''
10162        '''
10163         The URL of the Cyberark instance
10164        '''
10165        self.id = id if id is not None else ''
10166        '''
10167         Unique identifier of the SecretStore.
10168        '''
10169        self.name = name if name is not None else ''
10170        '''
10171         Unique human-readable name of the SecretStore.
10172        '''
10173        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10174        '''
10175         Tags is a map of key, value pairs.
10176        '''
10177
10178    def __repr__(self):
10179        return '<sdm.CyberarkPAMStore ' + \
10180            'appurl: ' + repr(self.appurl) + ' ' +\
10181            'id: ' + repr(self.id) + ' ' +\
10182            'name: ' + repr(self.name) + ' ' +\
10183            'tags: ' + repr(self.tags) + ' ' +\
10184            '>'
10185
10186    def to_dict(self):
10187        return {
10188            'appurl': self.appurl,
10189            'id': self.id,
10190            'name': self.name,
10191            'tags': self.tags,
10192        }
10193
10194    @classmethod
10195    def from_dict(cls, d):
10196        return cls(
10197            appurl=d.get('appurl'),
10198            id=d.get('id'),
10199            name=d.get('name'),
10200            tags=d.get('tags'),
10201        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
10154    def __init__(
10155        self,
10156        appurl=None,
10157        id=None,
10158        name=None,
10159        tags=None,
10160    ):
10161        self.appurl = appurl if appurl is not None else ''
10162        '''
10163         The URL of the Cyberark instance
10164        '''
10165        self.id = id if id is not None else ''
10166        '''
10167         Unique identifier of the SecretStore.
10168        '''
10169        self.name = name if name is not None else ''
10170        '''
10171         Unique human-readable name of the SecretStore.
10172        '''
10173        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10174        '''
10175         Tags is a map of key, value pairs.
10176        '''
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)
10186    def to_dict(self):
10187        return {
10188            'appurl': self.appurl,
10189            'id': self.id,
10190            'name': self.name,
10191            'tags': self.tags,
10192        }
@classmethod
def from_dict(cls, d)
10194    @classmethod
10195    def from_dict(cls, d):
10196        return cls(
10197            appurl=d.get('appurl'),
10198            id=d.get('id'),
10199            name=d.get('name'),
10200            tags=d.get('tags'),
10201        )
class DB2I:
10204class DB2I:
10205    __slots__ = [
10206        'bind_interface',
10207        'egress_filter',
10208        'healthy',
10209        'hostname',
10210        'id',
10211        'name',
10212        'password',
10213        'port',
10214        'port_override',
10215        'proxy_cluster_id',
10216        'secret_store_id',
10217        'subdomain',
10218        'tags',
10219        'tls_required',
10220        'username',
10221    ]
10222
10223    def __init__(
10224        self,
10225        bind_interface=None,
10226        egress_filter=None,
10227        healthy=None,
10228        hostname=None,
10229        id=None,
10230        name=None,
10231        password=None,
10232        port=None,
10233        port_override=None,
10234        proxy_cluster_id=None,
10235        secret_store_id=None,
10236        subdomain=None,
10237        tags=None,
10238        tls_required=None,
10239        username=None,
10240    ):
10241        self.bind_interface = bind_interface if bind_interface is not None else ''
10242        '''
10243         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10244        '''
10245        self.egress_filter = egress_filter if egress_filter is not None else ''
10246        '''
10247         A filter applied to the routing logic to pin datasource to nodes.
10248        '''
10249        self.healthy = healthy if healthy is not None else False
10250        '''
10251         True if the datasource is reachable and the credentials are valid.
10252        '''
10253        self.hostname = hostname if hostname is not None else ''
10254        '''
10255         The host to dial to initiate a connection from the egress node to this resource.
10256        '''
10257        self.id = id if id is not None else ''
10258        '''
10259         Unique identifier of the Resource.
10260        '''
10261        self.name = name if name is not None else ''
10262        '''
10263         Unique human-readable name of the Resource.
10264        '''
10265        self.password = password if password is not None else ''
10266        '''
10267         The password to authenticate with.
10268        '''
10269        self.port = port if port is not None else 0
10270        '''
10271         The port to dial to initiate a connection from the egress node to this resource.
10272        '''
10273        self.port_override = port_override if port_override is not None else 0
10274        '''
10275         The local port used by clients to connect to this resource.
10276        '''
10277        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10278        '''
10279         ID of the proxy cluster for this resource, if any.
10280        '''
10281        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10282        '''
10283         ID of the secret store containing credentials for this resource, if any.
10284        '''
10285        self.subdomain = subdomain if subdomain is not None else ''
10286        '''
10287         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10288        '''
10289        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10290        '''
10291         Tags is a map of key, value pairs.
10292        '''
10293        self.tls_required = tls_required if tls_required is not None else False
10294        '''
10295         If set, TLS must be used to connect to this resource.
10296        '''
10297        self.username = username if username is not None else ''
10298        '''
10299         The username to authenticate with.
10300        '''
10301
10302    def __repr__(self):
10303        return '<sdm.DB2I ' + \
10304            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10305            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10306            'healthy: ' + repr(self.healthy) + ' ' +\
10307            'hostname: ' + repr(self.hostname) + ' ' +\
10308            'id: ' + repr(self.id) + ' ' +\
10309            'name: ' + repr(self.name) + ' ' +\
10310            'password: ' + repr(self.password) + ' ' +\
10311            'port: ' + repr(self.port) + ' ' +\
10312            'port_override: ' + repr(self.port_override) + ' ' +\
10313            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10314            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10315            'subdomain: ' + repr(self.subdomain) + ' ' +\
10316            'tags: ' + repr(self.tags) + ' ' +\
10317            'tls_required: ' + repr(self.tls_required) + ' ' +\
10318            'username: ' + repr(self.username) + ' ' +\
10319            '>'
10320
10321    def to_dict(self):
10322        return {
10323            'bind_interface': self.bind_interface,
10324            'egress_filter': self.egress_filter,
10325            'healthy': self.healthy,
10326            'hostname': self.hostname,
10327            'id': self.id,
10328            'name': self.name,
10329            'password': self.password,
10330            'port': self.port,
10331            'port_override': self.port_override,
10332            'proxy_cluster_id': self.proxy_cluster_id,
10333            'secret_store_id': self.secret_store_id,
10334            'subdomain': self.subdomain,
10335            'tags': self.tags,
10336            'tls_required': self.tls_required,
10337            'username': self.username,
10338        }
10339
10340    @classmethod
10341    def from_dict(cls, d):
10342        return cls(
10343            bind_interface=d.get('bind_interface'),
10344            egress_filter=d.get('egress_filter'),
10345            healthy=d.get('healthy'),
10346            hostname=d.get('hostname'),
10347            id=d.get('id'),
10348            name=d.get('name'),
10349            password=d.get('password'),
10350            port=d.get('port'),
10351            port_override=d.get('port_override'),
10352            proxy_cluster_id=d.get('proxy_cluster_id'),
10353            secret_store_id=d.get('secret_store_id'),
10354            subdomain=d.get('subdomain'),
10355            tags=d.get('tags'),
10356            tls_required=d.get('tls_required'),
10357            username=d.get('username'),
10358        )
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)
10223    def __init__(
10224        self,
10225        bind_interface=None,
10226        egress_filter=None,
10227        healthy=None,
10228        hostname=None,
10229        id=None,
10230        name=None,
10231        password=None,
10232        port=None,
10233        port_override=None,
10234        proxy_cluster_id=None,
10235        secret_store_id=None,
10236        subdomain=None,
10237        tags=None,
10238        tls_required=None,
10239        username=None,
10240    ):
10241        self.bind_interface = bind_interface if bind_interface is not None else ''
10242        '''
10243         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10244        '''
10245        self.egress_filter = egress_filter if egress_filter is not None else ''
10246        '''
10247         A filter applied to the routing logic to pin datasource to nodes.
10248        '''
10249        self.healthy = healthy if healthy is not None else False
10250        '''
10251         True if the datasource is reachable and the credentials are valid.
10252        '''
10253        self.hostname = hostname if hostname is not None else ''
10254        '''
10255         The host to dial to initiate a connection from the egress node to this resource.
10256        '''
10257        self.id = id if id is not None else ''
10258        '''
10259         Unique identifier of the Resource.
10260        '''
10261        self.name = name if name is not None else ''
10262        '''
10263         Unique human-readable name of the Resource.
10264        '''
10265        self.password = password if password is not None else ''
10266        '''
10267         The password to authenticate with.
10268        '''
10269        self.port = port if port is not None else 0
10270        '''
10271         The port to dial to initiate a connection from the egress node to this resource.
10272        '''
10273        self.port_override = port_override if port_override is not None else 0
10274        '''
10275         The local port used by clients to connect to this resource.
10276        '''
10277        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10278        '''
10279         ID of the proxy cluster for this resource, if any.
10280        '''
10281        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10282        '''
10283         ID of the secret store containing credentials for this resource, if any.
10284        '''
10285        self.subdomain = subdomain if subdomain is not None else ''
10286        '''
10287         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10288        '''
10289        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10290        '''
10291         Tags is a map of key, value pairs.
10292        '''
10293        self.tls_required = tls_required if tls_required is not None else False
10294        '''
10295         If set, TLS must be used to connect to this resource.
10296        '''
10297        self.username = username if username is not None else ''
10298        '''
10299         The username to authenticate with.
10300        '''
bind_interface

The bind interface is the IP 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)
10321    def to_dict(self):
10322        return {
10323            'bind_interface': self.bind_interface,
10324            'egress_filter': self.egress_filter,
10325            'healthy': self.healthy,
10326            'hostname': self.hostname,
10327            'id': self.id,
10328            'name': self.name,
10329            'password': self.password,
10330            'port': self.port,
10331            'port_override': self.port_override,
10332            'proxy_cluster_id': self.proxy_cluster_id,
10333            'secret_store_id': self.secret_store_id,
10334            'subdomain': self.subdomain,
10335            'tags': self.tags,
10336            'tls_required': self.tls_required,
10337            'username': self.username,
10338        }
@classmethod
def from_dict(cls, d)
10340    @classmethod
10341    def from_dict(cls, d):
10342        return cls(
10343            bind_interface=d.get('bind_interface'),
10344            egress_filter=d.get('egress_filter'),
10345            healthy=d.get('healthy'),
10346            hostname=d.get('hostname'),
10347            id=d.get('id'),
10348            name=d.get('name'),
10349            password=d.get('password'),
10350            port=d.get('port'),
10351            port_override=d.get('port_override'),
10352            proxy_cluster_id=d.get('proxy_cluster_id'),
10353            secret_store_id=d.get('secret_store_id'),
10354            subdomain=d.get('subdomain'),
10355            tags=d.get('tags'),
10356            tls_required=d.get('tls_required'),
10357            username=d.get('username'),
10358        )
class DB2LUW:
10361class DB2LUW:
10362    __slots__ = [
10363        'bind_interface',
10364        'database',
10365        'egress_filter',
10366        'healthy',
10367        'hostname',
10368        'id',
10369        'name',
10370        'password',
10371        'port',
10372        'port_override',
10373        'proxy_cluster_id',
10374        'secret_store_id',
10375        'subdomain',
10376        'tags',
10377        'username',
10378    ]
10379
10380    def __init__(
10381        self,
10382        bind_interface=None,
10383        database=None,
10384        egress_filter=None,
10385        healthy=None,
10386        hostname=None,
10387        id=None,
10388        name=None,
10389        password=None,
10390        port=None,
10391        port_override=None,
10392        proxy_cluster_id=None,
10393        secret_store_id=None,
10394        subdomain=None,
10395        tags=None,
10396        username=None,
10397    ):
10398        self.bind_interface = bind_interface if bind_interface is not None else ''
10399        '''
10400         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10401        '''
10402        self.database = database if database is not None else ''
10403        '''
10404         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10405        '''
10406        self.egress_filter = egress_filter if egress_filter is not None else ''
10407        '''
10408         A filter applied to the routing logic to pin datasource to nodes.
10409        '''
10410        self.healthy = healthy if healthy is not None else False
10411        '''
10412         True if the datasource is reachable and the credentials are valid.
10413        '''
10414        self.hostname = hostname if hostname is not None else ''
10415        '''
10416         The host to dial to initiate a connection from the egress node to this resource.
10417        '''
10418        self.id = id if id is not None else ''
10419        '''
10420         Unique identifier of the Resource.
10421        '''
10422        self.name = name if name is not None else ''
10423        '''
10424         Unique human-readable name of the Resource.
10425        '''
10426        self.password = password if password is not None else ''
10427        '''
10428         The password to authenticate with.
10429        '''
10430        self.port = port if port is not None else 0
10431        '''
10432         The port to dial to initiate a connection from the egress node to this resource.
10433        '''
10434        self.port_override = port_override if port_override is not None else 0
10435        '''
10436         The local port used by clients to connect to this resource.
10437        '''
10438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10439        '''
10440         ID of the proxy cluster for this resource, if any.
10441        '''
10442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10443        '''
10444         ID of the secret store containing credentials for this resource, if any.
10445        '''
10446        self.subdomain = subdomain if subdomain is not None else ''
10447        '''
10448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10449        '''
10450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10451        '''
10452         Tags is a map of key, value pairs.
10453        '''
10454        self.username = username if username is not None else ''
10455        '''
10456         The username to authenticate with.
10457        '''
10458
10459    def __repr__(self):
10460        return '<sdm.DB2LUW ' + \
10461            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10462            'database: ' + repr(self.database) + ' ' +\
10463            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10464            'healthy: ' + repr(self.healthy) + ' ' +\
10465            'hostname: ' + repr(self.hostname) + ' ' +\
10466            'id: ' + repr(self.id) + ' ' +\
10467            'name: ' + repr(self.name) + ' ' +\
10468            'password: ' + repr(self.password) + ' ' +\
10469            'port: ' + repr(self.port) + ' ' +\
10470            'port_override: ' + repr(self.port_override) + ' ' +\
10471            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10472            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10473            'subdomain: ' + repr(self.subdomain) + ' ' +\
10474            'tags: ' + repr(self.tags) + ' ' +\
10475            'username: ' + repr(self.username) + ' ' +\
10476            '>'
10477
10478    def to_dict(self):
10479        return {
10480            'bind_interface': self.bind_interface,
10481            'database': self.database,
10482            'egress_filter': self.egress_filter,
10483            'healthy': self.healthy,
10484            'hostname': self.hostname,
10485            'id': self.id,
10486            'name': self.name,
10487            'password': self.password,
10488            'port': self.port,
10489            'port_override': self.port_override,
10490            'proxy_cluster_id': self.proxy_cluster_id,
10491            'secret_store_id': self.secret_store_id,
10492            'subdomain': self.subdomain,
10493            'tags': self.tags,
10494            'username': self.username,
10495        }
10496
10497    @classmethod
10498    def from_dict(cls, d):
10499        return cls(
10500            bind_interface=d.get('bind_interface'),
10501            database=d.get('database'),
10502            egress_filter=d.get('egress_filter'),
10503            healthy=d.get('healthy'),
10504            hostname=d.get('hostname'),
10505            id=d.get('id'),
10506            name=d.get('name'),
10507            password=d.get('password'),
10508            port=d.get('port'),
10509            port_override=d.get('port_override'),
10510            proxy_cluster_id=d.get('proxy_cluster_id'),
10511            secret_store_id=d.get('secret_store_id'),
10512            subdomain=d.get('subdomain'),
10513            tags=d.get('tags'),
10514            username=d.get('username'),
10515        )
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)
10380    def __init__(
10381        self,
10382        bind_interface=None,
10383        database=None,
10384        egress_filter=None,
10385        healthy=None,
10386        hostname=None,
10387        id=None,
10388        name=None,
10389        password=None,
10390        port=None,
10391        port_override=None,
10392        proxy_cluster_id=None,
10393        secret_store_id=None,
10394        subdomain=None,
10395        tags=None,
10396        username=None,
10397    ):
10398        self.bind_interface = bind_interface if bind_interface is not None else ''
10399        '''
10400         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10401        '''
10402        self.database = database if database is not None else ''
10403        '''
10404         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10405        '''
10406        self.egress_filter = egress_filter if egress_filter is not None else ''
10407        '''
10408         A filter applied to the routing logic to pin datasource to nodes.
10409        '''
10410        self.healthy = healthy if healthy is not None else False
10411        '''
10412         True if the datasource is reachable and the credentials are valid.
10413        '''
10414        self.hostname = hostname if hostname is not None else ''
10415        '''
10416         The host to dial to initiate a connection from the egress node to this resource.
10417        '''
10418        self.id = id if id is not None else ''
10419        '''
10420         Unique identifier of the Resource.
10421        '''
10422        self.name = name if name is not None else ''
10423        '''
10424         Unique human-readable name of the Resource.
10425        '''
10426        self.password = password if password is not None else ''
10427        '''
10428         The password to authenticate with.
10429        '''
10430        self.port = port if port is not None else 0
10431        '''
10432         The port to dial to initiate a connection from the egress node to this resource.
10433        '''
10434        self.port_override = port_override if port_override is not None else 0
10435        '''
10436         The local port used by clients to connect to this resource.
10437        '''
10438        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10439        '''
10440         ID of the proxy cluster for this resource, if any.
10441        '''
10442        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10443        '''
10444         ID of the secret store containing credentials for this resource, if any.
10445        '''
10446        self.subdomain = subdomain if subdomain is not None else ''
10447        '''
10448         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10449        '''
10450        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10451        '''
10452         Tags is a map of key, value pairs.
10453        '''
10454        self.username = username if username is not None else ''
10455        '''
10456         The username to authenticate with.
10457        '''
bind_interface

The bind interface is the IP 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)
10478    def to_dict(self):
10479        return {
10480            'bind_interface': self.bind_interface,
10481            'database': self.database,
10482            'egress_filter': self.egress_filter,
10483            'healthy': self.healthy,
10484            'hostname': self.hostname,
10485            'id': self.id,
10486            'name': self.name,
10487            'password': self.password,
10488            'port': self.port,
10489            'port_override': self.port_override,
10490            'proxy_cluster_id': self.proxy_cluster_id,
10491            'secret_store_id': self.secret_store_id,
10492            'subdomain': self.subdomain,
10493            'tags': self.tags,
10494            'username': self.username,
10495        }
@classmethod
def from_dict(cls, d)
10497    @classmethod
10498    def from_dict(cls, d):
10499        return cls(
10500            bind_interface=d.get('bind_interface'),
10501            database=d.get('database'),
10502            egress_filter=d.get('egress_filter'),
10503            healthy=d.get('healthy'),
10504            hostname=d.get('hostname'),
10505            id=d.get('id'),
10506            name=d.get('name'),
10507            password=d.get('password'),
10508            port=d.get('port'),
10509            port_override=d.get('port_override'),
10510            proxy_cluster_id=d.get('proxy_cluster_id'),
10511            secret_store_id=d.get('secret_store_id'),
10512            subdomain=d.get('subdomain'),
10513            tags=d.get('tags'),
10514            username=d.get('username'),
10515        )
class DeleteResponseMetadata:
10518class DeleteResponseMetadata:
10519    '''
10520         DeleteResponseMetadata is reserved for future use.
10521    '''
10522    __slots__ = []
10523
10524    def __init__(self, ):
10525        pass
10526
10527    def __repr__(self):
10528        return '<sdm.DeleteResponseMetadata ' + \
10529            '>'
10530
10531    def to_dict(self):
10532        return {}
10533
10534    @classmethod
10535    def from_dict(cls, d):
10536        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
10524    def __init__(self, ):
10525        pass
def to_dict(self)
10531    def to_dict(self):
10532        return {}
@classmethod
def from_dict(cls, d)
10534    @classmethod
10535    def from_dict(cls, d):
10536        return cls()
class DelineaStore:
10539class DelineaStore:
10540    __slots__ = [
10541        'id',
10542        'name',
10543        'server_url',
10544        'tags',
10545        'tenant_name',
10546    ]
10547
10548    def __init__(
10549        self,
10550        id=None,
10551        name=None,
10552        server_url=None,
10553        tags=None,
10554        tenant_name=None,
10555    ):
10556        self.id = id if id is not None else ''
10557        '''
10558         Unique identifier of the SecretStore.
10559        '''
10560        self.name = name if name is not None else ''
10561        '''
10562         Unique human-readable name of the SecretStore.
10563        '''
10564        self.server_url = server_url if server_url is not None else ''
10565        '''
10566         The URL of the Delinea instance
10567        '''
10568        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10569        '''
10570         Tags is a map of key, value pairs.
10571        '''
10572        self.tenant_name = tenant_name if tenant_name is not None else ''
10573        '''
10574         The tenant name to target
10575        '''
10576
10577    def __repr__(self):
10578        return '<sdm.DelineaStore ' + \
10579            'id: ' + repr(self.id) + ' ' +\
10580            'name: ' + repr(self.name) + ' ' +\
10581            'server_url: ' + repr(self.server_url) + ' ' +\
10582            'tags: ' + repr(self.tags) + ' ' +\
10583            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
10584            '>'
10585
10586    def to_dict(self):
10587        return {
10588            'id': self.id,
10589            'name': self.name,
10590            'server_url': self.server_url,
10591            'tags': self.tags,
10592            'tenant_name': self.tenant_name,
10593        }
10594
10595    @classmethod
10596    def from_dict(cls, d):
10597        return cls(
10598            id=d.get('id'),
10599            name=d.get('name'),
10600            server_url=d.get('server_url'),
10601            tags=d.get('tags'),
10602            tenant_name=d.get('tenant_name'),
10603        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
10548    def __init__(
10549        self,
10550        id=None,
10551        name=None,
10552        server_url=None,
10553        tags=None,
10554        tenant_name=None,
10555    ):
10556        self.id = id if id is not None else ''
10557        '''
10558         Unique identifier of the SecretStore.
10559        '''
10560        self.name = name if name is not None else ''
10561        '''
10562         Unique human-readable name of the SecretStore.
10563        '''
10564        self.server_url = server_url if server_url is not None else ''
10565        '''
10566         The URL of the Delinea instance
10567        '''
10568        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10569        '''
10570         Tags is a map of key, value pairs.
10571        '''
10572        self.tenant_name = tenant_name if tenant_name is not None else ''
10573        '''
10574         The tenant name to target
10575        '''
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)
10586    def to_dict(self):
10587        return {
10588            'id': self.id,
10589            'name': self.name,
10590            'server_url': self.server_url,
10591            'tags': self.tags,
10592            'tenant_name': self.tenant_name,
10593        }
@classmethod
def from_dict(cls, d)
10595    @classmethod
10596    def from_dict(cls, d):
10597        return cls(
10598            id=d.get('id'),
10599            name=d.get('name'),
10600            server_url=d.get('server_url'),
10601            tags=d.get('tags'),
10602            tenant_name=d.get('tenant_name'),
10603        )
class DocumentDBHost:
10606class DocumentDBHost:
10607    __slots__ = [
10608        'auth_database',
10609        'bind_interface',
10610        'egress_filter',
10611        'healthy',
10612        'hostname',
10613        'id',
10614        'name',
10615        'password',
10616        'port',
10617        'port_override',
10618        'proxy_cluster_id',
10619        'secret_store_id',
10620        'subdomain',
10621        'tags',
10622        'username',
10623    ]
10624
10625    def __init__(
10626        self,
10627        auth_database=None,
10628        bind_interface=None,
10629        egress_filter=None,
10630        healthy=None,
10631        hostname=None,
10632        id=None,
10633        name=None,
10634        password=None,
10635        port=None,
10636        port_override=None,
10637        proxy_cluster_id=None,
10638        secret_store_id=None,
10639        subdomain=None,
10640        tags=None,
10641        username=None,
10642    ):
10643        self.auth_database = auth_database if auth_database is not None else ''
10644        '''
10645         The authentication database to use.
10646        '''
10647        self.bind_interface = bind_interface if bind_interface is not None else ''
10648        '''
10649         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10650        '''
10651        self.egress_filter = egress_filter if egress_filter is not None else ''
10652        '''
10653         A filter applied to the routing logic to pin datasource to nodes.
10654        '''
10655        self.healthy = healthy if healthy is not None else False
10656        '''
10657         True if the datasource is reachable and the credentials are valid.
10658        '''
10659        self.hostname = hostname if hostname is not None else ''
10660        '''
10661         The host to dial to initiate a connection from the egress node to this resource.
10662        '''
10663        self.id = id if id is not None else ''
10664        '''
10665         Unique identifier of the Resource.
10666        '''
10667        self.name = name if name is not None else ''
10668        '''
10669         Unique human-readable name of the Resource.
10670        '''
10671        self.password = password if password is not None else ''
10672        '''
10673         The password to authenticate with.
10674        '''
10675        self.port = port if port is not None else 0
10676        '''
10677         The port to dial to initiate a connection from the egress node to this resource.
10678        '''
10679        self.port_override = port_override if port_override is not None else 0
10680        '''
10681         The local port used by clients to connect to this resource.
10682        '''
10683        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10684        '''
10685         ID of the proxy cluster for this resource, if any.
10686        '''
10687        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10688        '''
10689         ID of the secret store containing credentials for this resource, if any.
10690        '''
10691        self.subdomain = subdomain if subdomain is not None else ''
10692        '''
10693         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10694        '''
10695        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10696        '''
10697         Tags is a map of key, value pairs.
10698        '''
10699        self.username = username if username is not None else ''
10700        '''
10701         The username to authenticate with.
10702        '''
10703
10704    def __repr__(self):
10705        return '<sdm.DocumentDBHost ' + \
10706            'auth_database: ' + repr(self.auth_database) + ' ' +\
10707            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10708            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10709            'healthy: ' + repr(self.healthy) + ' ' +\
10710            'hostname: ' + repr(self.hostname) + ' ' +\
10711            'id: ' + repr(self.id) + ' ' +\
10712            'name: ' + repr(self.name) + ' ' +\
10713            'password: ' + repr(self.password) + ' ' +\
10714            'port: ' + repr(self.port) + ' ' +\
10715            'port_override: ' + repr(self.port_override) + ' ' +\
10716            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10717            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10718            'subdomain: ' + repr(self.subdomain) + ' ' +\
10719            'tags: ' + repr(self.tags) + ' ' +\
10720            'username: ' + repr(self.username) + ' ' +\
10721            '>'
10722
10723    def to_dict(self):
10724        return {
10725            'auth_database': self.auth_database,
10726            'bind_interface': self.bind_interface,
10727            'egress_filter': self.egress_filter,
10728            'healthy': self.healthy,
10729            'hostname': self.hostname,
10730            'id': self.id,
10731            'name': self.name,
10732            'password': self.password,
10733            'port': self.port,
10734            'port_override': self.port_override,
10735            'proxy_cluster_id': self.proxy_cluster_id,
10736            'secret_store_id': self.secret_store_id,
10737            'subdomain': self.subdomain,
10738            'tags': self.tags,
10739            'username': self.username,
10740        }
10741
10742    @classmethod
10743    def from_dict(cls, d):
10744        return cls(
10745            auth_database=d.get('auth_database'),
10746            bind_interface=d.get('bind_interface'),
10747            egress_filter=d.get('egress_filter'),
10748            healthy=d.get('healthy'),
10749            hostname=d.get('hostname'),
10750            id=d.get('id'),
10751            name=d.get('name'),
10752            password=d.get('password'),
10753            port=d.get('port'),
10754            port_override=d.get('port_override'),
10755            proxy_cluster_id=d.get('proxy_cluster_id'),
10756            secret_store_id=d.get('secret_store_id'),
10757            subdomain=d.get('subdomain'),
10758            tags=d.get('tags'),
10759            username=d.get('username'),
10760        )
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)
10625    def __init__(
10626        self,
10627        auth_database=None,
10628        bind_interface=None,
10629        egress_filter=None,
10630        healthy=None,
10631        hostname=None,
10632        id=None,
10633        name=None,
10634        password=None,
10635        port=None,
10636        port_override=None,
10637        proxy_cluster_id=None,
10638        secret_store_id=None,
10639        subdomain=None,
10640        tags=None,
10641        username=None,
10642    ):
10643        self.auth_database = auth_database if auth_database is not None else ''
10644        '''
10645         The authentication database to use.
10646        '''
10647        self.bind_interface = bind_interface if bind_interface is not None else ''
10648        '''
10649         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10650        '''
10651        self.egress_filter = egress_filter if egress_filter is not None else ''
10652        '''
10653         A filter applied to the routing logic to pin datasource to nodes.
10654        '''
10655        self.healthy = healthy if healthy is not None else False
10656        '''
10657         True if the datasource is reachable and the credentials are valid.
10658        '''
10659        self.hostname = hostname if hostname is not None else ''
10660        '''
10661         The host to dial to initiate a connection from the egress node to this resource.
10662        '''
10663        self.id = id if id is not None else ''
10664        '''
10665         Unique identifier of the Resource.
10666        '''
10667        self.name = name if name is not None else ''
10668        '''
10669         Unique human-readable name of the Resource.
10670        '''
10671        self.password = password if password is not None else ''
10672        '''
10673         The password to authenticate with.
10674        '''
10675        self.port = port if port is not None else 0
10676        '''
10677         The port to dial to initiate a connection from the egress node to this resource.
10678        '''
10679        self.port_override = port_override if port_override is not None else 0
10680        '''
10681         The local port used by clients to connect to this resource.
10682        '''
10683        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10684        '''
10685         ID of the proxy cluster for this resource, if any.
10686        '''
10687        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10688        '''
10689         ID of the secret store containing credentials for this resource, if any.
10690        '''
10691        self.subdomain = subdomain if subdomain is not None else ''
10692        '''
10693         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10694        '''
10695        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10696        '''
10697         Tags is a map of key, value pairs.
10698        '''
10699        self.username = username if username is not None else ''
10700        '''
10701         The username to authenticate with.
10702        '''
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)
10723    def to_dict(self):
10724        return {
10725            'auth_database': self.auth_database,
10726            'bind_interface': self.bind_interface,
10727            'egress_filter': self.egress_filter,
10728            'healthy': self.healthy,
10729            'hostname': self.hostname,
10730            'id': self.id,
10731            'name': self.name,
10732            'password': self.password,
10733            'port': self.port,
10734            'port_override': self.port_override,
10735            'proxy_cluster_id': self.proxy_cluster_id,
10736            'secret_store_id': self.secret_store_id,
10737            'subdomain': self.subdomain,
10738            'tags': self.tags,
10739            'username': self.username,
10740        }
@classmethod
def from_dict(cls, d)
10742    @classmethod
10743    def from_dict(cls, d):
10744        return cls(
10745            auth_database=d.get('auth_database'),
10746            bind_interface=d.get('bind_interface'),
10747            egress_filter=d.get('egress_filter'),
10748            healthy=d.get('healthy'),
10749            hostname=d.get('hostname'),
10750            id=d.get('id'),
10751            name=d.get('name'),
10752            password=d.get('password'),
10753            port=d.get('port'),
10754            port_override=d.get('port_override'),
10755            proxy_cluster_id=d.get('proxy_cluster_id'),
10756            secret_store_id=d.get('secret_store_id'),
10757            subdomain=d.get('subdomain'),
10758            tags=d.get('tags'),
10759            username=d.get('username'),
10760        )
class DocumentDBHostIAM:
10763class DocumentDBHostIAM:
10764    __slots__ = [
10765        'bind_interface',
10766        'egress_filter',
10767        'healthy',
10768        'hostname',
10769        'id',
10770        'name',
10771        'port',
10772        'port_override',
10773        'proxy_cluster_id',
10774        'region',
10775        'secret_store_id',
10776        'subdomain',
10777        'tags',
10778    ]
10779
10780    def __init__(
10781        self,
10782        bind_interface=None,
10783        egress_filter=None,
10784        healthy=None,
10785        hostname=None,
10786        id=None,
10787        name=None,
10788        port=None,
10789        port_override=None,
10790        proxy_cluster_id=None,
10791        region=None,
10792        secret_store_id=None,
10793        subdomain=None,
10794        tags=None,
10795    ):
10796        self.bind_interface = bind_interface if bind_interface is not None else ''
10797        '''
10798         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10799        '''
10800        self.egress_filter = egress_filter if egress_filter is not None else ''
10801        '''
10802         A filter applied to the routing logic to pin datasource to nodes.
10803        '''
10804        self.healthy = healthy if healthy is not None else False
10805        '''
10806         True if the datasource is reachable and the credentials are valid.
10807        '''
10808        self.hostname = hostname if hostname is not None else ''
10809        '''
10810         The host to dial to initiate a connection from the egress node to this resource.
10811        '''
10812        self.id = id if id is not None else ''
10813        '''
10814         Unique identifier of the Resource.
10815        '''
10816        self.name = name if name is not None else ''
10817        '''
10818         Unique human-readable name of the Resource.
10819        '''
10820        self.port = port if port is not None else 0
10821        '''
10822         The port to dial to initiate a connection from the egress node to this resource.
10823        '''
10824        self.port_override = port_override if port_override is not None else 0
10825        '''
10826         The local port used by clients to connect to this resource.
10827        '''
10828        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10829        '''
10830         ID of the proxy cluster for this resource, if any.
10831        '''
10832        self.region = region if region is not None else ''
10833        '''
10834         The AWS region to connect to.
10835        '''
10836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10837        '''
10838         ID of the secret store containing credentials for this resource, if any.
10839        '''
10840        self.subdomain = subdomain if subdomain is not None else ''
10841        '''
10842         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10843        '''
10844        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10845        '''
10846         Tags is a map of key, value pairs.
10847        '''
10848
10849    def __repr__(self):
10850        return '<sdm.DocumentDBHostIAM ' + \
10851            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10852            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10853            'healthy: ' + repr(self.healthy) + ' ' +\
10854            'hostname: ' + repr(self.hostname) + ' ' +\
10855            'id: ' + repr(self.id) + ' ' +\
10856            'name: ' + repr(self.name) + ' ' +\
10857            'port: ' + repr(self.port) + ' ' +\
10858            'port_override: ' + repr(self.port_override) + ' ' +\
10859            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10860            'region: ' + repr(self.region) + ' ' +\
10861            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10862            'subdomain: ' + repr(self.subdomain) + ' ' +\
10863            'tags: ' + repr(self.tags) + ' ' +\
10864            '>'
10865
10866    def to_dict(self):
10867        return {
10868            'bind_interface': self.bind_interface,
10869            'egress_filter': self.egress_filter,
10870            'healthy': self.healthy,
10871            'hostname': self.hostname,
10872            'id': self.id,
10873            'name': self.name,
10874            'port': self.port,
10875            'port_override': self.port_override,
10876            'proxy_cluster_id': self.proxy_cluster_id,
10877            'region': self.region,
10878            'secret_store_id': self.secret_store_id,
10879            'subdomain': self.subdomain,
10880            'tags': self.tags,
10881        }
10882
10883    @classmethod
10884    def from_dict(cls, d):
10885        return cls(
10886            bind_interface=d.get('bind_interface'),
10887            egress_filter=d.get('egress_filter'),
10888            healthy=d.get('healthy'),
10889            hostname=d.get('hostname'),
10890            id=d.get('id'),
10891            name=d.get('name'),
10892            port=d.get('port'),
10893            port_override=d.get('port_override'),
10894            proxy_cluster_id=d.get('proxy_cluster_id'),
10895            region=d.get('region'),
10896            secret_store_id=d.get('secret_store_id'),
10897            subdomain=d.get('subdomain'),
10898            tags=d.get('tags'),
10899        )
DocumentDBHostIAM( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port=None, port_override=None, proxy_cluster_id=None, region=None, secret_store_id=None, subdomain=None, tags=None)
10780    def __init__(
10781        self,
10782        bind_interface=None,
10783        egress_filter=None,
10784        healthy=None,
10785        hostname=None,
10786        id=None,
10787        name=None,
10788        port=None,
10789        port_override=None,
10790        proxy_cluster_id=None,
10791        region=None,
10792        secret_store_id=None,
10793        subdomain=None,
10794        tags=None,
10795    ):
10796        self.bind_interface = bind_interface if bind_interface is not None else ''
10797        '''
10798         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
10799        '''
10800        self.egress_filter = egress_filter if egress_filter is not None else ''
10801        '''
10802         A filter applied to the routing logic to pin datasource to nodes.
10803        '''
10804        self.healthy = healthy if healthy is not None else False
10805        '''
10806         True if the datasource is reachable and the credentials are valid.
10807        '''
10808        self.hostname = hostname if hostname is not None else ''
10809        '''
10810         The host to dial to initiate a connection from the egress node to this resource.
10811        '''
10812        self.id = id if id is not None else ''
10813        '''
10814         Unique identifier of the Resource.
10815        '''
10816        self.name = name if name is not None else ''
10817        '''
10818         Unique human-readable name of the Resource.
10819        '''
10820        self.port = port if port is not None else 0
10821        '''
10822         The port to dial to initiate a connection from the egress node to this resource.
10823        '''
10824        self.port_override = port_override if port_override is not None else 0
10825        '''
10826         The local port used by clients to connect to this resource.
10827        '''
10828        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10829        '''
10830         ID of the proxy cluster for this resource, if any.
10831        '''
10832        self.region = region if region is not None else ''
10833        '''
10834         The AWS region to connect to.
10835        '''
10836        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10837        '''
10838         ID of the secret store containing credentials for this resource, if any.
10839        '''
10840        self.subdomain = subdomain if subdomain is not None else ''
10841        '''
10842         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10843        '''
10844        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10845        '''
10846         Tags is a map of key, value pairs.
10847        '''
bind_interface

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

DocumentDBReplicaSetIAM( bind_interface=None, connect_to_replica=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, secret_store_id=None, subdomain=None, tags=None)
11089    def __init__(
11090        self,
11091        bind_interface=None,
11092        connect_to_replica=None,
11093        egress_filter=None,
11094        healthy=None,
11095        hostname=None,
11096        id=None,
11097        name=None,
11098        port_override=None,
11099        proxy_cluster_id=None,
11100        region=None,
11101        secret_store_id=None,
11102        subdomain=None,
11103        tags=None,
11104    ):
11105        self.bind_interface = bind_interface if bind_interface is not None else ''
11106        '''
11107         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11108        '''
11109        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11110        '''
11111         Set to connect to a replica instead of the primary node.
11112        '''
11113        self.egress_filter = egress_filter if egress_filter is not None else ''
11114        '''
11115         A filter applied to the routing logic to pin datasource to nodes.
11116        '''
11117        self.healthy = healthy if healthy is not None else False
11118        '''
11119         True if the datasource is reachable and the credentials are valid.
11120        '''
11121        self.hostname = hostname if hostname is not None else ''
11122        '''
11123         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11124        '''
11125        self.id = id if id is not None else ''
11126        '''
11127         Unique identifier of the Resource.
11128        '''
11129        self.name = name if name is not None else ''
11130        '''
11131         Unique human-readable name of the Resource.
11132        '''
11133        self.port_override = port_override if port_override is not None else 0
11134        '''
11135         The local port used by clients to connect to this resource.
11136        '''
11137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11138        '''
11139         ID of the proxy cluster for this resource, if any.
11140        '''
11141        self.region = region if region is not None else ''
11142        '''
11143         The region of the document db cluster
11144        '''
11145        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11146        '''
11147         ID of the secret store containing credentials for this resource, if any.
11148        '''
11149        self.subdomain = subdomain if subdomain is not None else ''
11150        '''
11151         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11152        '''
11153        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11154        '''
11155         Tags is a map of key, value pairs.
11156        '''
bind_interface

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

connect_to_replica

Set to connect to a replica instead of the primary node.

egress_filter

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

healthy

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

hostname

Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The region of the document db cluster

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

The bind interface is the IP 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)
11321    def to_dict(self):
11322        return {
11323            'bind_interface': self.bind_interface,
11324            'egress_filter': self.egress_filter,
11325            'healthy': self.healthy,
11326            'hostname': self.hostname,
11327            'id': self.id,
11328            'name': self.name,
11329            'password': self.password,
11330            'port': self.port,
11331            'port_override': self.port_override,
11332            'proxy_cluster_id': self.proxy_cluster_id,
11333            'secret_store_id': self.secret_store_id,
11334            'subdomain': self.subdomain,
11335            'tags': self.tags,
11336            'username': self.username,
11337        }
@classmethod
def from_dict(cls, d)
11339    @classmethod
11340    def from_dict(cls, d):
11341        return cls(
11342            bind_interface=d.get('bind_interface'),
11343            egress_filter=d.get('egress_filter'),
11344            healthy=d.get('healthy'),
11345            hostname=d.get('hostname'),
11346            id=d.get('id'),
11347            name=d.get('name'),
11348            password=d.get('password'),
11349            port=d.get('port'),
11350            port_override=d.get('port_override'),
11351            proxy_cluster_id=d.get('proxy_cluster_id'),
11352            secret_store_id=d.get('secret_store_id'),
11353            subdomain=d.get('subdomain'),
11354            tags=d.get('tags'),
11355            username=d.get('username'),
11356        )
class DynamoDB:
11359class DynamoDB:
11360    __slots__ = [
11361        'access_key',
11362        'bind_interface',
11363        'egress_filter',
11364        'endpoint',
11365        'healthy',
11366        'id',
11367        'name',
11368        'port_override',
11369        'proxy_cluster_id',
11370        'region',
11371        'role_arn',
11372        'role_external_id',
11373        'secret_access_key',
11374        'secret_store_id',
11375        'subdomain',
11376        'tags',
11377    ]
11378
11379    def __init__(
11380        self,
11381        access_key=None,
11382        bind_interface=None,
11383        egress_filter=None,
11384        endpoint=None,
11385        healthy=None,
11386        id=None,
11387        name=None,
11388        port_override=None,
11389        proxy_cluster_id=None,
11390        region=None,
11391        role_arn=None,
11392        role_external_id=None,
11393        secret_access_key=None,
11394        secret_store_id=None,
11395        subdomain=None,
11396        tags=None,
11397    ):
11398        self.access_key = access_key if access_key is not None else ''
11399        '''
11400         The Access Key ID to use to authenticate.
11401        '''
11402        self.bind_interface = bind_interface if bind_interface is not None else ''
11403        '''
11404         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11405        '''
11406        self.egress_filter = egress_filter if egress_filter is not None else ''
11407        '''
11408         A filter applied to the routing logic to pin datasource to nodes.
11409        '''
11410        self.endpoint = endpoint if endpoint is not None else ''
11411        '''
11412         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11413        '''
11414        self.healthy = healthy if healthy is not None else False
11415        '''
11416         True if the datasource is reachable and the credentials are valid.
11417        '''
11418        self.id = id if id is not None else ''
11419        '''
11420         Unique identifier of the Resource.
11421        '''
11422        self.name = name if name is not None else ''
11423        '''
11424         Unique human-readable name of the Resource.
11425        '''
11426        self.port_override = port_override if port_override is not None else 0
11427        '''
11428         The local port used by clients to connect to this resource.
11429        '''
11430        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11431        '''
11432         ID of the proxy cluster for this resource, if any.
11433        '''
11434        self.region = region if region is not None else ''
11435        '''
11436         The region to authenticate requests against e.g. us-east-1
11437        '''
11438        self.role_arn = role_arn if role_arn is not None else ''
11439        '''
11440         The role to assume after logging in.
11441        '''
11442        self.role_external_id = role_external_id if role_external_id is not None else ''
11443        '''
11444         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11445        '''
11446        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11447        '''
11448         The Secret Access Key to use to authenticate.
11449        '''
11450        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11451        '''
11452         ID of the secret store containing credentials for this resource, if any.
11453        '''
11454        self.subdomain = subdomain if subdomain is not None else ''
11455        '''
11456         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11457        '''
11458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11459        '''
11460         Tags is a map of key, value pairs.
11461        '''
11462
11463    def __repr__(self):
11464        return '<sdm.DynamoDB ' + \
11465            'access_key: ' + repr(self.access_key) + ' ' +\
11466            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11467            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11468            'endpoint: ' + repr(self.endpoint) + ' ' +\
11469            'healthy: ' + repr(self.healthy) + ' ' +\
11470            'id: ' + repr(self.id) + ' ' +\
11471            'name: ' + repr(self.name) + ' ' +\
11472            'port_override: ' + repr(self.port_override) + ' ' +\
11473            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11474            'region: ' + repr(self.region) + ' ' +\
11475            'role_arn: ' + repr(self.role_arn) + ' ' +\
11476            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11477            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
11478            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11479            'subdomain: ' + repr(self.subdomain) + ' ' +\
11480            'tags: ' + repr(self.tags) + ' ' +\
11481            '>'
11482
11483    def to_dict(self):
11484        return {
11485            'access_key': self.access_key,
11486            'bind_interface': self.bind_interface,
11487            'egress_filter': self.egress_filter,
11488            'endpoint': self.endpoint,
11489            'healthy': self.healthy,
11490            'id': self.id,
11491            'name': self.name,
11492            'port_override': self.port_override,
11493            'proxy_cluster_id': self.proxy_cluster_id,
11494            'region': self.region,
11495            'role_arn': self.role_arn,
11496            'role_external_id': self.role_external_id,
11497            'secret_access_key': self.secret_access_key,
11498            'secret_store_id': self.secret_store_id,
11499            'subdomain': self.subdomain,
11500            'tags': self.tags,
11501        }
11502
11503    @classmethod
11504    def from_dict(cls, d):
11505        return cls(
11506            access_key=d.get('access_key'),
11507            bind_interface=d.get('bind_interface'),
11508            egress_filter=d.get('egress_filter'),
11509            endpoint=d.get('endpoint'),
11510            healthy=d.get('healthy'),
11511            id=d.get('id'),
11512            name=d.get('name'),
11513            port_override=d.get('port_override'),
11514            proxy_cluster_id=d.get('proxy_cluster_id'),
11515            region=d.get('region'),
11516            role_arn=d.get('role_arn'),
11517            role_external_id=d.get('role_external_id'),
11518            secret_access_key=d.get('secret_access_key'),
11519            secret_store_id=d.get('secret_store_id'),
11520            subdomain=d.get('subdomain'),
11521            tags=d.get('tags'),
11522        )
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)
11379    def __init__(
11380        self,
11381        access_key=None,
11382        bind_interface=None,
11383        egress_filter=None,
11384        endpoint=None,
11385        healthy=None,
11386        id=None,
11387        name=None,
11388        port_override=None,
11389        proxy_cluster_id=None,
11390        region=None,
11391        role_arn=None,
11392        role_external_id=None,
11393        secret_access_key=None,
11394        secret_store_id=None,
11395        subdomain=None,
11396        tags=None,
11397    ):
11398        self.access_key = access_key if access_key is not None else ''
11399        '''
11400         The Access Key ID to use to authenticate.
11401        '''
11402        self.bind_interface = bind_interface if bind_interface is not None else ''
11403        '''
11404         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11405        '''
11406        self.egress_filter = egress_filter if egress_filter is not None else ''
11407        '''
11408         A filter applied to the routing logic to pin datasource to nodes.
11409        '''
11410        self.endpoint = endpoint if endpoint is not None else ''
11411        '''
11412         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11413        '''
11414        self.healthy = healthy if healthy is not None else False
11415        '''
11416         True if the datasource is reachable and the credentials are valid.
11417        '''
11418        self.id = id if id is not None else ''
11419        '''
11420         Unique identifier of the Resource.
11421        '''
11422        self.name = name if name is not None else ''
11423        '''
11424         Unique human-readable name of the Resource.
11425        '''
11426        self.port_override = port_override if port_override is not None else 0
11427        '''
11428         The local port used by clients to connect to this resource.
11429        '''
11430        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11431        '''
11432         ID of the proxy cluster for this resource, if any.
11433        '''
11434        self.region = region if region is not None else ''
11435        '''
11436         The region to authenticate requests against e.g. us-east-1
11437        '''
11438        self.role_arn = role_arn if role_arn is not None else ''
11439        '''
11440         The role to assume after logging in.
11441        '''
11442        self.role_external_id = role_external_id if role_external_id is not None else ''
11443        '''
11444         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11445        '''
11446        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
11447        '''
11448         The Secret Access Key to use to authenticate.
11449        '''
11450        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11451        '''
11452         ID of the secret store containing credentials for this resource, if any.
11453        '''
11454        self.subdomain = subdomain if subdomain is not None else ''
11455        '''
11456         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11457        '''
11458        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11459        '''
11460         Tags is a map of key, value pairs.
11461        '''
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)
11483    def to_dict(self):
11484        return {
11485            'access_key': self.access_key,
11486            'bind_interface': self.bind_interface,
11487            'egress_filter': self.egress_filter,
11488            'endpoint': self.endpoint,
11489            'healthy': self.healthy,
11490            'id': self.id,
11491            'name': self.name,
11492            'port_override': self.port_override,
11493            'proxy_cluster_id': self.proxy_cluster_id,
11494            'region': self.region,
11495            'role_arn': self.role_arn,
11496            'role_external_id': self.role_external_id,
11497            'secret_access_key': self.secret_access_key,
11498            'secret_store_id': self.secret_store_id,
11499            'subdomain': self.subdomain,
11500            'tags': self.tags,
11501        }
@classmethod
def from_dict(cls, d)
11503    @classmethod
11504    def from_dict(cls, d):
11505        return cls(
11506            access_key=d.get('access_key'),
11507            bind_interface=d.get('bind_interface'),
11508            egress_filter=d.get('egress_filter'),
11509            endpoint=d.get('endpoint'),
11510            healthy=d.get('healthy'),
11511            id=d.get('id'),
11512            name=d.get('name'),
11513            port_override=d.get('port_override'),
11514            proxy_cluster_id=d.get('proxy_cluster_id'),
11515            region=d.get('region'),
11516            role_arn=d.get('role_arn'),
11517            role_external_id=d.get('role_external_id'),
11518            secret_access_key=d.get('secret_access_key'),
11519            secret_store_id=d.get('secret_store_id'),
11520            subdomain=d.get('subdomain'),
11521            tags=d.get('tags'),
11522        )
class DynamoDBIAM:
11525class DynamoDBIAM:
11526    __slots__ = [
11527        'bind_interface',
11528        'egress_filter',
11529        'endpoint',
11530        'healthy',
11531        'id',
11532        'name',
11533        'port_override',
11534        'proxy_cluster_id',
11535        'region',
11536        'role_arn',
11537        'role_external_id',
11538        'secret_store_id',
11539        'subdomain',
11540        'tags',
11541    ]
11542
11543    def __init__(
11544        self,
11545        bind_interface=None,
11546        egress_filter=None,
11547        endpoint=None,
11548        healthy=None,
11549        id=None,
11550        name=None,
11551        port_override=None,
11552        proxy_cluster_id=None,
11553        region=None,
11554        role_arn=None,
11555        role_external_id=None,
11556        secret_store_id=None,
11557        subdomain=None,
11558        tags=None,
11559    ):
11560        self.bind_interface = bind_interface if bind_interface is not None else ''
11561        '''
11562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11563        '''
11564        self.egress_filter = egress_filter if egress_filter is not None else ''
11565        '''
11566         A filter applied to the routing logic to pin datasource to nodes.
11567        '''
11568        self.endpoint = endpoint if endpoint is not None else ''
11569        '''
11570         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11571        '''
11572        self.healthy = healthy if healthy is not None else False
11573        '''
11574         True if the datasource is reachable and the credentials are valid.
11575        '''
11576        self.id = id if id is not None else ''
11577        '''
11578         Unique identifier of the Resource.
11579        '''
11580        self.name = name if name is not None else ''
11581        '''
11582         Unique human-readable name of the Resource.
11583        '''
11584        self.port_override = port_override if port_override is not None else 0
11585        '''
11586         The local port used by clients to connect to this resource.
11587        '''
11588        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11589        '''
11590         ID of the proxy cluster for this resource, if any.
11591        '''
11592        self.region = region if region is not None else ''
11593        '''
11594         The region to authenticate requests against e.g. us-east-1
11595        '''
11596        self.role_arn = role_arn if role_arn is not None else ''
11597        '''
11598         The role to assume after logging in.
11599        '''
11600        self.role_external_id = role_external_id if role_external_id is not None else ''
11601        '''
11602         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11603        '''
11604        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11605        '''
11606         ID of the secret store containing credentials for this resource, if any.
11607        '''
11608        self.subdomain = subdomain if subdomain is not None else ''
11609        '''
11610         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11611        '''
11612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11613        '''
11614         Tags is a map of key, value pairs.
11615        '''
11616
11617    def __repr__(self):
11618        return '<sdm.DynamoDBIAM ' + \
11619            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11620            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11621            'endpoint: ' + repr(self.endpoint) + ' ' +\
11622            'healthy: ' + repr(self.healthy) + ' ' +\
11623            'id: ' + repr(self.id) + ' ' +\
11624            'name: ' + repr(self.name) + ' ' +\
11625            'port_override: ' + repr(self.port_override) + ' ' +\
11626            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11627            'region: ' + repr(self.region) + ' ' +\
11628            'role_arn: ' + repr(self.role_arn) + ' ' +\
11629            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
11630            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11631            'subdomain: ' + repr(self.subdomain) + ' ' +\
11632            'tags: ' + repr(self.tags) + ' ' +\
11633            '>'
11634
11635    def to_dict(self):
11636        return {
11637            'bind_interface': self.bind_interface,
11638            'egress_filter': self.egress_filter,
11639            'endpoint': self.endpoint,
11640            'healthy': self.healthy,
11641            'id': self.id,
11642            'name': self.name,
11643            'port_override': self.port_override,
11644            'proxy_cluster_id': self.proxy_cluster_id,
11645            'region': self.region,
11646            'role_arn': self.role_arn,
11647            'role_external_id': self.role_external_id,
11648            'secret_store_id': self.secret_store_id,
11649            'subdomain': self.subdomain,
11650            'tags': self.tags,
11651        }
11652
11653    @classmethod
11654    def from_dict(cls, d):
11655        return cls(
11656            bind_interface=d.get('bind_interface'),
11657            egress_filter=d.get('egress_filter'),
11658            endpoint=d.get('endpoint'),
11659            healthy=d.get('healthy'),
11660            id=d.get('id'),
11661            name=d.get('name'),
11662            port_override=d.get('port_override'),
11663            proxy_cluster_id=d.get('proxy_cluster_id'),
11664            region=d.get('region'),
11665            role_arn=d.get('role_arn'),
11666            role_external_id=d.get('role_external_id'),
11667            secret_store_id=d.get('secret_store_id'),
11668            subdomain=d.get('subdomain'),
11669            tags=d.get('tags'),
11670        )
DynamoDBIAM( bind_interface=None, egress_filter=None, endpoint=None, healthy=None, id=None, name=None, port_override=None, proxy_cluster_id=None, region=None, role_arn=None, role_external_id=None, secret_store_id=None, subdomain=None, tags=None)
11543    def __init__(
11544        self,
11545        bind_interface=None,
11546        egress_filter=None,
11547        endpoint=None,
11548        healthy=None,
11549        id=None,
11550        name=None,
11551        port_override=None,
11552        proxy_cluster_id=None,
11553        region=None,
11554        role_arn=None,
11555        role_external_id=None,
11556        secret_store_id=None,
11557        subdomain=None,
11558        tags=None,
11559    ):
11560        self.bind_interface = bind_interface if bind_interface is not None else ''
11561        '''
11562         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
11563        '''
11564        self.egress_filter = egress_filter if egress_filter is not None else ''
11565        '''
11566         A filter applied to the routing logic to pin datasource to nodes.
11567        '''
11568        self.endpoint = endpoint if endpoint is not None else ''
11569        '''
11570         The endpoint to dial e.g. dynamodb.region.amazonaws.com
11571        '''
11572        self.healthy = healthy if healthy is not None else False
11573        '''
11574         True if the datasource is reachable and the credentials are valid.
11575        '''
11576        self.id = id if id is not None else ''
11577        '''
11578         Unique identifier of the Resource.
11579        '''
11580        self.name = name if name is not None else ''
11581        '''
11582         Unique human-readable name of the Resource.
11583        '''
11584        self.port_override = port_override if port_override is not None else 0
11585        '''
11586         The local port used by clients to connect to this resource.
11587        '''
11588        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11589        '''
11590         ID of the proxy cluster for this resource, if any.
11591        '''
11592        self.region = region if region is not None else ''
11593        '''
11594         The region to authenticate requests against e.g. us-east-1
11595        '''
11596        self.role_arn = role_arn if role_arn is not None else ''
11597        '''
11598         The role to assume after logging in.
11599        '''
11600        self.role_external_id = role_external_id if role_external_id is not None else ''
11601        '''
11602         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
11603        '''
11604        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11605        '''
11606         ID of the secret store containing credentials for this resource, if any.
11607        '''
11608        self.subdomain = subdomain if subdomain is not None else ''
11609        '''
11610         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
11611        '''
11612        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11613        '''
11614         Tags is a map of key, value pairs.
11615        '''
bind_interface

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

egress_filter

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

endpoint

The endpoint to dial e.g. dynamodb.region.amazonaws.com

healthy

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

region

The region to authenticate requests against e.g. us-east-1

role_arn

The role to assume after logging in.

role_external_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

The bind interface is the IP 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)
12083    def to_dict(self):
12084        return {
12085            'bind_interface': self.bind_interface,
12086            'egress_filter': self.egress_filter,
12087            'healthy': self.healthy,
12088            'id': self.id,
12089            'keyfile': self.keyfile,
12090            'name': self.name,
12091            'port_override': self.port_override,
12092            'proxy_cluster_id': self.proxy_cluster_id,
12093            'scopes': self.scopes,
12094            'secret_store_id': self.secret_store_id,
12095            'subdomain': self.subdomain,
12096            'tags': self.tags,
12097        }
@classmethod
def from_dict(cls, d)
12099    @classmethod
12100    def from_dict(cls, d):
12101        return cls(
12102            bind_interface=d.get('bind_interface'),
12103            egress_filter=d.get('egress_filter'),
12104            healthy=d.get('healthy'),
12105            id=d.get('id'),
12106            keyfile=d.get('keyfile'),
12107            name=d.get('name'),
12108            port_override=d.get('port_override'),
12109            proxy_cluster_id=d.get('proxy_cluster_id'),
12110            scopes=d.get('scopes'),
12111            secret_store_id=d.get('secret_store_id'),
12112            subdomain=d.get('subdomain'),
12113            tags=d.get('tags'),
12114        )
class GCPCertX509Store:
12117class GCPCertX509Store:
12118    __slots__ = [
12119        'caid',
12120        'capoolid',
12121        'id',
12122        'issuedcertttlminutes',
12123        'location',
12124        'name',
12125        'projectid',
12126        'tags',
12127    ]
12128
12129    def __init__(
12130        self,
12131        caid=None,
12132        capoolid=None,
12133        id=None,
12134        issuedcertttlminutes=None,
12135        location=None,
12136        name=None,
12137        projectid=None,
12138        tags=None,
12139    ):
12140        self.caid = caid if caid is not None else ''
12141        '''
12142         The ID of the target CA
12143        '''
12144        self.capoolid = capoolid if capoolid is not None else ''
12145        '''
12146         The ID of the target CA pool
12147        '''
12148        self.id = id if id is not None else ''
12149        '''
12150         Unique identifier of the SecretStore.
12151        '''
12152        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12153        '''
12154         The lifetime of certificates issued by this CA represented in minutes.
12155        '''
12156        self.location = location if location is not None else ''
12157        '''
12158         The Region for the CA in GCP format e.g. us-west1
12159        '''
12160        self.name = name if name is not None else ''
12161        '''
12162         Unique human-readable name of the SecretStore.
12163        '''
12164        self.projectid = projectid if projectid is not None else ''
12165        '''
12166         The GCP project ID to target.
12167        '''
12168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12169        '''
12170         Tags is a map of key, value pairs.
12171        '''
12172
12173    def __repr__(self):
12174        return '<sdm.GCPCertX509Store ' + \
12175            'caid: ' + repr(self.caid) + ' ' +\
12176            'capoolid: ' + repr(self.capoolid) + ' ' +\
12177            'id: ' + repr(self.id) + ' ' +\
12178            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
12179            'location: ' + repr(self.location) + ' ' +\
12180            'name: ' + repr(self.name) + ' ' +\
12181            'projectid: ' + repr(self.projectid) + ' ' +\
12182            'tags: ' + repr(self.tags) + ' ' +\
12183            '>'
12184
12185    def to_dict(self):
12186        return {
12187            'caid': self.caid,
12188            'capoolid': self.capoolid,
12189            'id': self.id,
12190            'issuedcertttlminutes': self.issuedcertttlminutes,
12191            'location': self.location,
12192            'name': self.name,
12193            'projectid': self.projectid,
12194            'tags': self.tags,
12195        }
12196
12197    @classmethod
12198    def from_dict(cls, d):
12199        return cls(
12200            caid=d.get('caid'),
12201            capoolid=d.get('capoolid'),
12202            id=d.get('id'),
12203            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12204            location=d.get('location'),
12205            name=d.get('name'),
12206            projectid=d.get('projectid'),
12207            tags=d.get('tags'),
12208        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
12129    def __init__(
12130        self,
12131        caid=None,
12132        capoolid=None,
12133        id=None,
12134        issuedcertttlminutes=None,
12135        location=None,
12136        name=None,
12137        projectid=None,
12138        tags=None,
12139    ):
12140        self.caid = caid if caid is not None else ''
12141        '''
12142         The ID of the target CA
12143        '''
12144        self.capoolid = capoolid if capoolid is not None else ''
12145        '''
12146         The ID of the target CA pool
12147        '''
12148        self.id = id if id is not None else ''
12149        '''
12150         Unique identifier of the SecretStore.
12151        '''
12152        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
12153        '''
12154         The lifetime of certificates issued by this CA represented in minutes.
12155        '''
12156        self.location = location if location is not None else ''
12157        '''
12158         The Region for the CA in GCP format e.g. us-west1
12159        '''
12160        self.name = name if name is not None else ''
12161        '''
12162         Unique human-readable name of the SecretStore.
12163        '''
12164        self.projectid = projectid if projectid is not None else ''
12165        '''
12166         The GCP project ID to target.
12167        '''
12168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12169        '''
12170         Tags is a map of key, value pairs.
12171        '''
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)
12185    def to_dict(self):
12186        return {
12187            'caid': self.caid,
12188            'capoolid': self.capoolid,
12189            'id': self.id,
12190            'issuedcertttlminutes': self.issuedcertttlminutes,
12191            'location': self.location,
12192            'name': self.name,
12193            'projectid': self.projectid,
12194            'tags': self.tags,
12195        }
@classmethod
def from_dict(cls, d)
12197    @classmethod
12198    def from_dict(cls, d):
12199        return cls(
12200            caid=d.get('caid'),
12201            capoolid=d.get('capoolid'),
12202            id=d.get('id'),
12203            issuedcertttlminutes=d.get('issuedcertttlminutes'),
12204            location=d.get('location'),
12205            name=d.get('name'),
12206            projectid=d.get('projectid'),
12207            tags=d.get('tags'),
12208        )
class GCPConsole:
12211class GCPConsole:
12212    __slots__ = [
12213        'bind_interface',
12214        'egress_filter',
12215        'healthy',
12216        'id',
12217        'identity_alias_healthcheck_username',
12218        'identity_set_id',
12219        'name',
12220        'port_override',
12221        'proxy_cluster_id',
12222        'secret_store_id',
12223        'session_expiry',
12224        'subdomain',
12225        'tags',
12226        'workforce_pool_id',
12227        'workforce_provider_id',
12228    ]
12229
12230    def __init__(
12231        self,
12232        bind_interface=None,
12233        egress_filter=None,
12234        healthy=None,
12235        id=None,
12236        identity_alias_healthcheck_username=None,
12237        identity_set_id=None,
12238        name=None,
12239        port_override=None,
12240        proxy_cluster_id=None,
12241        secret_store_id=None,
12242        session_expiry=None,
12243        subdomain=None,
12244        tags=None,
12245        workforce_pool_id=None,
12246        workforce_provider_id=None,
12247    ):
12248        self.bind_interface = bind_interface if bind_interface is not None else ''
12249        '''
12250         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12251        '''
12252        self.egress_filter = egress_filter if egress_filter is not None else ''
12253        '''
12254         A filter applied to the routing logic to pin datasource to nodes.
12255        '''
12256        self.healthy = healthy if healthy is not None else False
12257        '''
12258         True if the datasource is reachable and the credentials are valid.
12259        '''
12260        self.id = id if id is not None else ''
12261        '''
12262         Unique identifier of the Resource.
12263        '''
12264        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12265        '''
12266         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12267        '''
12268        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12269        '''
12270         The ID of the identity set to use for identity connections.
12271        '''
12272        self.name = name if name is not None else ''
12273        '''
12274         Unique human-readable name of the Resource.
12275        '''
12276        self.port_override = port_override if port_override is not None else 0
12277        '''
12278         The local port used by clients to connect to this resource.
12279        '''
12280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12281        '''
12282         ID of the proxy cluster for this resource, if any.
12283        '''
12284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12285        '''
12286         ID of the secret store containing credentials for this resource, if any.
12287        '''
12288        self.session_expiry = session_expiry if session_expiry is not None else 0
12289        '''
12290         The length of time in seconds console sessions will live before needing to reauthenticate.
12291        '''
12292        self.subdomain = subdomain if subdomain is not None else ''
12293        '''
12294         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12295        '''
12296        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12297        '''
12298         Tags is a map of key, value pairs.
12299        '''
12300        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12301        '''
12302         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12303        '''
12304        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12305        '''
12306         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12307        '''
12308
12309    def __repr__(self):
12310        return '<sdm.GCPConsole ' + \
12311            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12312            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12313            'healthy: ' + repr(self.healthy) + ' ' +\
12314            'id: ' + repr(self.id) + ' ' +\
12315            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12316            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12317            'name: ' + repr(self.name) + ' ' +\
12318            'port_override: ' + repr(self.port_override) + ' ' +\
12319            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12320            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12321            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12322            'subdomain: ' + repr(self.subdomain) + ' ' +\
12323            'tags: ' + repr(self.tags) + ' ' +\
12324            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12325            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12326            '>'
12327
12328    def to_dict(self):
12329        return {
12330            'bind_interface': self.bind_interface,
12331            'egress_filter': self.egress_filter,
12332            'healthy': self.healthy,
12333            'id': self.id,
12334            'identity_alias_healthcheck_username':
12335            self.identity_alias_healthcheck_username,
12336            'identity_set_id': self.identity_set_id,
12337            'name': self.name,
12338            'port_override': self.port_override,
12339            'proxy_cluster_id': self.proxy_cluster_id,
12340            'secret_store_id': self.secret_store_id,
12341            'session_expiry': self.session_expiry,
12342            'subdomain': self.subdomain,
12343            'tags': self.tags,
12344            'workforce_pool_id': self.workforce_pool_id,
12345            'workforce_provider_id': self.workforce_provider_id,
12346        }
12347
12348    @classmethod
12349    def from_dict(cls, d):
12350        return cls(
12351            bind_interface=d.get('bind_interface'),
12352            egress_filter=d.get('egress_filter'),
12353            healthy=d.get('healthy'),
12354            id=d.get('id'),
12355            identity_alias_healthcheck_username=d.get(
12356                'identity_alias_healthcheck_username'),
12357            identity_set_id=d.get('identity_set_id'),
12358            name=d.get('name'),
12359            port_override=d.get('port_override'),
12360            proxy_cluster_id=d.get('proxy_cluster_id'),
12361            secret_store_id=d.get('secret_store_id'),
12362            session_expiry=d.get('session_expiry'),
12363            subdomain=d.get('subdomain'),
12364            tags=d.get('tags'),
12365            workforce_pool_id=d.get('workforce_pool_id'),
12366            workforce_provider_id=d.get('workforce_provider_id'),
12367        )
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)
12230    def __init__(
12231        self,
12232        bind_interface=None,
12233        egress_filter=None,
12234        healthy=None,
12235        id=None,
12236        identity_alias_healthcheck_username=None,
12237        identity_set_id=None,
12238        name=None,
12239        port_override=None,
12240        proxy_cluster_id=None,
12241        secret_store_id=None,
12242        session_expiry=None,
12243        subdomain=None,
12244        tags=None,
12245        workforce_pool_id=None,
12246        workforce_provider_id=None,
12247    ):
12248        self.bind_interface = bind_interface if bind_interface is not None else ''
12249        '''
12250         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12251        '''
12252        self.egress_filter = egress_filter if egress_filter is not None else ''
12253        '''
12254         A filter applied to the routing logic to pin datasource to nodes.
12255        '''
12256        self.healthy = healthy if healthy is not None else False
12257        '''
12258         True if the datasource is reachable and the credentials are valid.
12259        '''
12260        self.id = id if id is not None else ''
12261        '''
12262         Unique identifier of the Resource.
12263        '''
12264        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12265        '''
12266         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12267        '''
12268        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12269        '''
12270         The ID of the identity set to use for identity connections.
12271        '''
12272        self.name = name if name is not None else ''
12273        '''
12274         Unique human-readable name of the Resource.
12275        '''
12276        self.port_override = port_override if port_override is not None else 0
12277        '''
12278         The local port used by clients to connect to this resource.
12279        '''
12280        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12281        '''
12282         ID of the proxy cluster for this resource, if any.
12283        '''
12284        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12285        '''
12286         ID of the secret store containing credentials for this resource, if any.
12287        '''
12288        self.session_expiry = session_expiry if session_expiry is not None else 0
12289        '''
12290         The length of time in seconds console sessions will live before needing to reauthenticate.
12291        '''
12292        self.subdomain = subdomain if subdomain is not None else ''
12293        '''
12294         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12295        '''
12296        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12297        '''
12298         Tags is a map of key, value pairs.
12299        '''
12300        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12301        '''
12302         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12303        '''
12304        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12305        '''
12306         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12307        '''
bind_interface

The bind interface is the IP 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)
12328    def to_dict(self):
12329        return {
12330            'bind_interface': self.bind_interface,
12331            'egress_filter': self.egress_filter,
12332            'healthy': self.healthy,
12333            'id': self.id,
12334            'identity_alias_healthcheck_username':
12335            self.identity_alias_healthcheck_username,
12336            'identity_set_id': self.identity_set_id,
12337            'name': self.name,
12338            'port_override': self.port_override,
12339            'proxy_cluster_id': self.proxy_cluster_id,
12340            'secret_store_id': self.secret_store_id,
12341            'session_expiry': self.session_expiry,
12342            'subdomain': self.subdomain,
12343            'tags': self.tags,
12344            'workforce_pool_id': self.workforce_pool_id,
12345            'workforce_provider_id': self.workforce_provider_id,
12346        }
@classmethod
def from_dict(cls, d)
12348    @classmethod
12349    def from_dict(cls, d):
12350        return cls(
12351            bind_interface=d.get('bind_interface'),
12352            egress_filter=d.get('egress_filter'),
12353            healthy=d.get('healthy'),
12354            id=d.get('id'),
12355            identity_alias_healthcheck_username=d.get(
12356                'identity_alias_healthcheck_username'),
12357            identity_set_id=d.get('identity_set_id'),
12358            name=d.get('name'),
12359            port_override=d.get('port_override'),
12360            proxy_cluster_id=d.get('proxy_cluster_id'),
12361            secret_store_id=d.get('secret_store_id'),
12362            session_expiry=d.get('session_expiry'),
12363            subdomain=d.get('subdomain'),
12364            tags=d.get('tags'),
12365            workforce_pool_id=d.get('workforce_pool_id'),
12366            workforce_provider_id=d.get('workforce_provider_id'),
12367        )
class GCPStore:
12370class GCPStore:
12371    __slots__ = [
12372        'id',
12373        'name',
12374        'projectid',
12375        'tags',
12376    ]
12377
12378    def __init__(
12379        self,
12380        id=None,
12381        name=None,
12382        projectid=None,
12383        tags=None,
12384    ):
12385        self.id = id if id is not None else ''
12386        '''
12387         Unique identifier of the SecretStore.
12388        '''
12389        self.name = name if name is not None else ''
12390        '''
12391         Unique human-readable name of the SecretStore.
12392        '''
12393        self.projectid = projectid if projectid is not None else ''
12394        '''
12395         The GCP project ID to target.
12396        '''
12397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12398        '''
12399         Tags is a map of key, value pairs.
12400        '''
12401
12402    def __repr__(self):
12403        return '<sdm.GCPStore ' + \
12404            'id: ' + repr(self.id) + ' ' +\
12405            'name: ' + repr(self.name) + ' ' +\
12406            'projectid: ' + repr(self.projectid) + ' ' +\
12407            'tags: ' + repr(self.tags) + ' ' +\
12408            '>'
12409
12410    def to_dict(self):
12411        return {
12412            'id': self.id,
12413            'name': self.name,
12414            'projectid': self.projectid,
12415            'tags': self.tags,
12416        }
12417
12418    @classmethod
12419    def from_dict(cls, d):
12420        return cls(
12421            id=d.get('id'),
12422            name=d.get('name'),
12423            projectid=d.get('projectid'),
12424            tags=d.get('tags'),
12425        )
GCPStore(id=None, name=None, projectid=None, tags=None)
12378    def __init__(
12379        self,
12380        id=None,
12381        name=None,
12382        projectid=None,
12383        tags=None,
12384    ):
12385        self.id = id if id is not None else ''
12386        '''
12387         Unique identifier of the SecretStore.
12388        '''
12389        self.name = name if name is not None else ''
12390        '''
12391         Unique human-readable name of the SecretStore.
12392        '''
12393        self.projectid = projectid if projectid is not None else ''
12394        '''
12395         The GCP project ID to target.
12396        '''
12397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12398        '''
12399         Tags is a map of key, value pairs.
12400        '''
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)
12410    def to_dict(self):
12411        return {
12412            'id': self.id,
12413            'name': self.name,
12414            'projectid': self.projectid,
12415            'tags': self.tags,
12416        }
@classmethod
def from_dict(cls, d)
12418    @classmethod
12419    def from_dict(cls, d):
12420        return cls(
12421            id=d.get('id'),
12422            name=d.get('name'),
12423            projectid=d.get('projectid'),
12424            tags=d.get('tags'),
12425        )
class GCPWIF:
12428class GCPWIF:
12429    __slots__ = [
12430        'bind_interface',
12431        'egress_filter',
12432        'healthy',
12433        'id',
12434        'identity_alias_healthcheck_username',
12435        'identity_set_id',
12436        'name',
12437        'port_override',
12438        'project_id',
12439        'proxy_cluster_id',
12440        'scopes',
12441        'secret_store_id',
12442        'session_expiry',
12443        'subdomain',
12444        'tags',
12445        'workforce_pool_id',
12446        'workforce_provider_id',
12447    ]
12448
12449    def __init__(
12450        self,
12451        bind_interface=None,
12452        egress_filter=None,
12453        healthy=None,
12454        id=None,
12455        identity_alias_healthcheck_username=None,
12456        identity_set_id=None,
12457        name=None,
12458        port_override=None,
12459        project_id=None,
12460        proxy_cluster_id=None,
12461        scopes=None,
12462        secret_store_id=None,
12463        session_expiry=None,
12464        subdomain=None,
12465        tags=None,
12466        workforce_pool_id=None,
12467        workforce_provider_id=None,
12468    ):
12469        self.bind_interface = bind_interface if bind_interface is not None else ''
12470        '''
12471         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12472        '''
12473        self.egress_filter = egress_filter if egress_filter is not None else ''
12474        '''
12475         A filter applied to the routing logic to pin datasource to nodes.
12476        '''
12477        self.healthy = healthy if healthy is not None else False
12478        '''
12479         True if the datasource is reachable and the credentials are valid.
12480        '''
12481        self.id = id if id is not None else ''
12482        '''
12483         Unique identifier of the Resource.
12484        '''
12485        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12486        '''
12487         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12488        '''
12489        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12490        '''
12491         The ID of the identity set to use for identity connections.
12492        '''
12493        self.name = name if name is not None else ''
12494        '''
12495         Unique human-readable name of the Resource.
12496        '''
12497        self.port_override = port_override if port_override is not None else 0
12498        '''
12499         The local port used by clients to connect to this resource.
12500        '''
12501        self.project_id = project_id if project_id is not None else ''
12502        '''
12503         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12504        '''
12505        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12506        '''
12507         ID of the proxy cluster for this resource, if any.
12508        '''
12509        self.scopes = scopes if scopes is not None else ''
12510        '''
12511         Space separated scopes that this login should assume into when authenticating.
12512        '''
12513        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12514        '''
12515         ID of the secret store containing credentials for this resource, if any.
12516        '''
12517        self.session_expiry = session_expiry if session_expiry is not None else 0
12518        '''
12519         The length of time in seconds console sessions will live before needing to reauthenticate.
12520        '''
12521        self.subdomain = subdomain if subdomain is not None else ''
12522        '''
12523         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12524        '''
12525        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12526        '''
12527         Tags is a map of key, value pairs.
12528        '''
12529        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12530        '''
12531         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12532        '''
12533        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12534        '''
12535         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12536        '''
12537
12538    def __repr__(self):
12539        return '<sdm.GCPWIF ' + \
12540            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12541            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12542            'healthy: ' + repr(self.healthy) + ' ' +\
12543            'id: ' + repr(self.id) + ' ' +\
12544            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12545            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12546            'name: ' + repr(self.name) + ' ' +\
12547            'port_override: ' + repr(self.port_override) + ' ' +\
12548            'project_id: ' + repr(self.project_id) + ' ' +\
12549            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12550            'scopes: ' + repr(self.scopes) + ' ' +\
12551            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12552            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
12553            'subdomain: ' + repr(self.subdomain) + ' ' +\
12554            'tags: ' + repr(self.tags) + ' ' +\
12555            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
12556            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
12557            '>'
12558
12559    def to_dict(self):
12560        return {
12561            'bind_interface': self.bind_interface,
12562            'egress_filter': self.egress_filter,
12563            'healthy': self.healthy,
12564            'id': self.id,
12565            'identity_alias_healthcheck_username':
12566            self.identity_alias_healthcheck_username,
12567            'identity_set_id': self.identity_set_id,
12568            'name': self.name,
12569            'port_override': self.port_override,
12570            'project_id': self.project_id,
12571            'proxy_cluster_id': self.proxy_cluster_id,
12572            'scopes': self.scopes,
12573            'secret_store_id': self.secret_store_id,
12574            'session_expiry': self.session_expiry,
12575            'subdomain': self.subdomain,
12576            'tags': self.tags,
12577            'workforce_pool_id': self.workforce_pool_id,
12578            'workforce_provider_id': self.workforce_provider_id,
12579        }
12580
12581    @classmethod
12582    def from_dict(cls, d):
12583        return cls(
12584            bind_interface=d.get('bind_interface'),
12585            egress_filter=d.get('egress_filter'),
12586            healthy=d.get('healthy'),
12587            id=d.get('id'),
12588            identity_alias_healthcheck_username=d.get(
12589                'identity_alias_healthcheck_username'),
12590            identity_set_id=d.get('identity_set_id'),
12591            name=d.get('name'),
12592            port_override=d.get('port_override'),
12593            project_id=d.get('project_id'),
12594            proxy_cluster_id=d.get('proxy_cluster_id'),
12595            scopes=d.get('scopes'),
12596            secret_store_id=d.get('secret_store_id'),
12597            session_expiry=d.get('session_expiry'),
12598            subdomain=d.get('subdomain'),
12599            tags=d.get('tags'),
12600            workforce_pool_id=d.get('workforce_pool_id'),
12601            workforce_provider_id=d.get('workforce_provider_id'),
12602        )
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)
12449    def __init__(
12450        self,
12451        bind_interface=None,
12452        egress_filter=None,
12453        healthy=None,
12454        id=None,
12455        identity_alias_healthcheck_username=None,
12456        identity_set_id=None,
12457        name=None,
12458        port_override=None,
12459        project_id=None,
12460        proxy_cluster_id=None,
12461        scopes=None,
12462        secret_store_id=None,
12463        session_expiry=None,
12464        subdomain=None,
12465        tags=None,
12466        workforce_pool_id=None,
12467        workforce_provider_id=None,
12468    ):
12469        self.bind_interface = bind_interface if bind_interface is not None else ''
12470        '''
12471         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12472        '''
12473        self.egress_filter = egress_filter if egress_filter is not None else ''
12474        '''
12475         A filter applied to the routing logic to pin datasource to nodes.
12476        '''
12477        self.healthy = healthy if healthy is not None else False
12478        '''
12479         True if the datasource is reachable and the credentials are valid.
12480        '''
12481        self.id = id if id is not None else ''
12482        '''
12483         Unique identifier of the Resource.
12484        '''
12485        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12486        '''
12487         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12488        '''
12489        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12490        '''
12491         The ID of the identity set to use for identity connections.
12492        '''
12493        self.name = name if name is not None else ''
12494        '''
12495         Unique human-readable name of the Resource.
12496        '''
12497        self.port_override = port_override if port_override is not None else 0
12498        '''
12499         The local port used by clients to connect to this resource.
12500        '''
12501        self.project_id = project_id if project_id is not None else ''
12502        '''
12503         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
12504        '''
12505        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12506        '''
12507         ID of the proxy cluster for this resource, if any.
12508        '''
12509        self.scopes = scopes if scopes is not None else ''
12510        '''
12511         Space separated scopes that this login should assume into when authenticating.
12512        '''
12513        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12514        '''
12515         ID of the secret store containing credentials for this resource, if any.
12516        '''
12517        self.session_expiry = session_expiry if session_expiry is not None else 0
12518        '''
12519         The length of time in seconds console sessions will live before needing to reauthenticate.
12520        '''
12521        self.subdomain = subdomain if subdomain is not None else ''
12522        '''
12523         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12524        '''
12525        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12526        '''
12527         Tags is a map of key, value pairs.
12528        '''
12529        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
12530        '''
12531         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
12532        '''
12533        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
12534        '''
12535         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
12536        '''
bind_interface

The bind interface is the IP 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)
12559    def to_dict(self):
12560        return {
12561            'bind_interface': self.bind_interface,
12562            'egress_filter': self.egress_filter,
12563            'healthy': self.healthy,
12564            'id': self.id,
12565            'identity_alias_healthcheck_username':
12566            self.identity_alias_healthcheck_username,
12567            'identity_set_id': self.identity_set_id,
12568            'name': self.name,
12569            'port_override': self.port_override,
12570            'project_id': self.project_id,
12571            'proxy_cluster_id': self.proxy_cluster_id,
12572            'scopes': self.scopes,
12573            'secret_store_id': self.secret_store_id,
12574            'session_expiry': self.session_expiry,
12575            'subdomain': self.subdomain,
12576            'tags': self.tags,
12577            'workforce_pool_id': self.workforce_pool_id,
12578            'workforce_provider_id': self.workforce_provider_id,
12579        }
@classmethod
def from_dict(cls, d)
12581    @classmethod
12582    def from_dict(cls, d):
12583        return cls(
12584            bind_interface=d.get('bind_interface'),
12585            egress_filter=d.get('egress_filter'),
12586            healthy=d.get('healthy'),
12587            id=d.get('id'),
12588            identity_alias_healthcheck_username=d.get(
12589                'identity_alias_healthcheck_username'),
12590            identity_set_id=d.get('identity_set_id'),
12591            name=d.get('name'),
12592            port_override=d.get('port_override'),
12593            project_id=d.get('project_id'),
12594            proxy_cluster_id=d.get('proxy_cluster_id'),
12595            scopes=d.get('scopes'),
12596            secret_store_id=d.get('secret_store_id'),
12597            session_expiry=d.get('session_expiry'),
12598            subdomain=d.get('subdomain'),
12599            tags=d.get('tags'),
12600            workforce_pool_id=d.get('workforce_pool_id'),
12601            workforce_provider_id=d.get('workforce_provider_id'),
12602        )
class Gateway:
12605class Gateway:
12606    '''
12607         Gateway represents a StrongDM CLI installation running in gateway mode.
12608    '''
12609    __slots__ = [
12610        'bind_address',
12611        'device',
12612        'gateway_filter',
12613        'id',
12614        'listen_address',
12615        'location',
12616        'maintenance_windows',
12617        'name',
12618        'state',
12619        'tags',
12620        'version',
12621    ]
12622
12623    def __init__(
12624        self,
12625        bind_address=None,
12626        device=None,
12627        gateway_filter=None,
12628        id=None,
12629        listen_address=None,
12630        location=None,
12631        maintenance_windows=None,
12632        name=None,
12633        state=None,
12634        tags=None,
12635        version=None,
12636    ):
12637        self.bind_address = bind_address if bind_address is not None else ''
12638        '''
12639         The hostname/port tuple which the gateway daemon will bind to.
12640         If not provided on create, set to "0.0.0.0:listen_address_port".
12641        '''
12642        self.device = device if device is not None else ''
12643        '''
12644         Device is a read only device name uploaded by the gateway process when
12645         it comes online.
12646        '''
12647        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12648        '''
12649         GatewayFilter can be used to restrict the peering between relays and
12650         gateways. Deprecated.
12651        '''
12652        self.id = id if id is not None else ''
12653        '''
12654         Unique identifier of the Gateway.
12655        '''
12656        self.listen_address = listen_address if listen_address is not None else ''
12657        '''
12658         The public hostname/port tuple at which the gateway will be accessible to clients.
12659        '''
12660        self.location = location if location is not None else ''
12661        '''
12662         Location is a read only network location uploaded by the gateway process
12663         when it comes online.
12664        '''
12665        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12666        '''
12667         Maintenance Windows define when this node is allowed to restart. If a node
12668         is requested to restart, it will check each window to determine if any of
12669         them permit it to restart, and if any do, it will. This check is repeated
12670         per window until the restart is successfully completed.
12671         
12672         If not set here, may be set on the command line or via an environment variable
12673         on the process itself; any server setting will take precedence over local
12674         settings. This setting is ineffective for nodes below version 38.44.0.
12675         
12676         If this setting is not applied via this remote configuration or via local
12677         configuration, the default setting is used: always allow restarts if serving
12678         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12679        '''
12680        self.name = name if name is not None else ''
12681        '''
12682         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.
12683        '''
12684        self.state = state if state is not None else ''
12685        '''
12686         The current state of the gateway. One of: "new", "verifying_restart",
12687         "restarting", "started", "stopped", "dead", "unknown"
12688        '''
12689        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12690        '''
12691         Tags is a map of key, value pairs.
12692        '''
12693        self.version = version if version is not None else ''
12694        '''
12695         Version is a read only sdm binary version uploaded by the gateway process
12696         when it comes online.
12697        '''
12698
12699    def __repr__(self):
12700        return '<sdm.Gateway ' + \
12701            'bind_address: ' + repr(self.bind_address) + ' ' +\
12702            'device: ' + repr(self.device) + ' ' +\
12703            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
12704            'id: ' + repr(self.id) + ' ' +\
12705            'listen_address: ' + repr(self.listen_address) + ' ' +\
12706            'location: ' + repr(self.location) + ' ' +\
12707            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
12708            'name: ' + repr(self.name) + ' ' +\
12709            'state: ' + repr(self.state) + ' ' +\
12710            'tags: ' + repr(self.tags) + ' ' +\
12711            'version: ' + repr(self.version) + ' ' +\
12712            '>'
12713
12714    def to_dict(self):
12715        return {
12716            'bind_address': self.bind_address,
12717            'device': self.device,
12718            'gateway_filter': self.gateway_filter,
12719            'id': self.id,
12720            'listen_address': self.listen_address,
12721            'location': self.location,
12722            'maintenance_windows': self.maintenance_windows,
12723            'name': self.name,
12724            'state': self.state,
12725            'tags': self.tags,
12726            'version': self.version,
12727        }
12728
12729    @classmethod
12730    def from_dict(cls, d):
12731        return cls(
12732            bind_address=d.get('bind_address'),
12733            device=d.get('device'),
12734            gateway_filter=d.get('gateway_filter'),
12735            id=d.get('id'),
12736            listen_address=d.get('listen_address'),
12737            location=d.get('location'),
12738            maintenance_windows=d.get('maintenance_windows'),
12739            name=d.get('name'),
12740            state=d.get('state'),
12741            tags=d.get('tags'),
12742            version=d.get('version'),
12743        )

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)
12623    def __init__(
12624        self,
12625        bind_address=None,
12626        device=None,
12627        gateway_filter=None,
12628        id=None,
12629        listen_address=None,
12630        location=None,
12631        maintenance_windows=None,
12632        name=None,
12633        state=None,
12634        tags=None,
12635        version=None,
12636    ):
12637        self.bind_address = bind_address if bind_address is not None else ''
12638        '''
12639         The hostname/port tuple which the gateway daemon will bind to.
12640         If not provided on create, set to "0.0.0.0:listen_address_port".
12641        '''
12642        self.device = device if device is not None else ''
12643        '''
12644         Device is a read only device name uploaded by the gateway process when
12645         it comes online.
12646        '''
12647        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
12648        '''
12649         GatewayFilter can be used to restrict the peering between relays and
12650         gateways. Deprecated.
12651        '''
12652        self.id = id if id is not None else ''
12653        '''
12654         Unique identifier of the Gateway.
12655        '''
12656        self.listen_address = listen_address if listen_address is not None else ''
12657        '''
12658         The public hostname/port tuple at which the gateway will be accessible to clients.
12659        '''
12660        self.location = location if location is not None else ''
12661        '''
12662         Location is a read only network location uploaded by the gateway process
12663         when it comes online.
12664        '''
12665        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
12666        '''
12667         Maintenance Windows define when this node is allowed to restart. If a node
12668         is requested to restart, it will check each window to determine if any of
12669         them permit it to restart, and if any do, it will. This check is repeated
12670         per window until the restart is successfully completed.
12671         
12672         If not set here, may be set on the command line or via an environment variable
12673         on the process itself; any server setting will take precedence over local
12674         settings. This setting is ineffective for nodes below version 38.44.0.
12675         
12676         If this setting is not applied via this remote configuration or via local
12677         configuration, the default setting is used: always allow restarts if serving
12678         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
12679        '''
12680        self.name = name if name is not None else ''
12681        '''
12682         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.
12683        '''
12684        self.state = state if state is not None else ''
12685        '''
12686         The current state of the gateway. One of: "new", "verifying_restart",
12687         "restarting", "started", "stopped", "dead", "unknown"
12688        '''
12689        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12690        '''
12691         Tags is a map of key, value pairs.
12692        '''
12693        self.version = version if version is not None else ''
12694        '''
12695         Version is a read only sdm binary version uploaded by the gateway process
12696         when it comes online.
12697        '''
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)
12714    def to_dict(self):
12715        return {
12716            'bind_address': self.bind_address,
12717            'device': self.device,
12718            'gateway_filter': self.gateway_filter,
12719            'id': self.id,
12720            'listen_address': self.listen_address,
12721            'location': self.location,
12722            'maintenance_windows': self.maintenance_windows,
12723            'name': self.name,
12724            'state': self.state,
12725            'tags': self.tags,
12726            'version': self.version,
12727        }
@classmethod
def from_dict(cls, d)
12729    @classmethod
12730    def from_dict(cls, d):
12731        return cls(
12732            bind_address=d.get('bind_address'),
12733            device=d.get('device'),
12734            gateway_filter=d.get('gateway_filter'),
12735            id=d.get('id'),
12736            listen_address=d.get('listen_address'),
12737            location=d.get('location'),
12738            maintenance_windows=d.get('maintenance_windows'),
12739            name=d.get('name'),
12740            state=d.get('state'),
12741            tags=d.get('tags'),
12742            version=d.get('version'),
12743        )
class GenerateKeysRequest:
12746class GenerateKeysRequest:
12747    __slots__ = [
12748        'secret_engine_id',
12749    ]
12750
12751    def __init__(
12752        self,
12753        secret_engine_id=None,
12754    ):
12755        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12756        '''
12757         required
12758        '''
12759
12760    def __repr__(self):
12761        return '<sdm.GenerateKeysRequest ' + \
12762            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
12763            '>'
12764
12765    def to_dict(self):
12766        return {
12767            'secret_engine_id': self.secret_engine_id,
12768        }
12769
12770    @classmethod
12771    def from_dict(cls, d):
12772        return cls(secret_engine_id=d.get('secret_engine_id'), )
GenerateKeysRequest(secret_engine_id=None)
12751    def __init__(
12752        self,
12753        secret_engine_id=None,
12754    ):
12755        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
12756        '''
12757         required
12758        '''
secret_engine_id

required

def to_dict(self)
12765    def to_dict(self):
12766        return {
12767            'secret_engine_id': self.secret_engine_id,
12768        }
@classmethod
def from_dict(cls, d)
12770    @classmethod
12771    def from_dict(cls, d):
12772        return cls(secret_engine_id=d.get('secret_engine_id'), )
class GenerateKeysResponse:
12775class GenerateKeysResponse:
12776    __slots__ = [
12777        'rate_limit',
12778    ]
12779
12780    def __init__(
12781        self,
12782        rate_limit=None,
12783    ):
12784        self.rate_limit = rate_limit if rate_limit is not None else None
12785        '''
12786         Rate limit information.
12787        '''
12788
12789    def __repr__(self):
12790        return '<sdm.GenerateKeysResponse ' + \
12791            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
12792            '>'
12793
12794    def to_dict(self):
12795        return {
12796            'rate_limit': self.rate_limit,
12797        }
12798
12799    @classmethod
12800    def from_dict(cls, d):
12801        return cls(rate_limit=d.get('rate_limit'), )
GenerateKeysResponse(rate_limit=None)
12780    def __init__(
12781        self,
12782        rate_limit=None,
12783    ):
12784        self.rate_limit = rate_limit if rate_limit is not None else None
12785        '''
12786         Rate limit information.
12787        '''
rate_limit

Rate limit information.

def to_dict(self)
12794    def to_dict(self):
12795        return {
12796            'rate_limit': self.rate_limit,
12797        }
@classmethod
def from_dict(cls, d)
12799    @classmethod
12800    def from_dict(cls, d):
12801        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
12804class GenericResponseMetadata:
12805    '''
12806         GenericResponseMetadata contains common headers for generic request
12807     responses.
12808    '''
12809    __slots__ = []
12810
12811    def __init__(self, ):
12812        pass
12813
12814    def __repr__(self):
12815        return '<sdm.GenericResponseMetadata ' + \
12816            '>'
12817
12818    def to_dict(self):
12819        return {}
12820
12821    @classmethod
12822    def from_dict(cls, d):
12823        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
12811    def __init__(self, ):
12812        pass
def to_dict(self)
12818    def to_dict(self):
12819        return {}
@classmethod
def from_dict(cls, d)
12821    @classmethod
12822    def from_dict(cls, d):
12823        return cls()
class GetResponseMetadata:
12826class GetResponseMetadata:
12827    '''
12828         GetResponseMetadata is reserved for future use.
12829    '''
12830    __slots__ = []
12831
12832    def __init__(self, ):
12833        pass
12834
12835    def __repr__(self):
12836        return '<sdm.GetResponseMetadata ' + \
12837            '>'
12838
12839    def to_dict(self):
12840        return {}
12841
12842    @classmethod
12843    def from_dict(cls, d):
12844        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
12832    def __init__(self, ):
12833        pass
def to_dict(self)
12839    def to_dict(self):
12840        return {}
@classmethod
def from_dict(cls, d)
12842    @classmethod
12843    def from_dict(cls, d):
12844        return cls()
class GoogleGKE:
12847class GoogleGKE:
12848    __slots__ = [
12849        'allow_resource_role_bypass',
12850        'bind_interface',
12851        'certificate_authority',
12852        'discovery_enabled',
12853        'discovery_username',
12854        'egress_filter',
12855        'endpoint',
12856        'healthcheck_namespace',
12857        'healthy',
12858        'id',
12859        'identity_alias_healthcheck_username',
12860        'identity_set_id',
12861        'name',
12862        'port_override',
12863        'proxy_cluster_id',
12864        'secret_store_id',
12865        'service_account_key',
12866        'subdomain',
12867        'tags',
12868    ]
12869
12870    def __init__(
12871        self,
12872        allow_resource_role_bypass=None,
12873        bind_interface=None,
12874        certificate_authority=None,
12875        discovery_enabled=None,
12876        discovery_username=None,
12877        egress_filter=None,
12878        endpoint=None,
12879        healthcheck_namespace=None,
12880        healthy=None,
12881        id=None,
12882        identity_alias_healthcheck_username=None,
12883        identity_set_id=None,
12884        name=None,
12885        port_override=None,
12886        proxy_cluster_id=None,
12887        secret_store_id=None,
12888        service_account_key=None,
12889        subdomain=None,
12890        tags=None,
12891    ):
12892        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12893        '''
12894         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12895         when a resource role is not provided.
12896        '''
12897        self.bind_interface = bind_interface if bind_interface is not None else ''
12898        '''
12899         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12900        '''
12901        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12902        '''
12903         The CA to authenticate TLS connections with.
12904        '''
12905        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12906        '''
12907         If true, configures discovery of a cluster to be run from a node.
12908        '''
12909        self.discovery_username = discovery_username if discovery_username is not None else ''
12910        '''
12911         If a cluster is configured for user impersonation, this is the user to impersonate when
12912         running discovery.
12913        '''
12914        self.egress_filter = egress_filter if egress_filter is not None else ''
12915        '''
12916         A filter applied to the routing logic to pin datasource to nodes.
12917        '''
12918        self.endpoint = endpoint if endpoint is not None else ''
12919        '''
12920         The endpoint to dial.
12921        '''
12922        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12923        '''
12924         The path used to check the health of your connection.  Defaults to `default`.
12925        '''
12926        self.healthy = healthy if healthy is not None else False
12927        '''
12928         True if the datasource is reachable and the credentials are valid.
12929        '''
12930        self.id = id if id is not None else ''
12931        '''
12932         Unique identifier of the Resource.
12933        '''
12934        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12935        '''
12936         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12937        '''
12938        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12939        '''
12940         The ID of the identity set to use for identity connections.
12941        '''
12942        self.name = name if name is not None else ''
12943        '''
12944         Unique human-readable name of the Resource.
12945        '''
12946        self.port_override = port_override if port_override is not None else 0
12947        '''
12948         The local port used by clients to connect to this resource.
12949        '''
12950        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12951        '''
12952         ID of the proxy cluster for this resource, if any.
12953        '''
12954        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12955        '''
12956         ID of the secret store containing credentials for this resource, if any.
12957        '''
12958        self.service_account_key = service_account_key if service_account_key is not None else ''
12959        '''
12960         The service account key to authenticate with.
12961        '''
12962        self.subdomain = subdomain if subdomain is not None else ''
12963        '''
12964         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12965        '''
12966        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12967        '''
12968         Tags is a map of key, value pairs.
12969        '''
12970
12971    def __repr__(self):
12972        return '<sdm.GoogleGKE ' + \
12973            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
12974            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12975            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
12976            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12977            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
12978            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12979            'endpoint: ' + repr(self.endpoint) + ' ' +\
12980            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
12981            'healthy: ' + repr(self.healthy) + ' ' +\
12982            'id: ' + repr(self.id) + ' ' +\
12983            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
12984            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12985            'name: ' + repr(self.name) + ' ' +\
12986            'port_override: ' + repr(self.port_override) + ' ' +\
12987            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12988            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12989            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
12990            'subdomain: ' + repr(self.subdomain) + ' ' +\
12991            'tags: ' + repr(self.tags) + ' ' +\
12992            '>'
12993
12994    def to_dict(self):
12995        return {
12996            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12997            'bind_interface': self.bind_interface,
12998            'certificate_authority': self.certificate_authority,
12999            'discovery_enabled': self.discovery_enabled,
13000            'discovery_username': self.discovery_username,
13001            'egress_filter': self.egress_filter,
13002            'endpoint': self.endpoint,
13003            'healthcheck_namespace': self.healthcheck_namespace,
13004            'healthy': self.healthy,
13005            'id': self.id,
13006            'identity_alias_healthcheck_username':
13007            self.identity_alias_healthcheck_username,
13008            'identity_set_id': self.identity_set_id,
13009            'name': self.name,
13010            'port_override': self.port_override,
13011            'proxy_cluster_id': self.proxy_cluster_id,
13012            'secret_store_id': self.secret_store_id,
13013            'service_account_key': self.service_account_key,
13014            'subdomain': self.subdomain,
13015            'tags': self.tags,
13016        }
13017
13018    @classmethod
13019    def from_dict(cls, d):
13020        return cls(
13021            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13022            bind_interface=d.get('bind_interface'),
13023            certificate_authority=d.get('certificate_authority'),
13024            discovery_enabled=d.get('discovery_enabled'),
13025            discovery_username=d.get('discovery_username'),
13026            egress_filter=d.get('egress_filter'),
13027            endpoint=d.get('endpoint'),
13028            healthcheck_namespace=d.get('healthcheck_namespace'),
13029            healthy=d.get('healthy'),
13030            id=d.get('id'),
13031            identity_alias_healthcheck_username=d.get(
13032                'identity_alias_healthcheck_username'),
13033            identity_set_id=d.get('identity_set_id'),
13034            name=d.get('name'),
13035            port_override=d.get('port_override'),
13036            proxy_cluster_id=d.get('proxy_cluster_id'),
13037            secret_store_id=d.get('secret_store_id'),
13038            service_account_key=d.get('service_account_key'),
13039            subdomain=d.get('subdomain'),
13040            tags=d.get('tags'),
13041        )
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)
12870    def __init__(
12871        self,
12872        allow_resource_role_bypass=None,
12873        bind_interface=None,
12874        certificate_authority=None,
12875        discovery_enabled=None,
12876        discovery_username=None,
12877        egress_filter=None,
12878        endpoint=None,
12879        healthcheck_namespace=None,
12880        healthy=None,
12881        id=None,
12882        identity_alias_healthcheck_username=None,
12883        identity_set_id=None,
12884        name=None,
12885        port_override=None,
12886        proxy_cluster_id=None,
12887        secret_store_id=None,
12888        service_account_key=None,
12889        subdomain=None,
12890        tags=None,
12891    ):
12892        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
12893        '''
12894         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
12895         when a resource role is not provided.
12896        '''
12897        self.bind_interface = bind_interface if bind_interface is not None else ''
12898        '''
12899         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
12900        '''
12901        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
12902        '''
12903         The CA to authenticate TLS connections with.
12904        '''
12905        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12906        '''
12907         If true, configures discovery of a cluster to be run from a node.
12908        '''
12909        self.discovery_username = discovery_username if discovery_username is not None else ''
12910        '''
12911         If a cluster is configured for user impersonation, this is the user to impersonate when
12912         running discovery.
12913        '''
12914        self.egress_filter = egress_filter if egress_filter is not None else ''
12915        '''
12916         A filter applied to the routing logic to pin datasource to nodes.
12917        '''
12918        self.endpoint = endpoint if endpoint is not None else ''
12919        '''
12920         The endpoint to dial.
12921        '''
12922        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
12923        '''
12924         The path used to check the health of your connection.  Defaults to `default`.
12925        '''
12926        self.healthy = healthy if healthy is not None else False
12927        '''
12928         True if the datasource is reachable and the credentials are valid.
12929        '''
12930        self.id = id if id is not None else ''
12931        '''
12932         Unique identifier of the Resource.
12933        '''
12934        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
12935        '''
12936         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
12937        '''
12938        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12939        '''
12940         The ID of the identity set to use for identity connections.
12941        '''
12942        self.name = name if name is not None else ''
12943        '''
12944         Unique human-readable name of the Resource.
12945        '''
12946        self.port_override = port_override if port_override is not None else 0
12947        '''
12948         The local port used by clients to connect to this resource.
12949        '''
12950        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12951        '''
12952         ID of the proxy cluster for this resource, if any.
12953        '''
12954        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12955        '''
12956         ID of the secret store containing credentials for this resource, if any.
12957        '''
12958        self.service_account_key = service_account_key if service_account_key is not None else ''
12959        '''
12960         The service account key to authenticate with.
12961        '''
12962        self.subdomain = subdomain if subdomain is not None else ''
12963        '''
12964         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
12965        '''
12966        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12967        '''
12968         Tags is a map of key, value pairs.
12969        '''
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)
12994    def to_dict(self):
12995        return {
12996            'allow_resource_role_bypass': self.allow_resource_role_bypass,
12997            'bind_interface': self.bind_interface,
12998            'certificate_authority': self.certificate_authority,
12999            'discovery_enabled': self.discovery_enabled,
13000            'discovery_username': self.discovery_username,
13001            'egress_filter': self.egress_filter,
13002            'endpoint': self.endpoint,
13003            'healthcheck_namespace': self.healthcheck_namespace,
13004            'healthy': self.healthy,
13005            'id': self.id,
13006            'identity_alias_healthcheck_username':
13007            self.identity_alias_healthcheck_username,
13008            'identity_set_id': self.identity_set_id,
13009            'name': self.name,
13010            'port_override': self.port_override,
13011            'proxy_cluster_id': self.proxy_cluster_id,
13012            'secret_store_id': self.secret_store_id,
13013            'service_account_key': self.service_account_key,
13014            'subdomain': self.subdomain,
13015            'tags': self.tags,
13016        }
@classmethod
def from_dict(cls, d)
13018    @classmethod
13019    def from_dict(cls, d):
13020        return cls(
13021            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13022            bind_interface=d.get('bind_interface'),
13023            certificate_authority=d.get('certificate_authority'),
13024            discovery_enabled=d.get('discovery_enabled'),
13025            discovery_username=d.get('discovery_username'),
13026            egress_filter=d.get('egress_filter'),
13027            endpoint=d.get('endpoint'),
13028            healthcheck_namespace=d.get('healthcheck_namespace'),
13029            healthy=d.get('healthy'),
13030            id=d.get('id'),
13031            identity_alias_healthcheck_username=d.get(
13032                'identity_alias_healthcheck_username'),
13033            identity_set_id=d.get('identity_set_id'),
13034            name=d.get('name'),
13035            port_override=d.get('port_override'),
13036            proxy_cluster_id=d.get('proxy_cluster_id'),
13037            secret_store_id=d.get('secret_store_id'),
13038            service_account_key=d.get('service_account_key'),
13039            subdomain=d.get('subdomain'),
13040            tags=d.get('tags'),
13041        )
class GoogleGKEUserImpersonation:
13044class GoogleGKEUserImpersonation:
13045    __slots__ = [
13046        'bind_interface',
13047        'certificate_authority',
13048        'egress_filter',
13049        'endpoint',
13050        'healthcheck_namespace',
13051        'healthy',
13052        'id',
13053        'name',
13054        'port_override',
13055        'proxy_cluster_id',
13056        'secret_store_id',
13057        'service_account_key',
13058        'subdomain',
13059        'tags',
13060    ]
13061
13062    def __init__(
13063        self,
13064        bind_interface=None,
13065        certificate_authority=None,
13066        egress_filter=None,
13067        endpoint=None,
13068        healthcheck_namespace=None,
13069        healthy=None,
13070        id=None,
13071        name=None,
13072        port_override=None,
13073        proxy_cluster_id=None,
13074        secret_store_id=None,
13075        service_account_key=None,
13076        subdomain=None,
13077        tags=None,
13078    ):
13079        self.bind_interface = bind_interface if bind_interface is not None else ''
13080        '''
13081         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13082        '''
13083        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13084        '''
13085         The CA to authenticate TLS connections with.
13086        '''
13087        self.egress_filter = egress_filter if egress_filter is not None else ''
13088        '''
13089         A filter applied to the routing logic to pin datasource to nodes.
13090        '''
13091        self.endpoint = endpoint if endpoint is not None else ''
13092        '''
13093         The endpoint to dial.
13094        '''
13095        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13096        '''
13097         The path used to check the health of your connection.  Defaults to `default`.
13098        '''
13099        self.healthy = healthy if healthy is not None else False
13100        '''
13101         True if the datasource is reachable and the credentials are valid.
13102        '''
13103        self.id = id if id is not None else ''
13104        '''
13105         Unique identifier of the Resource.
13106        '''
13107        self.name = name if name is not None else ''
13108        '''
13109         Unique human-readable name of the Resource.
13110        '''
13111        self.port_override = port_override if port_override is not None else 0
13112        '''
13113         The local port used by clients to connect to this resource.
13114        '''
13115        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13116        '''
13117         ID of the proxy cluster for this resource, if any.
13118        '''
13119        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13120        '''
13121         ID of the secret store containing credentials for this resource, if any.
13122        '''
13123        self.service_account_key = service_account_key if service_account_key is not None else ''
13124        '''
13125         The service account key to authenticate with.
13126        '''
13127        self.subdomain = subdomain if subdomain is not None else ''
13128        '''
13129         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13130        '''
13131        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13132        '''
13133         Tags is a map of key, value pairs.
13134        '''
13135
13136    def __repr__(self):
13137        return '<sdm.GoogleGKEUserImpersonation ' + \
13138            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13139            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13140            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13141            'endpoint: ' + repr(self.endpoint) + ' ' +\
13142            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13143            'healthy: ' + repr(self.healthy) + ' ' +\
13144            'id: ' + repr(self.id) + ' ' +\
13145            'name: ' + repr(self.name) + ' ' +\
13146            'port_override: ' + repr(self.port_override) + ' ' +\
13147            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13148            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13149            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13150            'subdomain: ' + repr(self.subdomain) + ' ' +\
13151            'tags: ' + repr(self.tags) + ' ' +\
13152            '>'
13153
13154    def to_dict(self):
13155        return {
13156            'bind_interface': self.bind_interface,
13157            'certificate_authority': self.certificate_authority,
13158            'egress_filter': self.egress_filter,
13159            'endpoint': self.endpoint,
13160            'healthcheck_namespace': self.healthcheck_namespace,
13161            'healthy': self.healthy,
13162            'id': self.id,
13163            'name': self.name,
13164            'port_override': self.port_override,
13165            'proxy_cluster_id': self.proxy_cluster_id,
13166            'secret_store_id': self.secret_store_id,
13167            'service_account_key': self.service_account_key,
13168            'subdomain': self.subdomain,
13169            'tags': self.tags,
13170        }
13171
13172    @classmethod
13173    def from_dict(cls, d):
13174        return cls(
13175            bind_interface=d.get('bind_interface'),
13176            certificate_authority=d.get('certificate_authority'),
13177            egress_filter=d.get('egress_filter'),
13178            endpoint=d.get('endpoint'),
13179            healthcheck_namespace=d.get('healthcheck_namespace'),
13180            healthy=d.get('healthy'),
13181            id=d.get('id'),
13182            name=d.get('name'),
13183            port_override=d.get('port_override'),
13184            proxy_cluster_id=d.get('proxy_cluster_id'),
13185            secret_store_id=d.get('secret_store_id'),
13186            service_account_key=d.get('service_account_key'),
13187            subdomain=d.get('subdomain'),
13188            tags=d.get('tags'),
13189        )
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)
13062    def __init__(
13063        self,
13064        bind_interface=None,
13065        certificate_authority=None,
13066        egress_filter=None,
13067        endpoint=None,
13068        healthcheck_namespace=None,
13069        healthy=None,
13070        id=None,
13071        name=None,
13072        port_override=None,
13073        proxy_cluster_id=None,
13074        secret_store_id=None,
13075        service_account_key=None,
13076        subdomain=None,
13077        tags=None,
13078    ):
13079        self.bind_interface = bind_interface if bind_interface is not None else ''
13080        '''
13081         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13082        '''
13083        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13084        '''
13085         The CA to authenticate TLS connections with.
13086        '''
13087        self.egress_filter = egress_filter if egress_filter is not None else ''
13088        '''
13089         A filter applied to the routing logic to pin datasource to nodes.
13090        '''
13091        self.endpoint = endpoint if endpoint is not None else ''
13092        '''
13093         The endpoint to dial.
13094        '''
13095        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13096        '''
13097         The path used to check the health of your connection.  Defaults to `default`.
13098        '''
13099        self.healthy = healthy if healthy is not None else False
13100        '''
13101         True if the datasource is reachable and the credentials are valid.
13102        '''
13103        self.id = id if id is not None else ''
13104        '''
13105         Unique identifier of the Resource.
13106        '''
13107        self.name = name if name is not None else ''
13108        '''
13109         Unique human-readable name of the Resource.
13110        '''
13111        self.port_override = port_override if port_override is not None else 0
13112        '''
13113         The local port used by clients to connect to this resource.
13114        '''
13115        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13116        '''
13117         ID of the proxy cluster for this resource, if any.
13118        '''
13119        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13120        '''
13121         ID of the secret store containing credentials for this resource, if any.
13122        '''
13123        self.service_account_key = service_account_key if service_account_key is not None else ''
13124        '''
13125         The service account key to authenticate with.
13126        '''
13127        self.subdomain = subdomain if subdomain is not None else ''
13128        '''
13129         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13130        '''
13131        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13132        '''
13133         Tags is a map of key, value pairs.
13134        '''
bind_interface

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

The bind interface is the IP 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)
13316    def to_dict(self):
13317        return {
13318            'bind_interface': self.bind_interface,
13319            'database': self.database,
13320            'egress_filter': self.egress_filter,
13321            'healthy': self.healthy,
13322            'hostname': self.hostname,
13323            'id': self.id,
13324            'name': self.name,
13325            'override_database': self.override_database,
13326            'password': self.password,
13327            'port': self.port,
13328            'port_override': self.port_override,
13329            'proxy_cluster_id': self.proxy_cluster_id,
13330            'secret_store_id': self.secret_store_id,
13331            'subdomain': self.subdomain,
13332            'tags': self.tags,
13333            'username': self.username,
13334        }
@classmethod
def from_dict(cls, d)
13336    @classmethod
13337    def from_dict(cls, d):
13338        return cls(
13339            bind_interface=d.get('bind_interface'),
13340            database=d.get('database'),
13341            egress_filter=d.get('egress_filter'),
13342            healthy=d.get('healthy'),
13343            hostname=d.get('hostname'),
13344            id=d.get('id'),
13345            name=d.get('name'),
13346            override_database=d.get('override_database'),
13347            password=d.get('password'),
13348            port=d.get('port'),
13349            port_override=d.get('port_override'),
13350            proxy_cluster_id=d.get('proxy_cluster_id'),
13351            secret_store_id=d.get('secret_store_id'),
13352            subdomain=d.get('subdomain'),
13353            tags=d.get('tags'),
13354            username=d.get('username'),
13355        )
class HTTPAuth:
13358class HTTPAuth:
13359    __slots__ = [
13360        'auth_header',
13361        'bind_interface',
13362        'default_path',
13363        'egress_filter',
13364        'headers_blacklist',
13365        'healthcheck_path',
13366        'healthy',
13367        'host_override',
13368        'id',
13369        'name',
13370        'proxy_cluster_id',
13371        'secret_store_id',
13372        'subdomain',
13373        'tags',
13374        'url',
13375    ]
13376
13377    def __init__(
13378        self,
13379        auth_header=None,
13380        bind_interface=None,
13381        default_path=None,
13382        egress_filter=None,
13383        headers_blacklist=None,
13384        healthcheck_path=None,
13385        healthy=None,
13386        host_override=None,
13387        id=None,
13388        name=None,
13389        proxy_cluster_id=None,
13390        secret_store_id=None,
13391        subdomain=None,
13392        tags=None,
13393        url=None,
13394    ):
13395        self.auth_header = auth_header if auth_header is not None else ''
13396        '''
13397         The content to set as the authorization header.
13398        '''
13399        self.bind_interface = bind_interface if bind_interface is not None else ''
13400        '''
13401         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13402        '''
13403        self.default_path = default_path if default_path is not None else ''
13404        '''
13405         Automatically redirect to this path upon connecting.
13406        '''
13407        self.egress_filter = egress_filter if egress_filter is not None else ''
13408        '''
13409         A filter applied to the routing logic to pin datasource to nodes.
13410        '''
13411        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13412        '''
13413         Header names (e.g. Authorization), to omit from logs.
13414        '''
13415        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13416        '''
13417         This path will be used to check the health of your site.
13418        '''
13419        self.healthy = healthy if healthy is not None else False
13420        '''
13421         True if the datasource is reachable and the credentials are valid.
13422        '''
13423        self.host_override = host_override if host_override is not None else ''
13424        '''
13425         The host header will be overwritten with this field if provided.
13426        '''
13427        self.id = id if id is not None else ''
13428        '''
13429         Unique identifier of the Resource.
13430        '''
13431        self.name = name if name is not None else ''
13432        '''
13433         Unique human-readable name of the Resource.
13434        '''
13435        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13436        '''
13437         ID of the proxy cluster for this resource, if any.
13438        '''
13439        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13440        '''
13441         ID of the secret store containing credentials for this resource, if any.
13442        '''
13443        self.subdomain = subdomain if subdomain is not None else ''
13444        '''
13445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13446        '''
13447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13448        '''
13449         Tags is a map of key, value pairs.
13450        '''
13451        self.url = url if url is not None else ''
13452        '''
13453         The base address of your website without the path.
13454        '''
13455
13456    def __repr__(self):
13457        return '<sdm.HTTPAuth ' + \
13458            'auth_header: ' + repr(self.auth_header) + ' ' +\
13459            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13460            'default_path: ' + repr(self.default_path) + ' ' +\
13461            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13462            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13463            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13464            'healthy: ' + repr(self.healthy) + ' ' +\
13465            'host_override: ' + repr(self.host_override) + ' ' +\
13466            'id: ' + repr(self.id) + ' ' +\
13467            'name: ' + repr(self.name) + ' ' +\
13468            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13469            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13470            'subdomain: ' + repr(self.subdomain) + ' ' +\
13471            'tags: ' + repr(self.tags) + ' ' +\
13472            'url: ' + repr(self.url) + ' ' +\
13473            '>'
13474
13475    def to_dict(self):
13476        return {
13477            'auth_header': self.auth_header,
13478            'bind_interface': self.bind_interface,
13479            'default_path': self.default_path,
13480            'egress_filter': self.egress_filter,
13481            'headers_blacklist': self.headers_blacklist,
13482            'healthcheck_path': self.healthcheck_path,
13483            'healthy': self.healthy,
13484            'host_override': self.host_override,
13485            'id': self.id,
13486            'name': self.name,
13487            'proxy_cluster_id': self.proxy_cluster_id,
13488            'secret_store_id': self.secret_store_id,
13489            'subdomain': self.subdomain,
13490            'tags': self.tags,
13491            'url': self.url,
13492        }
13493
13494    @classmethod
13495    def from_dict(cls, d):
13496        return cls(
13497            auth_header=d.get('auth_header'),
13498            bind_interface=d.get('bind_interface'),
13499            default_path=d.get('default_path'),
13500            egress_filter=d.get('egress_filter'),
13501            headers_blacklist=d.get('headers_blacklist'),
13502            healthcheck_path=d.get('healthcheck_path'),
13503            healthy=d.get('healthy'),
13504            host_override=d.get('host_override'),
13505            id=d.get('id'),
13506            name=d.get('name'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            url=d.get('url'),
13512        )
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)
13377    def __init__(
13378        self,
13379        auth_header=None,
13380        bind_interface=None,
13381        default_path=None,
13382        egress_filter=None,
13383        headers_blacklist=None,
13384        healthcheck_path=None,
13385        healthy=None,
13386        host_override=None,
13387        id=None,
13388        name=None,
13389        proxy_cluster_id=None,
13390        secret_store_id=None,
13391        subdomain=None,
13392        tags=None,
13393        url=None,
13394    ):
13395        self.auth_header = auth_header if auth_header is not None else ''
13396        '''
13397         The content to set as the authorization header.
13398        '''
13399        self.bind_interface = bind_interface if bind_interface is not None else ''
13400        '''
13401         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13402        '''
13403        self.default_path = default_path if default_path is not None else ''
13404        '''
13405         Automatically redirect to this path upon connecting.
13406        '''
13407        self.egress_filter = egress_filter if egress_filter is not None else ''
13408        '''
13409         A filter applied to the routing logic to pin datasource to nodes.
13410        '''
13411        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13412        '''
13413         Header names (e.g. Authorization), to omit from logs.
13414        '''
13415        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13416        '''
13417         This path will be used to check the health of your site.
13418        '''
13419        self.healthy = healthy if healthy is not None else False
13420        '''
13421         True if the datasource is reachable and the credentials are valid.
13422        '''
13423        self.host_override = host_override if host_override is not None else ''
13424        '''
13425         The host header will be overwritten with this field if provided.
13426        '''
13427        self.id = id if id is not None else ''
13428        '''
13429         Unique identifier of the Resource.
13430        '''
13431        self.name = name if name is not None else ''
13432        '''
13433         Unique human-readable name of the Resource.
13434        '''
13435        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13436        '''
13437         ID of the proxy cluster for this resource, if any.
13438        '''
13439        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13440        '''
13441         ID of the secret store containing credentials for this resource, if any.
13442        '''
13443        self.subdomain = subdomain if subdomain is not None else ''
13444        '''
13445         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13446        '''
13447        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13448        '''
13449         Tags is a map of key, value pairs.
13450        '''
13451        self.url = url if url is not None else ''
13452        '''
13453         The base address of your website without the path.
13454        '''
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)
13475    def to_dict(self):
13476        return {
13477            'auth_header': self.auth_header,
13478            'bind_interface': self.bind_interface,
13479            'default_path': self.default_path,
13480            'egress_filter': self.egress_filter,
13481            'headers_blacklist': self.headers_blacklist,
13482            'healthcheck_path': self.healthcheck_path,
13483            'healthy': self.healthy,
13484            'host_override': self.host_override,
13485            'id': self.id,
13486            'name': self.name,
13487            'proxy_cluster_id': self.proxy_cluster_id,
13488            'secret_store_id': self.secret_store_id,
13489            'subdomain': self.subdomain,
13490            'tags': self.tags,
13491            'url': self.url,
13492        }
@classmethod
def from_dict(cls, d)
13494    @classmethod
13495    def from_dict(cls, d):
13496        return cls(
13497            auth_header=d.get('auth_header'),
13498            bind_interface=d.get('bind_interface'),
13499            default_path=d.get('default_path'),
13500            egress_filter=d.get('egress_filter'),
13501            headers_blacklist=d.get('headers_blacklist'),
13502            healthcheck_path=d.get('healthcheck_path'),
13503            healthy=d.get('healthy'),
13504            host_override=d.get('host_override'),
13505            id=d.get('id'),
13506            name=d.get('name'),
13507            proxy_cluster_id=d.get('proxy_cluster_id'),
13508            secret_store_id=d.get('secret_store_id'),
13509            subdomain=d.get('subdomain'),
13510            tags=d.get('tags'),
13511            url=d.get('url'),
13512        )
class HTTPBasicAuth:
13515class HTTPBasicAuth:
13516    __slots__ = [
13517        'bind_interface',
13518        'default_path',
13519        'egress_filter',
13520        'headers_blacklist',
13521        'healthcheck_path',
13522        'healthy',
13523        'host_override',
13524        'id',
13525        'name',
13526        'password',
13527        'proxy_cluster_id',
13528        'secret_store_id',
13529        'subdomain',
13530        'tags',
13531        'url',
13532        'username',
13533    ]
13534
13535    def __init__(
13536        self,
13537        bind_interface=None,
13538        default_path=None,
13539        egress_filter=None,
13540        headers_blacklist=None,
13541        healthcheck_path=None,
13542        healthy=None,
13543        host_override=None,
13544        id=None,
13545        name=None,
13546        password=None,
13547        proxy_cluster_id=None,
13548        secret_store_id=None,
13549        subdomain=None,
13550        tags=None,
13551        url=None,
13552        username=None,
13553    ):
13554        self.bind_interface = bind_interface if bind_interface is not None else ''
13555        '''
13556         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13557        '''
13558        self.default_path = default_path if default_path is not None else ''
13559        '''
13560         Automatically redirect to this path upon connecting.
13561        '''
13562        self.egress_filter = egress_filter if egress_filter is not None else ''
13563        '''
13564         A filter applied to the routing logic to pin datasource to nodes.
13565        '''
13566        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13567        '''
13568         Header names (e.g. Authorization), to omit from logs.
13569        '''
13570        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13571        '''
13572         This path will be used to check the health of your site.
13573        '''
13574        self.healthy = healthy if healthy is not None else False
13575        '''
13576         True if the datasource is reachable and the credentials are valid.
13577        '''
13578        self.host_override = host_override if host_override is not None else ''
13579        '''
13580         The host header will be overwritten with this field if provided.
13581        '''
13582        self.id = id if id is not None else ''
13583        '''
13584         Unique identifier of the Resource.
13585        '''
13586        self.name = name if name is not None else ''
13587        '''
13588         Unique human-readable name of the Resource.
13589        '''
13590        self.password = password if password is not None else ''
13591        '''
13592         The password to authenticate with.
13593        '''
13594        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13595        '''
13596         ID of the proxy cluster for this resource, if any.
13597        '''
13598        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13599        '''
13600         ID of the secret store containing credentials for this resource, if any.
13601        '''
13602        self.subdomain = subdomain if subdomain is not None else ''
13603        '''
13604         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13605        '''
13606        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13607        '''
13608         Tags is a map of key, value pairs.
13609        '''
13610        self.url = url if url is not None else ''
13611        '''
13612         The base address of your website without the path.
13613        '''
13614        self.username = username if username is not None else ''
13615        '''
13616         The username to authenticate with.
13617        '''
13618
13619    def __repr__(self):
13620        return '<sdm.HTTPBasicAuth ' + \
13621            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13622            'default_path: ' + repr(self.default_path) + ' ' +\
13623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13624            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
13625            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
13626            'healthy: ' + repr(self.healthy) + ' ' +\
13627            'host_override: ' + repr(self.host_override) + ' ' +\
13628            'id: ' + repr(self.id) + ' ' +\
13629            'name: ' + repr(self.name) + ' ' +\
13630            'password: ' + repr(self.password) + ' ' +\
13631            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13632            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13633            'subdomain: ' + repr(self.subdomain) + ' ' +\
13634            'tags: ' + repr(self.tags) + ' ' +\
13635            'url: ' + repr(self.url) + ' ' +\
13636            'username: ' + repr(self.username) + ' ' +\
13637            '>'
13638
13639    def to_dict(self):
13640        return {
13641            'bind_interface': self.bind_interface,
13642            'default_path': self.default_path,
13643            'egress_filter': self.egress_filter,
13644            'headers_blacklist': self.headers_blacklist,
13645            'healthcheck_path': self.healthcheck_path,
13646            'healthy': self.healthy,
13647            'host_override': self.host_override,
13648            'id': self.id,
13649            'name': self.name,
13650            'password': self.password,
13651            'proxy_cluster_id': self.proxy_cluster_id,
13652            'secret_store_id': self.secret_store_id,
13653            'subdomain': self.subdomain,
13654            'tags': self.tags,
13655            'url': self.url,
13656            'username': self.username,
13657        }
13658
13659    @classmethod
13660    def from_dict(cls, d):
13661        return cls(
13662            bind_interface=d.get('bind_interface'),
13663            default_path=d.get('default_path'),
13664            egress_filter=d.get('egress_filter'),
13665            headers_blacklist=d.get('headers_blacklist'),
13666            healthcheck_path=d.get('healthcheck_path'),
13667            healthy=d.get('healthy'),
13668            host_override=d.get('host_override'),
13669            id=d.get('id'),
13670            name=d.get('name'),
13671            password=d.get('password'),
13672            proxy_cluster_id=d.get('proxy_cluster_id'),
13673            secret_store_id=d.get('secret_store_id'),
13674            subdomain=d.get('subdomain'),
13675            tags=d.get('tags'),
13676            url=d.get('url'),
13677            username=d.get('username'),
13678        )
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)
13535    def __init__(
13536        self,
13537        bind_interface=None,
13538        default_path=None,
13539        egress_filter=None,
13540        headers_blacklist=None,
13541        healthcheck_path=None,
13542        healthy=None,
13543        host_override=None,
13544        id=None,
13545        name=None,
13546        password=None,
13547        proxy_cluster_id=None,
13548        secret_store_id=None,
13549        subdomain=None,
13550        tags=None,
13551        url=None,
13552        username=None,
13553    ):
13554        self.bind_interface = bind_interface if bind_interface is not None else ''
13555        '''
13556         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
13557        '''
13558        self.default_path = default_path if default_path is not None else ''
13559        '''
13560         Automatically redirect to this path upon connecting.
13561        '''
13562        self.egress_filter = egress_filter if egress_filter is not None else ''
13563        '''
13564         A filter applied to the routing logic to pin datasource to nodes.
13565        '''
13566        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
13567        '''
13568         Header names (e.g. Authorization), to omit from logs.
13569        '''
13570        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
13571        '''
13572         This path will be used to check the health of your site.
13573        '''
13574        self.healthy = healthy if healthy is not None else False
13575        '''
13576         True if the datasource is reachable and the credentials are valid.
13577        '''
13578        self.host_override = host_override if host_override is not None else ''
13579        '''
13580         The host header will be overwritten with this field if provided.
13581        '''
13582        self.id = id if id is not None else ''
13583        '''
13584         Unique identifier of the Resource.
13585        '''
13586        self.name = name if name is not None else ''
13587        '''
13588         Unique human-readable name of the Resource.
13589        '''
13590        self.password = password if password is not None else ''
13591        '''
13592         The password to authenticate with.
13593        '''
13594        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13595        '''
13596         ID of the proxy cluster for this resource, if any.
13597        '''
13598        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13599        '''
13600         ID of the secret store containing credentials for this resource, if any.
13601        '''
13602        self.subdomain = subdomain if subdomain is not None else ''
13603        '''
13604         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13605        '''
13606        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13607        '''
13608         Tags is a map of key, value pairs.
13609        '''
13610        self.url = url if url is not None else ''
13611        '''
13612         The base address of your website without the path.
13613        '''
13614        self.username = username if username is not None else ''
13615        '''
13616         The username to authenticate with.
13617        '''
bind_interface

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

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

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)
13791    def to_dict(self):
13792        return {
13793            'bind_interface': self.bind_interface,
13794            'default_path': self.default_path,
13795            'egress_filter': self.egress_filter,
13796            'headers_blacklist': self.headers_blacklist,
13797            'healthcheck_path': self.healthcheck_path,
13798            'healthy': self.healthy,
13799            'host_override': self.host_override,
13800            'id': self.id,
13801            'name': self.name,
13802            'proxy_cluster_id': self.proxy_cluster_id,
13803            'secret_store_id': self.secret_store_id,
13804            'subdomain': self.subdomain,
13805            'tags': self.tags,
13806            'url': self.url,
13807        }
@classmethod
def from_dict(cls, d)
13809    @classmethod
13810    def from_dict(cls, d):
13811        return cls(
13812            bind_interface=d.get('bind_interface'),
13813            default_path=d.get('default_path'),
13814            egress_filter=d.get('egress_filter'),
13815            headers_blacklist=d.get('headers_blacklist'),
13816            healthcheck_path=d.get('healthcheck_path'),
13817            healthy=d.get('healthy'),
13818            host_override=d.get('host_override'),
13819            id=d.get('id'),
13820            name=d.get('name'),
13821            proxy_cluster_id=d.get('proxy_cluster_id'),
13822            secret_store_id=d.get('secret_store_id'),
13823            subdomain=d.get('subdomain'),
13824            tags=d.get('tags'),
13825            url=d.get('url'),
13826        )
class Healthcheck:
13829class Healthcheck:
13830    '''
13831         Healthcheck defines the status of the link between a node and a resource
13832    '''
13833    __slots__ = [
13834        'error_msg',
13835        'healthy',
13836        'id',
13837        'node_id',
13838        'node_name',
13839        'resource_id',
13840        'resource_name',
13841        'timestamp',
13842    ]
13843
13844    def __init__(
13845        self,
13846        error_msg=None,
13847        healthy=None,
13848        id=None,
13849        node_id=None,
13850        node_name=None,
13851        resource_id=None,
13852        resource_name=None,
13853        timestamp=None,
13854    ):
13855        self.error_msg = error_msg if error_msg is not None else ''
13856        '''
13857         The error if unhealthy
13858        '''
13859        self.healthy = healthy if healthy is not None else False
13860        '''
13861         Whether the healthcheck succeeded.
13862        '''
13863        self.id = id if id is not None else ''
13864        '''
13865         Unique identifier of the healthcheck.
13866        '''
13867        self.node_id = node_id if node_id is not None else ''
13868        '''
13869         Unique identifier of the healthcheck node.
13870        '''
13871        self.node_name = node_name if node_name is not None else ''
13872        '''
13873         The name of the node.
13874        '''
13875        self.resource_id = resource_id if resource_id is not None else ''
13876        '''
13877         Unique identifier of the healthcheck resource.
13878        '''
13879        self.resource_name = resource_name if resource_name is not None else ''
13880        '''
13881         The name of the resource.
13882        '''
13883        self.timestamp = timestamp if timestamp is not None else None
13884        '''
13885         The time at which the healthcheck state was recorded.
13886        '''
13887
13888    def __repr__(self):
13889        return '<sdm.Healthcheck ' + \
13890            'error_msg: ' + repr(self.error_msg) + ' ' +\
13891            'healthy: ' + repr(self.healthy) + ' ' +\
13892            'id: ' + repr(self.id) + ' ' +\
13893            'node_id: ' + repr(self.node_id) + ' ' +\
13894            'node_name: ' + repr(self.node_name) + ' ' +\
13895            'resource_id: ' + repr(self.resource_id) + ' ' +\
13896            'resource_name: ' + repr(self.resource_name) + ' ' +\
13897            'timestamp: ' + repr(self.timestamp) + ' ' +\
13898            '>'
13899
13900    def to_dict(self):
13901        return {
13902            'error_msg': self.error_msg,
13903            'healthy': self.healthy,
13904            'id': self.id,
13905            'node_id': self.node_id,
13906            'node_name': self.node_name,
13907            'resource_id': self.resource_id,
13908            'resource_name': self.resource_name,
13909            'timestamp': self.timestamp,
13910        }
13911
13912    @classmethod
13913    def from_dict(cls, d):
13914        return cls(
13915            error_msg=d.get('error_msg'),
13916            healthy=d.get('healthy'),
13917            id=d.get('id'),
13918            node_id=d.get('node_id'),
13919            node_name=d.get('node_name'),
13920            resource_id=d.get('resource_id'),
13921            resource_name=d.get('resource_name'),
13922            timestamp=d.get('timestamp'),
13923        )

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)
13844    def __init__(
13845        self,
13846        error_msg=None,
13847        healthy=None,
13848        id=None,
13849        node_id=None,
13850        node_name=None,
13851        resource_id=None,
13852        resource_name=None,
13853        timestamp=None,
13854    ):
13855        self.error_msg = error_msg if error_msg is not None else ''
13856        '''
13857         The error if unhealthy
13858        '''
13859        self.healthy = healthy if healthy is not None else False
13860        '''
13861         Whether the healthcheck succeeded.
13862        '''
13863        self.id = id if id is not None else ''
13864        '''
13865         Unique identifier of the healthcheck.
13866        '''
13867        self.node_id = node_id if node_id is not None else ''
13868        '''
13869         Unique identifier of the healthcheck node.
13870        '''
13871        self.node_name = node_name if node_name is not None else ''
13872        '''
13873         The name of the node.
13874        '''
13875        self.resource_id = resource_id if resource_id is not None else ''
13876        '''
13877         Unique identifier of the healthcheck resource.
13878        '''
13879        self.resource_name = resource_name if resource_name is not None else ''
13880        '''
13881         The name of the resource.
13882        '''
13883        self.timestamp = timestamp if timestamp is not None else None
13884        '''
13885         The time at which the healthcheck state was recorded.
13886        '''
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)
13900    def to_dict(self):
13901        return {
13902            'error_msg': self.error_msg,
13903            'healthy': self.healthy,
13904            'id': self.id,
13905            'node_id': self.node_id,
13906            'node_name': self.node_name,
13907            'resource_id': self.resource_id,
13908            'resource_name': self.resource_name,
13909            'timestamp': self.timestamp,
13910        }
@classmethod
def from_dict(cls, d)
13912    @classmethod
13913    def from_dict(cls, d):
13914        return cls(
13915            error_msg=d.get('error_msg'),
13916            healthy=d.get('healthy'),
13917            id=d.get('id'),
13918            node_id=d.get('node_id'),
13919            node_name=d.get('node_name'),
13920            resource_id=d.get('resource_id'),
13921            resource_name=d.get('resource_name'),
13922            timestamp=d.get('timestamp'),
13923        )
class HealthcheckListResponse:
13926class HealthcheckListResponse:
13927    '''
13928         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
13929     HealthcheckListRequest.
13930    '''
13931    __slots__ = [
13932        'rate_limit',
13933    ]
13934
13935    def __init__(
13936        self,
13937        rate_limit=None,
13938    ):
13939        self.rate_limit = rate_limit if rate_limit is not None else None
13940        '''
13941         Rate limit information.
13942        '''
13943
13944    def __repr__(self):
13945        return '<sdm.HealthcheckListResponse ' + \
13946            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13947            '>'
13948
13949    def to_dict(self):
13950        return {
13951            'rate_limit': self.rate_limit,
13952        }
13953
13954    @classmethod
13955    def from_dict(cls, d):
13956        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)
13935    def __init__(
13936        self,
13937        rate_limit=None,
13938    ):
13939        self.rate_limit = rate_limit if rate_limit is not None else None
13940        '''
13941         Rate limit information.
13942        '''
rate_limit

Rate limit information.

def to_dict(self)
13949    def to_dict(self):
13950        return {
13951            'rate_limit': self.rate_limit,
13952        }
@classmethod
def from_dict(cls, d)
13954    @classmethod
13955    def from_dict(cls, d):
13956        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
13959class HealthcheckRequest:
13960    __slots__ = [
13961        'secret_engine_id',
13962    ]
13963
13964    def __init__(
13965        self,
13966        secret_engine_id=None,
13967    ):
13968        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13969        '''
13970         required
13971        '''
13972
13973    def __repr__(self):
13974        return '<sdm.HealthcheckRequest ' + \
13975            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13976            '>'
13977
13978    def to_dict(self):
13979        return {
13980            'secret_engine_id': self.secret_engine_id,
13981        }
13982
13983    @classmethod
13984    def from_dict(cls, d):
13985        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
13964    def __init__(
13965        self,
13966        secret_engine_id=None,
13967    ):
13968        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13969        '''
13970         required
13971        '''
secret_engine_id

required

def to_dict(self)
13978    def to_dict(self):
13979        return {
13980            'secret_engine_id': self.secret_engine_id,
13981        }
@classmethod
def from_dict(cls, d)
13983    @classmethod
13984    def from_dict(cls, d):
13985        return cls(secret_engine_id=d.get('secret_engine_id'), )
class HealthcheckResponse:
13988class HealthcheckResponse:
13989    __slots__ = [
13990        'rate_limit',
13991        'status',
13992    ]
13993
13994    def __init__(
13995        self,
13996        rate_limit=None,
13997        status=None,
13998    ):
13999        self.rate_limit = rate_limit if rate_limit is not None else None
14000        '''
14001         Rate limit information.
14002        '''
14003        self.status = status if status is not None else []
14004        '''
14005         Array of statuses of all nodes serving a secret engine
14006        '''
14007
14008    def __repr__(self):
14009        return '<sdm.HealthcheckResponse ' + \
14010            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14011            'status: ' + repr(self.status) + ' ' +\
14012            '>'
14013
14014    def to_dict(self):
14015        return {
14016            'rate_limit': self.rate_limit,
14017            'status': self.status,
14018        }
14019
14020    @classmethod
14021    def from_dict(cls, d):
14022        return cls(
14023            rate_limit=d.get('rate_limit'),
14024            status=d.get('status'),
14025        )
HealthcheckResponse(rate_limit=None, status=None)
13994    def __init__(
13995        self,
13996        rate_limit=None,
13997        status=None,
13998    ):
13999        self.rate_limit = rate_limit if rate_limit is not None else None
14000        '''
14001         Rate limit information.
14002        '''
14003        self.status = status if status is not None else []
14004        '''
14005         Array of statuses of all nodes serving a secret engine
14006        '''
rate_limit

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

def to_dict(self)
14014    def to_dict(self):
14015        return {
14016            'rate_limit': self.rate_limit,
14017            'status': self.status,
14018        }
@classmethod
def from_dict(cls, d)
14020    @classmethod
14021    def from_dict(cls, d):
14022        return cls(
14023            rate_limit=d.get('rate_limit'),
14024            status=d.get('status'),
14025        )
class HealthcheckStatus:
14028class HealthcheckStatus:
14029    '''
14030         HealthcheckStatus contains status of a node health
14031    '''
14032    __slots__ = [
14033        'node_id',
14034        'status',
14035    ]
14036
14037    def __init__(
14038        self,
14039        node_id=None,
14040        status=None,
14041    ):
14042        self.node_id = node_id if node_id is not None else ''
14043        '''
14044         ID of node
14045        '''
14046        self.status = status if status is not None else ''
14047        '''
14048         Status of node's health
14049        '''
14050
14051    def __repr__(self):
14052        return '<sdm.HealthcheckStatus ' + \
14053            'node_id: ' + repr(self.node_id) + ' ' +\
14054            'status: ' + repr(self.status) + ' ' +\
14055            '>'
14056
14057    def to_dict(self):
14058        return {
14059            'node_id': self.node_id,
14060            'status': self.status,
14061        }
14062
14063    @classmethod
14064    def from_dict(cls, d):
14065        return cls(
14066            node_id=d.get('node_id'),
14067            status=d.get('status'),
14068        )

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
14037    def __init__(
14038        self,
14039        node_id=None,
14040        status=None,
14041    ):
14042        self.node_id = node_id if node_id is not None else ''
14043        '''
14044         ID of node
14045        '''
14046        self.status = status if status is not None else ''
14047        '''
14048         Status of node's health
14049        '''
node_id

ID of node

status

Status of node's health

def to_dict(self)
14057    def to_dict(self):
14058        return {
14059            'node_id': self.node_id,
14060            'status': self.status,
14061        }
@classmethod
def from_dict(cls, d)
14063    @classmethod
14064    def from_dict(cls, d):
14065        return cls(
14066            node_id=d.get('node_id'),
14067            status=d.get('status'),
14068        )
class IdentityAlias:
14071class IdentityAlias:
14072    '''
14073         IdentityAliases define the username to be used for a specific account
14074     when connecting to a remote resource using that identity set.
14075    '''
14076    __slots__ = [
14077        'account_id',
14078        'id',
14079        'identity_set_id',
14080        'username',
14081    ]
14082
14083    def __init__(
14084        self,
14085        account_id=None,
14086        id=None,
14087        identity_set_id=None,
14088        username=None,
14089    ):
14090        self.account_id = account_id if account_id is not None else ''
14091        '''
14092         The account for this identity alias.
14093        '''
14094        self.id = id if id is not None else ''
14095        '''
14096         Unique identifier of the IdentityAlias.
14097        '''
14098        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14099        '''
14100         The identity set.
14101        '''
14102        self.username = username if username is not None else ''
14103        '''
14104         The username to be used as the identity alias for this account.
14105        '''
14106
14107    def __repr__(self):
14108        return '<sdm.IdentityAlias ' + \
14109            'account_id: ' + repr(self.account_id) + ' ' +\
14110            'id: ' + repr(self.id) + ' ' +\
14111            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
14112            'username: ' + repr(self.username) + ' ' +\
14113            '>'
14114
14115    def to_dict(self):
14116        return {
14117            'account_id': self.account_id,
14118            'id': self.id,
14119            'identity_set_id': self.identity_set_id,
14120            'username': self.username,
14121        }
14122
14123    @classmethod
14124    def from_dict(cls, d):
14125        return cls(
14126            account_id=d.get('account_id'),
14127            id=d.get('id'),
14128            identity_set_id=d.get('identity_set_id'),
14129            username=d.get('username'),
14130        )

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)
14083    def __init__(
14084        self,
14085        account_id=None,
14086        id=None,
14087        identity_set_id=None,
14088        username=None,
14089    ):
14090        self.account_id = account_id if account_id is not None else ''
14091        '''
14092         The account for this identity alias.
14093        '''
14094        self.id = id if id is not None else ''
14095        '''
14096         Unique identifier of the IdentityAlias.
14097        '''
14098        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
14099        '''
14100         The identity set.
14101        '''
14102        self.username = username if username is not None else ''
14103        '''
14104         The username to be used as the identity alias for this account.
14105        '''
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)
14115    def to_dict(self):
14116        return {
14117            'account_id': self.account_id,
14118            'id': self.id,
14119            'identity_set_id': self.identity_set_id,
14120            'username': self.username,
14121        }
@classmethod
def from_dict(cls, d)
14123    @classmethod
14124    def from_dict(cls, d):
14125        return cls(
14126            account_id=d.get('account_id'),
14127            id=d.get('id'),
14128            identity_set_id=d.get('identity_set_id'),
14129            username=d.get('username'),
14130        )
class IdentityAliasCreateResponse:
14133class IdentityAliasCreateResponse:
14134    '''
14135         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
14136    '''
14137    __slots__ = [
14138        'identity_alias',
14139        'meta',
14140        'rate_limit',
14141    ]
14142
14143    def __init__(
14144        self,
14145        identity_alias=None,
14146        meta=None,
14147        rate_limit=None,
14148    ):
14149        self.identity_alias = identity_alias if identity_alias is not None else None
14150        '''
14151         The created IdentityAlias.
14152        '''
14153        self.meta = meta if meta is not None else None
14154        '''
14155         Reserved for future use.
14156        '''
14157        self.rate_limit = rate_limit if rate_limit is not None else None
14158        '''
14159         Rate limit information.
14160        '''
14161
14162    def __repr__(self):
14163        return '<sdm.IdentityAliasCreateResponse ' + \
14164            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14165            'meta: ' + repr(self.meta) + ' ' +\
14166            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14167            '>'
14168
14169    def to_dict(self):
14170        return {
14171            'identity_alias': self.identity_alias,
14172            'meta': self.meta,
14173            'rate_limit': self.rate_limit,
14174        }
14175
14176    @classmethod
14177    def from_dict(cls, d):
14178        return cls(
14179            identity_alias=d.get('identity_alias'),
14180            meta=d.get('meta'),
14181            rate_limit=d.get('rate_limit'),
14182        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
14143    def __init__(
14144        self,
14145        identity_alias=None,
14146        meta=None,
14147        rate_limit=None,
14148    ):
14149        self.identity_alias = identity_alias if identity_alias is not None else None
14150        '''
14151         The created IdentityAlias.
14152        '''
14153        self.meta = meta if meta is not None else None
14154        '''
14155         Reserved for future use.
14156        '''
14157        self.rate_limit = rate_limit if rate_limit is not None else None
14158        '''
14159         Rate limit information.
14160        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14169    def to_dict(self):
14170        return {
14171            'identity_alias': self.identity_alias,
14172            'meta': self.meta,
14173            'rate_limit': self.rate_limit,
14174        }
@classmethod
def from_dict(cls, d)
14176    @classmethod
14177    def from_dict(cls, d):
14178        return cls(
14179            identity_alias=d.get('identity_alias'),
14180            meta=d.get('meta'),
14181            rate_limit=d.get('rate_limit'),
14182        )
class IdentityAliasDeleteResponse:
14185class IdentityAliasDeleteResponse:
14186    '''
14187         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
14188    '''
14189    __slots__ = [
14190        'meta',
14191        'rate_limit',
14192    ]
14193
14194    def __init__(
14195        self,
14196        meta=None,
14197        rate_limit=None,
14198    ):
14199        self.meta = meta if meta is not None else None
14200        '''
14201         Reserved for future use.
14202        '''
14203        self.rate_limit = rate_limit if rate_limit is not None else None
14204        '''
14205         Rate limit information.
14206        '''
14207
14208    def __repr__(self):
14209        return '<sdm.IdentityAliasDeleteResponse ' + \
14210            'meta: ' + repr(self.meta) + ' ' +\
14211            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14212            '>'
14213
14214    def to_dict(self):
14215        return {
14216            'meta': self.meta,
14217            'rate_limit': self.rate_limit,
14218        }
14219
14220    @classmethod
14221    def from_dict(cls, d):
14222        return cls(
14223            meta=d.get('meta'),
14224            rate_limit=d.get('rate_limit'),
14225        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
14194    def __init__(
14195        self,
14196        meta=None,
14197        rate_limit=None,
14198    ):
14199        self.meta = meta if meta is not None else None
14200        '''
14201         Reserved for future use.
14202        '''
14203        self.rate_limit = rate_limit if rate_limit is not None else None
14204        '''
14205         Rate limit information.
14206        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14214    def to_dict(self):
14215        return {
14216            'meta': self.meta,
14217            'rate_limit': self.rate_limit,
14218        }
@classmethod
def from_dict(cls, d)
14220    @classmethod
14221    def from_dict(cls, d):
14222        return cls(
14223            meta=d.get('meta'),
14224            rate_limit=d.get('rate_limit'),
14225        )
class IdentityAliasGetResponse:
14228class IdentityAliasGetResponse:
14229    '''
14230         IdentityAliasGetResponse returns a requested IdentityAlias.
14231    '''
14232    __slots__ = [
14233        'identity_alias',
14234        'meta',
14235        'rate_limit',
14236    ]
14237
14238    def __init__(
14239        self,
14240        identity_alias=None,
14241        meta=None,
14242        rate_limit=None,
14243    ):
14244        self.identity_alias = identity_alias if identity_alias is not None else None
14245        '''
14246         The requested IdentityAlias.
14247        '''
14248        self.meta = meta if meta is not None else None
14249        '''
14250         Reserved for future use.
14251        '''
14252        self.rate_limit = rate_limit if rate_limit is not None else None
14253        '''
14254         Rate limit information.
14255        '''
14256
14257    def __repr__(self):
14258        return '<sdm.IdentityAliasGetResponse ' + \
14259            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14260            'meta: ' + repr(self.meta) + ' ' +\
14261            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14262            '>'
14263
14264    def to_dict(self):
14265        return {
14266            'identity_alias': self.identity_alias,
14267            'meta': self.meta,
14268            'rate_limit': self.rate_limit,
14269        }
14270
14271    @classmethod
14272    def from_dict(cls, d):
14273        return cls(
14274            identity_alias=d.get('identity_alias'),
14275            meta=d.get('meta'),
14276            rate_limit=d.get('rate_limit'),
14277        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
14238    def __init__(
14239        self,
14240        identity_alias=None,
14241        meta=None,
14242        rate_limit=None,
14243    ):
14244        self.identity_alias = identity_alias if identity_alias is not None else None
14245        '''
14246         The requested IdentityAlias.
14247        '''
14248        self.meta = meta if meta is not None else None
14249        '''
14250         Reserved for future use.
14251        '''
14252        self.rate_limit = rate_limit if rate_limit is not None else None
14253        '''
14254         Rate limit information.
14255        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14264    def to_dict(self):
14265        return {
14266            'identity_alias': self.identity_alias,
14267            'meta': self.meta,
14268            'rate_limit': self.rate_limit,
14269        }
@classmethod
def from_dict(cls, d)
14271    @classmethod
14272    def from_dict(cls, d):
14273        return cls(
14274            identity_alias=d.get('identity_alias'),
14275            meta=d.get('meta'),
14276            rate_limit=d.get('rate_limit'),
14277        )
class IdentityAliasHistory:
14280class IdentityAliasHistory:
14281    '''
14282         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
14283     where every change (create, update and delete) to a IdentityAlias produces an
14284     IdentityAliasHistory record.
14285    '''
14286    __slots__ = [
14287        'activity_id',
14288        'deleted_at',
14289        'identity_alias',
14290        'timestamp',
14291    ]
14292
14293    def __init__(
14294        self,
14295        activity_id=None,
14296        deleted_at=None,
14297        identity_alias=None,
14298        timestamp=None,
14299    ):
14300        self.activity_id = activity_id if activity_id is not None else ''
14301        '''
14302         The unique identifier of the Activity that produced this change to the IdentityAlias.
14303         May be empty for some system-initiated updates.
14304        '''
14305        self.deleted_at = deleted_at if deleted_at is not None else None
14306        '''
14307         If this IdentityAlias was deleted, the time it was deleted.
14308        '''
14309        self.identity_alias = identity_alias if identity_alias is not None else None
14310        '''
14311         The complete IdentityAlias state at this time.
14312        '''
14313        self.timestamp = timestamp if timestamp is not None else None
14314        '''
14315         The time at which the IdentityAlias state was recorded.
14316        '''
14317
14318    def __repr__(self):
14319        return '<sdm.IdentityAliasHistory ' + \
14320            'activity_id: ' + repr(self.activity_id) + ' ' +\
14321            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14322            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14323            'timestamp: ' + repr(self.timestamp) + ' ' +\
14324            '>'
14325
14326    def to_dict(self):
14327        return {
14328            'activity_id': self.activity_id,
14329            'deleted_at': self.deleted_at,
14330            'identity_alias': self.identity_alias,
14331            'timestamp': self.timestamp,
14332        }
14333
14334    @classmethod
14335    def from_dict(cls, d):
14336        return cls(
14337            activity_id=d.get('activity_id'),
14338            deleted_at=d.get('deleted_at'),
14339            identity_alias=d.get('identity_alias'),
14340            timestamp=d.get('timestamp'),
14341        )

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)
14293    def __init__(
14294        self,
14295        activity_id=None,
14296        deleted_at=None,
14297        identity_alias=None,
14298        timestamp=None,
14299    ):
14300        self.activity_id = activity_id if activity_id is not None else ''
14301        '''
14302         The unique identifier of the Activity that produced this change to the IdentityAlias.
14303         May be empty for some system-initiated updates.
14304        '''
14305        self.deleted_at = deleted_at if deleted_at is not None else None
14306        '''
14307         If this IdentityAlias was deleted, the time it was deleted.
14308        '''
14309        self.identity_alias = identity_alias if identity_alias is not None else None
14310        '''
14311         The complete IdentityAlias state at this time.
14312        '''
14313        self.timestamp = timestamp if timestamp is not None else None
14314        '''
14315         The time at which the IdentityAlias state was recorded.
14316        '''
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)
14326    def to_dict(self):
14327        return {
14328            'activity_id': self.activity_id,
14329            'deleted_at': self.deleted_at,
14330            'identity_alias': self.identity_alias,
14331            'timestamp': self.timestamp,
14332        }
@classmethod
def from_dict(cls, d)
14334    @classmethod
14335    def from_dict(cls, d):
14336        return cls(
14337            activity_id=d.get('activity_id'),
14338            deleted_at=d.get('deleted_at'),
14339            identity_alias=d.get('identity_alias'),
14340            timestamp=d.get('timestamp'),
14341        )
class IdentityAliasUpdateResponse:
14344class IdentityAliasUpdateResponse:
14345    '''
14346         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
14347     a IdentityAliasUpdateRequest.
14348    '''
14349    __slots__ = [
14350        'identity_alias',
14351        'meta',
14352        'rate_limit',
14353    ]
14354
14355    def __init__(
14356        self,
14357        identity_alias=None,
14358        meta=None,
14359        rate_limit=None,
14360    ):
14361        self.identity_alias = identity_alias if identity_alias is not None else None
14362        '''
14363         The updated IdentityAlias.
14364        '''
14365        self.meta = meta if meta is not None else None
14366        '''
14367         Reserved for future use.
14368        '''
14369        self.rate_limit = rate_limit if rate_limit is not None else None
14370        '''
14371         Rate limit information.
14372        '''
14373
14374    def __repr__(self):
14375        return '<sdm.IdentityAliasUpdateResponse ' + \
14376            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
14377            'meta: ' + repr(self.meta) + ' ' +\
14378            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14379            '>'
14380
14381    def to_dict(self):
14382        return {
14383            'identity_alias': self.identity_alias,
14384            'meta': self.meta,
14385            'rate_limit': self.rate_limit,
14386        }
14387
14388    @classmethod
14389    def from_dict(cls, d):
14390        return cls(
14391            identity_alias=d.get('identity_alias'),
14392            meta=d.get('meta'),
14393            rate_limit=d.get('rate_limit'),
14394        )

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

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
14355    def __init__(
14356        self,
14357        identity_alias=None,
14358        meta=None,
14359        rate_limit=None,
14360    ):
14361        self.identity_alias = identity_alias if identity_alias is not None else None
14362        '''
14363         The updated IdentityAlias.
14364        '''
14365        self.meta = meta if meta is not None else None
14366        '''
14367         Reserved for future use.
14368        '''
14369        self.rate_limit = rate_limit if rate_limit is not None else None
14370        '''
14371         Rate limit information.
14372        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14381    def to_dict(self):
14382        return {
14383            'identity_alias': self.identity_alias,
14384            'meta': self.meta,
14385            'rate_limit': self.rate_limit,
14386        }
@classmethod
def from_dict(cls, d)
14388    @classmethod
14389    def from_dict(cls, d):
14390        return cls(
14391            identity_alias=d.get('identity_alias'),
14392            meta=d.get('meta'),
14393            rate_limit=d.get('rate_limit'),
14394        )
class IdentitySet:
14397class IdentitySet:
14398    '''
14399         A IdentitySet defines a group of identity aliases.
14400    '''
14401    __slots__ = [
14402        'id',
14403        'name',
14404    ]
14405
14406    def __init__(
14407        self,
14408        id=None,
14409        name=None,
14410    ):
14411        self.id = id if id is not None else ''
14412        '''
14413         Unique identifier of the IdentitySet.
14414        '''
14415        self.name = name if name is not None else ''
14416        '''
14417         Unique human-readable name of the IdentitySet.
14418        '''
14419
14420    def __repr__(self):
14421        return '<sdm.IdentitySet ' + \
14422            'id: ' + repr(self.id) + ' ' +\
14423            'name: ' + repr(self.name) + ' ' +\
14424            '>'
14425
14426    def to_dict(self):
14427        return {
14428            'id': self.id,
14429            'name': self.name,
14430        }
14431
14432    @classmethod
14433    def from_dict(cls, d):
14434        return cls(
14435            id=d.get('id'),
14436            name=d.get('name'),
14437        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
14406    def __init__(
14407        self,
14408        id=None,
14409        name=None,
14410    ):
14411        self.id = id if id is not None else ''
14412        '''
14413         Unique identifier of the IdentitySet.
14414        '''
14415        self.name = name if name is not None else ''
14416        '''
14417         Unique human-readable name of the IdentitySet.
14418        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
14426    def to_dict(self):
14427        return {
14428            'id': self.id,
14429            'name': self.name,
14430        }
@classmethod
def from_dict(cls, d)
14432    @classmethod
14433    def from_dict(cls, d):
14434        return cls(
14435            id=d.get('id'),
14436            name=d.get('name'),
14437        )
class IdentitySetCreateResponse:
14440class IdentitySetCreateResponse:
14441    '''
14442         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
14443     communicate partial successes or failures.
14444    '''
14445    __slots__ = [
14446        'identity_set',
14447        'meta',
14448        'rate_limit',
14449    ]
14450
14451    def __init__(
14452        self,
14453        identity_set=None,
14454        meta=None,
14455        rate_limit=None,
14456    ):
14457        self.identity_set = identity_set if identity_set is not None else None
14458        '''
14459         The created IdentitySet.
14460        '''
14461        self.meta = meta if meta is not None else None
14462        '''
14463         Reserved for future use.
14464        '''
14465        self.rate_limit = rate_limit if rate_limit is not None else None
14466        '''
14467         Rate limit information.
14468        '''
14469
14470    def __repr__(self):
14471        return '<sdm.IdentitySetCreateResponse ' + \
14472            'identity_set: ' + repr(self.identity_set) + ' ' +\
14473            'meta: ' + repr(self.meta) + ' ' +\
14474            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14475            '>'
14476
14477    def to_dict(self):
14478        return {
14479            'identity_set': self.identity_set,
14480            'meta': self.meta,
14481            'rate_limit': self.rate_limit,
14482        }
14483
14484    @classmethod
14485    def from_dict(cls, d):
14486        return cls(
14487            identity_set=d.get('identity_set'),
14488            meta=d.get('meta'),
14489            rate_limit=d.get('rate_limit'),
14490        )

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)
14451    def __init__(
14452        self,
14453        identity_set=None,
14454        meta=None,
14455        rate_limit=None,
14456    ):
14457        self.identity_set = identity_set if identity_set is not None else None
14458        '''
14459         The created IdentitySet.
14460        '''
14461        self.meta = meta if meta is not None else None
14462        '''
14463         Reserved for future use.
14464        '''
14465        self.rate_limit = rate_limit if rate_limit is not None else None
14466        '''
14467         Rate limit information.
14468        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14477    def to_dict(self):
14478        return {
14479            'identity_set': self.identity_set,
14480            'meta': self.meta,
14481            'rate_limit': self.rate_limit,
14482        }
@classmethod
def from_dict(cls, d)
14484    @classmethod
14485    def from_dict(cls, d):
14486        return cls(
14487            identity_set=d.get('identity_set'),
14488            meta=d.get('meta'),
14489            rate_limit=d.get('rate_limit'),
14490        )
class IdentitySetDeleteResponse:
14493class IdentitySetDeleteResponse:
14494    '''
14495         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
14496    '''
14497    __slots__ = [
14498        'meta',
14499        'rate_limit',
14500    ]
14501
14502    def __init__(
14503        self,
14504        meta=None,
14505        rate_limit=None,
14506    ):
14507        self.meta = meta if meta is not None else None
14508        '''
14509         Reserved for future use.
14510        '''
14511        self.rate_limit = rate_limit if rate_limit is not None else None
14512        '''
14513         Rate limit information.
14514        '''
14515
14516    def __repr__(self):
14517        return '<sdm.IdentitySetDeleteResponse ' + \
14518            'meta: ' + repr(self.meta) + ' ' +\
14519            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14520            '>'
14521
14522    def to_dict(self):
14523        return {
14524            'meta': self.meta,
14525            'rate_limit': self.rate_limit,
14526        }
14527
14528    @classmethod
14529    def from_dict(cls, d):
14530        return cls(
14531            meta=d.get('meta'),
14532            rate_limit=d.get('rate_limit'),
14533        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
14502    def __init__(
14503        self,
14504        meta=None,
14505        rate_limit=None,
14506    ):
14507        self.meta = meta if meta is not None else None
14508        '''
14509         Reserved for future use.
14510        '''
14511        self.rate_limit = rate_limit if rate_limit is not None else None
14512        '''
14513         Rate limit information.
14514        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14522    def to_dict(self):
14523        return {
14524            'meta': self.meta,
14525            'rate_limit': self.rate_limit,
14526        }
@classmethod
def from_dict(cls, d)
14528    @classmethod
14529    def from_dict(cls, d):
14530        return cls(
14531            meta=d.get('meta'),
14532            rate_limit=d.get('rate_limit'),
14533        )
class IdentitySetGetResponse:
14536class IdentitySetGetResponse:
14537    '''
14538         IdentitySetGetResponse returns a requested IdentitySet.
14539    '''
14540    __slots__ = [
14541        'identity_set',
14542        'meta',
14543        'rate_limit',
14544    ]
14545
14546    def __init__(
14547        self,
14548        identity_set=None,
14549        meta=None,
14550        rate_limit=None,
14551    ):
14552        self.identity_set = identity_set if identity_set is not None else None
14553        '''
14554         The requested IdentitySet.
14555        '''
14556        self.meta = meta if meta is not None else None
14557        '''
14558         Reserved for future use.
14559        '''
14560        self.rate_limit = rate_limit if rate_limit is not None else None
14561        '''
14562         Rate limit information.
14563        '''
14564
14565    def __repr__(self):
14566        return '<sdm.IdentitySetGetResponse ' + \
14567            'identity_set: ' + repr(self.identity_set) + ' ' +\
14568            'meta: ' + repr(self.meta) + ' ' +\
14569            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14570            '>'
14571
14572    def to_dict(self):
14573        return {
14574            'identity_set': self.identity_set,
14575            'meta': self.meta,
14576            'rate_limit': self.rate_limit,
14577        }
14578
14579    @classmethod
14580    def from_dict(cls, d):
14581        return cls(
14582            identity_set=d.get('identity_set'),
14583            meta=d.get('meta'),
14584            rate_limit=d.get('rate_limit'),
14585        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
14546    def __init__(
14547        self,
14548        identity_set=None,
14549        meta=None,
14550        rate_limit=None,
14551    ):
14552        self.identity_set = identity_set if identity_set is not None else None
14553        '''
14554         The requested IdentitySet.
14555        '''
14556        self.meta = meta if meta is not None else None
14557        '''
14558         Reserved for future use.
14559        '''
14560        self.rate_limit = rate_limit if rate_limit is not None else None
14561        '''
14562         Rate limit information.
14563        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14572    def to_dict(self):
14573        return {
14574            'identity_set': self.identity_set,
14575            'meta': self.meta,
14576            'rate_limit': self.rate_limit,
14577        }
@classmethod
def from_dict(cls, d)
14579    @classmethod
14580    def from_dict(cls, d):
14581        return cls(
14582            identity_set=d.get('identity_set'),
14583            meta=d.get('meta'),
14584            rate_limit=d.get('rate_limit'),
14585        )
class IdentitySetHistory:
14588class IdentitySetHistory:
14589    '''
14590         IdentitySetHistory records the state of a IdentitySet at a given point in time,
14591     where every change (create, update and delete) to a IdentitySet produces an
14592     IdentitySetHistory record.
14593    '''
14594    __slots__ = [
14595        'activity_id',
14596        'deleted_at',
14597        'identity_set',
14598        'timestamp',
14599    ]
14600
14601    def __init__(
14602        self,
14603        activity_id=None,
14604        deleted_at=None,
14605        identity_set=None,
14606        timestamp=None,
14607    ):
14608        self.activity_id = activity_id if activity_id is not None else ''
14609        '''
14610         The unique identifier of the Activity that produced this change to the IdentitySet.
14611         May be empty for some system-initiated updates.
14612        '''
14613        self.deleted_at = deleted_at if deleted_at is not None else None
14614        '''
14615         If this IdentitySet was deleted, the time it was deleted.
14616        '''
14617        self.identity_set = identity_set if identity_set is not None else None
14618        '''
14619         The complete IdentitySet state at this time.
14620        '''
14621        self.timestamp = timestamp if timestamp is not None else None
14622        '''
14623         The time at which the IdentitySet state was recorded.
14624        '''
14625
14626    def __repr__(self):
14627        return '<sdm.IdentitySetHistory ' + \
14628            'activity_id: ' + repr(self.activity_id) + ' ' +\
14629            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14630            'identity_set: ' + repr(self.identity_set) + ' ' +\
14631            'timestamp: ' + repr(self.timestamp) + ' ' +\
14632            '>'
14633
14634    def to_dict(self):
14635        return {
14636            'activity_id': self.activity_id,
14637            'deleted_at': self.deleted_at,
14638            'identity_set': self.identity_set,
14639            'timestamp': self.timestamp,
14640        }
14641
14642    @classmethod
14643    def from_dict(cls, d):
14644        return cls(
14645            activity_id=d.get('activity_id'),
14646            deleted_at=d.get('deleted_at'),
14647            identity_set=d.get('identity_set'),
14648            timestamp=d.get('timestamp'),
14649        )

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)
14601    def __init__(
14602        self,
14603        activity_id=None,
14604        deleted_at=None,
14605        identity_set=None,
14606        timestamp=None,
14607    ):
14608        self.activity_id = activity_id if activity_id is not None else ''
14609        '''
14610         The unique identifier of the Activity that produced this change to the IdentitySet.
14611         May be empty for some system-initiated updates.
14612        '''
14613        self.deleted_at = deleted_at if deleted_at is not None else None
14614        '''
14615         If this IdentitySet was deleted, the time it was deleted.
14616        '''
14617        self.identity_set = identity_set if identity_set is not None else None
14618        '''
14619         The complete IdentitySet state at this time.
14620        '''
14621        self.timestamp = timestamp if timestamp is not None else None
14622        '''
14623         The time at which the IdentitySet state was recorded.
14624        '''
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)
14634    def to_dict(self):
14635        return {
14636            'activity_id': self.activity_id,
14637            'deleted_at': self.deleted_at,
14638            'identity_set': self.identity_set,
14639            'timestamp': self.timestamp,
14640        }
@classmethod
def from_dict(cls, d)
14642    @classmethod
14643    def from_dict(cls, d):
14644        return cls(
14645            activity_id=d.get('activity_id'),
14646            deleted_at=d.get('deleted_at'),
14647            identity_set=d.get('identity_set'),
14648            timestamp=d.get('timestamp'),
14649        )
class IdentitySetUpdateResponse:
14652class IdentitySetUpdateResponse:
14653    '''
14654         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
14655     a IdentitySetUpdateRequest.
14656    '''
14657    __slots__ = [
14658        'identity_set',
14659        'meta',
14660        'rate_limit',
14661    ]
14662
14663    def __init__(
14664        self,
14665        identity_set=None,
14666        meta=None,
14667        rate_limit=None,
14668    ):
14669        self.identity_set = identity_set if identity_set is not None else None
14670        '''
14671         The updated IdentitySet.
14672        '''
14673        self.meta = meta if meta is not None else None
14674        '''
14675         Reserved for future use.
14676        '''
14677        self.rate_limit = rate_limit if rate_limit is not None else None
14678        '''
14679         Rate limit information.
14680        '''
14681
14682    def __repr__(self):
14683        return '<sdm.IdentitySetUpdateResponse ' + \
14684            'identity_set: ' + repr(self.identity_set) + ' ' +\
14685            'meta: ' + repr(self.meta) + ' ' +\
14686            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14687            '>'
14688
14689    def to_dict(self):
14690        return {
14691            'identity_set': self.identity_set,
14692            'meta': self.meta,
14693            'rate_limit': self.rate_limit,
14694        }
14695
14696    @classmethod
14697    def from_dict(cls, d):
14698        return cls(
14699            identity_set=d.get('identity_set'),
14700            meta=d.get('meta'),
14701            rate_limit=d.get('rate_limit'),
14702        )

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

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
14663    def __init__(
14664        self,
14665        identity_set=None,
14666        meta=None,
14667        rate_limit=None,
14668    ):
14669        self.identity_set = identity_set if identity_set is not None else None
14670        '''
14671         The updated IdentitySet.
14672        '''
14673        self.meta = meta if meta is not None else None
14674        '''
14675         Reserved for future use.
14676        '''
14677        self.rate_limit = rate_limit if rate_limit is not None else None
14678        '''
14679         Rate limit information.
14680        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14689    def to_dict(self):
14690        return {
14691            'identity_set': self.identity_set,
14692            'meta': self.meta,
14693            'rate_limit': self.rate_limit,
14694        }
@classmethod
def from_dict(cls, d)
14696    @classmethod
14697    def from_dict(cls, d):
14698        return cls(
14699            identity_set=d.get('identity_set'),
14700            meta=d.get('meta'),
14701            rate_limit=d.get('rate_limit'),
14702        )
class KeyValueEngine:
14705class KeyValueEngine:
14706    '''
14707    KeyValueEngine is currently unstable, and its API may change, or it may be removed,
14708    without a major version bump.
14709    '''
14710    __slots__ = [
14711        'id',
14712        'key_rotation_interval_days',
14713        'name',
14714        'public_key',
14715        'secret_store_id',
14716        'secret_store_root_path',
14717        'tags',
14718    ]
14719
14720    def __init__(
14721        self,
14722        id=None,
14723        key_rotation_interval_days=None,
14724        name=None,
14725        public_key=None,
14726        secret_store_id=None,
14727        secret_store_root_path=None,
14728        tags=None,
14729    ):
14730        self.id = id if id is not None else ''
14731        '''
14732         Unique identifier of the Secret Engine.
14733        '''
14734        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14735        '''
14736         An interval of public/private key rotation for secret engine in days
14737        '''
14738        self.name = name if name is not None else ''
14739        '''
14740         Unique human-readable name of the Secret Engine.
14741        '''
14742        self.public_key = public_key if public_key is not None else b''
14743        '''
14744         Public key linked with a secret engine
14745        '''
14746        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14747        '''
14748         Backing secret store identifier
14749        '''
14750        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14751        '''
14752         Backing Secret Store root path where managed secrets are going to be stored
14753        '''
14754        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14755        '''
14756         Tags is a map of key, value pairs.
14757        '''
14758
14759    def __repr__(self):
14760        return '<sdm.KeyValueEngine ' + \
14761            'id: ' + repr(self.id) + ' ' +\
14762            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
14763            'name: ' + repr(self.name) + ' ' +\
14764            'public_key: ' + repr(self.public_key) + ' ' +\
14765            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14766            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
14767            'tags: ' + repr(self.tags) + ' ' +\
14768            '>'
14769
14770    def to_dict(self):
14771        return {
14772            'id': self.id,
14773            'key_rotation_interval_days': self.key_rotation_interval_days,
14774            'name': self.name,
14775            'public_key': self.public_key,
14776            'secret_store_id': self.secret_store_id,
14777            'secret_store_root_path': self.secret_store_root_path,
14778            'tags': self.tags,
14779        }
14780
14781    @classmethod
14782    def from_dict(cls, d):
14783        return cls(
14784            id=d.get('id'),
14785            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14786            name=d.get('name'),
14787            public_key=d.get('public_key'),
14788            secret_store_id=d.get('secret_store_id'),
14789            secret_store_root_path=d.get('secret_store_root_path'),
14790            tags=d.get('tags'),
14791        )

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

KeyValueEngine( id=None, key_rotation_interval_days=None, name=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None)
14720    def __init__(
14721        self,
14722        id=None,
14723        key_rotation_interval_days=None,
14724        name=None,
14725        public_key=None,
14726        secret_store_id=None,
14727        secret_store_root_path=None,
14728        tags=None,
14729    ):
14730        self.id = id if id is not None else ''
14731        '''
14732         Unique identifier of the Secret Engine.
14733        '''
14734        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
14735        '''
14736         An interval of public/private key rotation for secret engine in days
14737        '''
14738        self.name = name if name is not None else ''
14739        '''
14740         Unique human-readable name of the Secret Engine.
14741        '''
14742        self.public_key = public_key if public_key is not None else b''
14743        '''
14744         Public key linked with a secret engine
14745        '''
14746        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14747        '''
14748         Backing secret store identifier
14749        '''
14750        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
14751        '''
14752         Backing Secret Store root path where managed secrets are going to be stored
14753        '''
14754        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14755        '''
14756         Tags is a map of key, value pairs.
14757        '''
id

Unique identifier of the Secret Engine.

key_rotation_interval_days

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

name

Unique human-readable name of the Secret Engine.

public_key

Public key linked with a secret engine

secret_store_id

Backing secret store identifier

secret_store_root_path

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
14770    def to_dict(self):
14771        return {
14772            'id': self.id,
14773            'key_rotation_interval_days': self.key_rotation_interval_days,
14774            'name': self.name,
14775            'public_key': self.public_key,
14776            'secret_store_id': self.secret_store_id,
14777            'secret_store_root_path': self.secret_store_root_path,
14778            'tags': self.tags,
14779        }
@classmethod
def from_dict(cls, d)
14781    @classmethod
14782    def from_dict(cls, d):
14783        return cls(
14784            id=d.get('id'),
14785            key_rotation_interval_days=d.get('key_rotation_interval_days'),
14786            name=d.get('name'),
14787            public_key=d.get('public_key'),
14788            secret_store_id=d.get('secret_store_id'),
14789            secret_store_root_path=d.get('secret_store_root_path'),
14790            tags=d.get('tags'),
14791        )
class KeyfactorSSHStore:
14794class KeyfactorSSHStore:
14795    __slots__ = [
14796        'ca_file_path',
14797        'certificate_file_path',
14798        'default_certificate_authority_name',
14799        'default_certificate_profile_name',
14800        'default_end_entity_profile_name',
14801        'enrollment_code_env_var',
14802        'enrollment_username_env_var',
14803        'id',
14804        'key_file_path',
14805        'name',
14806        'server_address',
14807        'tags',
14808    ]
14809
14810    def __init__(
14811        self,
14812        ca_file_path=None,
14813        certificate_file_path=None,
14814        default_certificate_authority_name=None,
14815        default_certificate_profile_name=None,
14816        default_end_entity_profile_name=None,
14817        enrollment_code_env_var=None,
14818        enrollment_username_env_var=None,
14819        id=None,
14820        key_file_path=None,
14821        name=None,
14822        server_address=None,
14823        tags=None,
14824    ):
14825        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14826        '''
14827         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14828         This is not required if the CA is trusted by the host operating system. This should be a PEM
14829         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14830        '''
14831        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14832        '''
14833         Path to client certificate in PEM format. This certificate must contain a client certificate that
14834         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14835         key associated with the certificate, but KeyFile can also be set to configure the private key.
14836        '''
14837        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14838        '''
14839         Name of EJBCA certificate authority that will enroll CSR.
14840        '''
14841        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14842        '''
14843         Certificate profile name that EJBCA will enroll the CSR with.
14844        '''
14845        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14846        '''
14847         End entity profile that EJBCA will enroll the CSR with.
14848        '''
14849        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14850        '''
14851         code used by EJBCA during enrollment. May be left blank if no code is required.
14852        '''
14853        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14854        '''
14855         username that used by the EJBCA during enrollment. This can be left out. 
14856         If so, the username must be auto-generated on the Keyfactor side.
14857        '''
14858        self.id = id if id is not None else ''
14859        '''
14860         Unique identifier of the SecretStore.
14861        '''
14862        self.key_file_path = key_file_path if key_file_path is not None else ''
14863        '''
14864         Path to private key in PEM format. This file should contain the private key associated with the
14865         client certificate configured in CertificateFile.
14866        '''
14867        self.name = name if name is not None else ''
14868        '''
14869         Unique human-readable name of the SecretStore.
14870        '''
14871        self.server_address = server_address if server_address is not None else ''
14872        '''
14873         the host of the Key Factor CA
14874        '''
14875        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14876        '''
14877         Tags is a map of key, value pairs.
14878        '''
14879
14880    def __repr__(self):
14881        return '<sdm.KeyfactorSSHStore ' + \
14882            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
14883            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
14884            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
14885            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
14886            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
14887            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
14888            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
14889            'id: ' + repr(self.id) + ' ' +\
14890            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
14891            'name: ' + repr(self.name) + ' ' +\
14892            'server_address: ' + repr(self.server_address) + ' ' +\
14893            'tags: ' + repr(self.tags) + ' ' +\
14894            '>'
14895
14896    def to_dict(self):
14897        return {
14898            'ca_file_path': self.ca_file_path,
14899            'certificate_file_path': self.certificate_file_path,
14900            'default_certificate_authority_name':
14901            self.default_certificate_authority_name,
14902            'default_certificate_profile_name':
14903            self.default_certificate_profile_name,
14904            'default_end_entity_profile_name':
14905            self.default_end_entity_profile_name,
14906            'enrollment_code_env_var': self.enrollment_code_env_var,
14907            'enrollment_username_env_var': self.enrollment_username_env_var,
14908            'id': self.id,
14909            'key_file_path': self.key_file_path,
14910            'name': self.name,
14911            'server_address': self.server_address,
14912            'tags': self.tags,
14913        }
14914
14915    @classmethod
14916    def from_dict(cls, d):
14917        return cls(
14918            ca_file_path=d.get('ca_file_path'),
14919            certificate_file_path=d.get('certificate_file_path'),
14920            default_certificate_authority_name=d.get(
14921                'default_certificate_authority_name'),
14922            default_certificate_profile_name=d.get(
14923                'default_certificate_profile_name'),
14924            default_end_entity_profile_name=d.get(
14925                'default_end_entity_profile_name'),
14926            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14927            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14928            id=d.get('id'),
14929            key_file_path=d.get('key_file_path'),
14930            name=d.get('name'),
14931            server_address=d.get('server_address'),
14932            tags=d.get('tags'),
14933        )
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)
14810    def __init__(
14811        self,
14812        ca_file_path=None,
14813        certificate_file_path=None,
14814        default_certificate_authority_name=None,
14815        default_certificate_profile_name=None,
14816        default_end_entity_profile_name=None,
14817        enrollment_code_env_var=None,
14818        enrollment_username_env_var=None,
14819        id=None,
14820        key_file_path=None,
14821        name=None,
14822        server_address=None,
14823        tags=None,
14824    ):
14825        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14826        '''
14827         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14828         This is not required if the CA is trusted by the host operating system. This should be a PEM
14829         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14830        '''
14831        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14832        '''
14833         Path to client certificate in PEM format. This certificate must contain a client certificate that
14834         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14835         key associated with the certificate, but KeyFile can also be set to configure the private key.
14836        '''
14837        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14838        '''
14839         Name of EJBCA certificate authority that will enroll CSR.
14840        '''
14841        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14842        '''
14843         Certificate profile name that EJBCA will enroll the CSR with.
14844        '''
14845        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14846        '''
14847         End entity profile that EJBCA will enroll the CSR with.
14848        '''
14849        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14850        '''
14851         code used by EJBCA during enrollment. May be left blank if no code is required.
14852        '''
14853        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14854        '''
14855         username that used by the EJBCA during enrollment. This can be left out. 
14856         If so, the username must be auto-generated on the Keyfactor side.
14857        '''
14858        self.id = id if id is not None else ''
14859        '''
14860         Unique identifier of the SecretStore.
14861        '''
14862        self.key_file_path = key_file_path if key_file_path is not None else ''
14863        '''
14864         Path to private key in PEM format. This file should contain the private key associated with the
14865         client certificate configured in CertificateFile.
14866        '''
14867        self.name = name if name is not None else ''
14868        '''
14869         Unique human-readable name of the SecretStore.
14870        '''
14871        self.server_address = server_address if server_address is not None else ''
14872        '''
14873         the host of the Key Factor CA
14874        '''
14875        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14876        '''
14877         Tags is a map of key, value pairs.
14878        '''
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)
14896    def to_dict(self):
14897        return {
14898            'ca_file_path': self.ca_file_path,
14899            'certificate_file_path': self.certificate_file_path,
14900            'default_certificate_authority_name':
14901            self.default_certificate_authority_name,
14902            'default_certificate_profile_name':
14903            self.default_certificate_profile_name,
14904            'default_end_entity_profile_name':
14905            self.default_end_entity_profile_name,
14906            'enrollment_code_env_var': self.enrollment_code_env_var,
14907            'enrollment_username_env_var': self.enrollment_username_env_var,
14908            'id': self.id,
14909            'key_file_path': self.key_file_path,
14910            'name': self.name,
14911            'server_address': self.server_address,
14912            'tags': self.tags,
14913        }
@classmethod
def from_dict(cls, d)
14915    @classmethod
14916    def from_dict(cls, d):
14917        return cls(
14918            ca_file_path=d.get('ca_file_path'),
14919            certificate_file_path=d.get('certificate_file_path'),
14920            default_certificate_authority_name=d.get(
14921                'default_certificate_authority_name'),
14922            default_certificate_profile_name=d.get(
14923                'default_certificate_profile_name'),
14924            default_end_entity_profile_name=d.get(
14925                'default_end_entity_profile_name'),
14926            enrollment_code_env_var=d.get('enrollment_code_env_var'),
14927            enrollment_username_env_var=d.get('enrollment_username_env_var'),
14928            id=d.get('id'),
14929            key_file_path=d.get('key_file_path'),
14930            name=d.get('name'),
14931            server_address=d.get('server_address'),
14932            tags=d.get('tags'),
14933        )
class KeyfactorX509Store:
14936class KeyfactorX509Store:
14937    __slots__ = [
14938        'ca_file_path',
14939        'certificate_file_path',
14940        'default_certificate_authority_name',
14941        'default_certificate_profile_name',
14942        'default_end_entity_profile_name',
14943        'enrollment_code_env_var',
14944        'enrollment_username_env_var',
14945        'id',
14946        'key_file_path',
14947        'name',
14948        'server_address',
14949        'tags',
14950    ]
14951
14952    def __init__(
14953        self,
14954        ca_file_path=None,
14955        certificate_file_path=None,
14956        default_certificate_authority_name=None,
14957        default_certificate_profile_name=None,
14958        default_end_entity_profile_name=None,
14959        enrollment_code_env_var=None,
14960        enrollment_username_env_var=None,
14961        id=None,
14962        key_file_path=None,
14963        name=None,
14964        server_address=None,
14965        tags=None,
14966    ):
14967        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14968        '''
14969         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14970         This is not required if the CA is trusted by the host operating system. This should be a PEM
14971         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14972        '''
14973        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14974        '''
14975         Path to client certificate in PEM format. This certificate must contain a client certificate that
14976         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14977         key associated with the certificate, but KeyFile can also be set to configure the private key.
14978        '''
14979        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14980        '''
14981         Name of EJBCA certificate authority that will enroll CSR.
14982        '''
14983        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14984        '''
14985         Certificate profile name that EJBCA will enroll the CSR with.
14986        '''
14987        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14988        '''
14989         End entity profile that EJBCA will enroll the CSR with.
14990        '''
14991        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14992        '''
14993         code used by EJBCA during enrollment. May be left blank if no code is required.
14994        '''
14995        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14996        '''
14997         username that used by the EJBCA during enrollment. This can be left out. 
14998         If so, the username must be auto-generated on the Keyfactor side.
14999        '''
15000        self.id = id if id is not None else ''
15001        '''
15002         Unique identifier of the SecretStore.
15003        '''
15004        self.key_file_path = key_file_path if key_file_path is not None else ''
15005        '''
15006         Path to private key in PEM format. This file should contain the private key associated with the
15007         client certificate configured in CertificateFile.
15008        '''
15009        self.name = name if name is not None else ''
15010        '''
15011         Unique human-readable name of the SecretStore.
15012        '''
15013        self.server_address = server_address if server_address is not None else ''
15014        '''
15015         the host of the Key Factor CA
15016        '''
15017        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15018        '''
15019         Tags is a map of key, value pairs.
15020        '''
15021
15022    def __repr__(self):
15023        return '<sdm.KeyfactorX509Store ' + \
15024            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
15025            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
15026            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
15027            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
15028            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
15029            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
15030            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
15031            'id: ' + repr(self.id) + ' ' +\
15032            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
15033            'name: ' + repr(self.name) + ' ' +\
15034            'server_address: ' + repr(self.server_address) + ' ' +\
15035            'tags: ' + repr(self.tags) + ' ' +\
15036            '>'
15037
15038    def to_dict(self):
15039        return {
15040            'ca_file_path': self.ca_file_path,
15041            'certificate_file_path': self.certificate_file_path,
15042            'default_certificate_authority_name':
15043            self.default_certificate_authority_name,
15044            'default_certificate_profile_name':
15045            self.default_certificate_profile_name,
15046            'default_end_entity_profile_name':
15047            self.default_end_entity_profile_name,
15048            'enrollment_code_env_var': self.enrollment_code_env_var,
15049            'enrollment_username_env_var': self.enrollment_username_env_var,
15050            'id': self.id,
15051            'key_file_path': self.key_file_path,
15052            'name': self.name,
15053            'server_address': self.server_address,
15054            'tags': self.tags,
15055        }
15056
15057    @classmethod
15058    def from_dict(cls, d):
15059        return cls(
15060            ca_file_path=d.get('ca_file_path'),
15061            certificate_file_path=d.get('certificate_file_path'),
15062            default_certificate_authority_name=d.get(
15063                'default_certificate_authority_name'),
15064            default_certificate_profile_name=d.get(
15065                'default_certificate_profile_name'),
15066            default_end_entity_profile_name=d.get(
15067                'default_end_entity_profile_name'),
15068            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15069            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15070            id=d.get('id'),
15071            key_file_path=d.get('key_file_path'),
15072            name=d.get('name'),
15073            server_address=d.get('server_address'),
15074            tags=d.get('tags'),
15075        )
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)
14952    def __init__(
14953        self,
14954        ca_file_path=None,
14955        certificate_file_path=None,
14956        default_certificate_authority_name=None,
14957        default_certificate_profile_name=None,
14958        default_end_entity_profile_name=None,
14959        enrollment_code_env_var=None,
14960        enrollment_username_env_var=None,
14961        id=None,
14962        key_file_path=None,
14963        name=None,
14964        server_address=None,
14965        tags=None,
14966    ):
14967        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
14968        '''
14969         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
14970         This is not required if the CA is trusted by the host operating system. This should be a PEM
14971         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
14972        '''
14973        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
14974        '''
14975         Path to client certificate in PEM format. This certificate must contain a client certificate that
14976         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
14977         key associated with the certificate, but KeyFile can also be set to configure the private key.
14978        '''
14979        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
14980        '''
14981         Name of EJBCA certificate authority that will enroll CSR.
14982        '''
14983        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
14984        '''
14985         Certificate profile name that EJBCA will enroll the CSR with.
14986        '''
14987        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
14988        '''
14989         End entity profile that EJBCA will enroll the CSR with.
14990        '''
14991        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
14992        '''
14993         code used by EJBCA during enrollment. May be left blank if no code is required.
14994        '''
14995        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
14996        '''
14997         username that used by the EJBCA during enrollment. This can be left out. 
14998         If so, the username must be auto-generated on the Keyfactor side.
14999        '''
15000        self.id = id if id is not None else ''
15001        '''
15002         Unique identifier of the SecretStore.
15003        '''
15004        self.key_file_path = key_file_path if key_file_path is not None else ''
15005        '''
15006         Path to private key in PEM format. This file should contain the private key associated with the
15007         client certificate configured in CertificateFile.
15008        '''
15009        self.name = name if name is not None else ''
15010        '''
15011         Unique human-readable name of the SecretStore.
15012        '''
15013        self.server_address = server_address if server_address is not None else ''
15014        '''
15015         the host of the Key Factor CA
15016        '''
15017        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15018        '''
15019         Tags is a map of key, value pairs.
15020        '''
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)
15038    def to_dict(self):
15039        return {
15040            'ca_file_path': self.ca_file_path,
15041            'certificate_file_path': self.certificate_file_path,
15042            'default_certificate_authority_name':
15043            self.default_certificate_authority_name,
15044            'default_certificate_profile_name':
15045            self.default_certificate_profile_name,
15046            'default_end_entity_profile_name':
15047            self.default_end_entity_profile_name,
15048            'enrollment_code_env_var': self.enrollment_code_env_var,
15049            'enrollment_username_env_var': self.enrollment_username_env_var,
15050            'id': self.id,
15051            'key_file_path': self.key_file_path,
15052            'name': self.name,
15053            'server_address': self.server_address,
15054            'tags': self.tags,
15055        }
@classmethod
def from_dict(cls, d)
15057    @classmethod
15058    def from_dict(cls, d):
15059        return cls(
15060            ca_file_path=d.get('ca_file_path'),
15061            certificate_file_path=d.get('certificate_file_path'),
15062            default_certificate_authority_name=d.get(
15063                'default_certificate_authority_name'),
15064            default_certificate_profile_name=d.get(
15065                'default_certificate_profile_name'),
15066            default_end_entity_profile_name=d.get(
15067                'default_end_entity_profile_name'),
15068            enrollment_code_env_var=d.get('enrollment_code_env_var'),
15069            enrollment_username_env_var=d.get('enrollment_username_env_var'),
15070            id=d.get('id'),
15071            key_file_path=d.get('key_file_path'),
15072            name=d.get('name'),
15073            server_address=d.get('server_address'),
15074            tags=d.get('tags'),
15075        )
class Kubernetes:
15078class Kubernetes:
15079    __slots__ = [
15080        'allow_resource_role_bypass',
15081        'bind_interface',
15082        'certificate_authority',
15083        'client_certificate',
15084        'client_key',
15085        'discovery_enabled',
15086        'discovery_username',
15087        'egress_filter',
15088        'healthcheck_namespace',
15089        'healthy',
15090        'hostname',
15091        'id',
15092        'identity_alias_healthcheck_username',
15093        'identity_set_id',
15094        'name',
15095        'port',
15096        'port_override',
15097        'proxy_cluster_id',
15098        'secret_store_id',
15099        'subdomain',
15100        'tags',
15101    ]
15102
15103    def __init__(
15104        self,
15105        allow_resource_role_bypass=None,
15106        bind_interface=None,
15107        certificate_authority=None,
15108        client_certificate=None,
15109        client_key=None,
15110        discovery_enabled=None,
15111        discovery_username=None,
15112        egress_filter=None,
15113        healthcheck_namespace=None,
15114        healthy=None,
15115        hostname=None,
15116        id=None,
15117        identity_alias_healthcheck_username=None,
15118        identity_set_id=None,
15119        name=None,
15120        port=None,
15121        port_override=None,
15122        proxy_cluster_id=None,
15123        secret_store_id=None,
15124        subdomain=None,
15125        tags=None,
15126    ):
15127        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15128        '''
15129         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15130         when a resource role is not provided.
15131        '''
15132        self.bind_interface = bind_interface if bind_interface is not None else ''
15133        '''
15134         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15135        '''
15136        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15137        '''
15138         The CA to authenticate TLS connections with.
15139        '''
15140        self.client_certificate = client_certificate if client_certificate is not None else ''
15141        '''
15142         The certificate to authenticate TLS connections with.
15143        '''
15144        self.client_key = client_key if client_key is not None else ''
15145        '''
15146         The key to authenticate TLS connections with.
15147        '''
15148        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15149        '''
15150         If true, configures discovery of a cluster to be run from a node.
15151        '''
15152        self.discovery_username = discovery_username if discovery_username is not None else ''
15153        '''
15154         If a cluster is configured for user impersonation, this is the user to impersonate when
15155         running discovery.
15156        '''
15157        self.egress_filter = egress_filter if egress_filter is not None else ''
15158        '''
15159         A filter applied to the routing logic to pin datasource to nodes.
15160        '''
15161        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15162        '''
15163         The path used to check the health of your connection.  Defaults to `default`.
15164        '''
15165        self.healthy = healthy if healthy is not None else False
15166        '''
15167         True if the datasource is reachable and the credentials are valid.
15168        '''
15169        self.hostname = hostname if hostname is not None else ''
15170        '''
15171         The host to dial to initiate a connection from the egress node to this resource.
15172        '''
15173        self.id = id if id is not None else ''
15174        '''
15175         Unique identifier of the Resource.
15176        '''
15177        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15178        '''
15179         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15180        '''
15181        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15182        '''
15183         The ID of the identity set to use for identity connections.
15184        '''
15185        self.name = name if name is not None else ''
15186        '''
15187         Unique human-readable name of the Resource.
15188        '''
15189        self.port = port if port is not None else 0
15190        '''
15191         The port to dial to initiate a connection from the egress node to this resource.
15192        '''
15193        self.port_override = port_override if port_override is not None else 0
15194        '''
15195         The local port used by clients to connect to this resource.
15196        '''
15197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15198        '''
15199         ID of the proxy cluster for this resource, if any.
15200        '''
15201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15202        '''
15203         ID of the secret store containing credentials for this resource, if any.
15204        '''
15205        self.subdomain = subdomain if subdomain is not None else ''
15206        '''
15207         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15208        '''
15209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15210        '''
15211         Tags is a map of key, value pairs.
15212        '''
15213
15214    def __repr__(self):
15215        return '<sdm.Kubernetes ' + \
15216            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15217            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15218            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
15219            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
15220            'client_key: ' + repr(self.client_key) + ' ' +\
15221            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15222            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15223            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15224            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15225            'healthy: ' + repr(self.healthy) + ' ' +\
15226            'hostname: ' + repr(self.hostname) + ' ' +\
15227            'id: ' + repr(self.id) + ' ' +\
15228            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15229            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15230            'name: ' + repr(self.name) + ' ' +\
15231            'port: ' + repr(self.port) + ' ' +\
15232            'port_override: ' + repr(self.port_override) + ' ' +\
15233            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15234            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15235            'subdomain: ' + repr(self.subdomain) + ' ' +\
15236            'tags: ' + repr(self.tags) + ' ' +\
15237            '>'
15238
15239    def to_dict(self):
15240        return {
15241            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15242            'bind_interface': self.bind_interface,
15243            'certificate_authority': self.certificate_authority,
15244            'client_certificate': self.client_certificate,
15245            'client_key': self.client_key,
15246            'discovery_enabled': self.discovery_enabled,
15247            'discovery_username': self.discovery_username,
15248            'egress_filter': self.egress_filter,
15249            'healthcheck_namespace': self.healthcheck_namespace,
15250            'healthy': self.healthy,
15251            'hostname': self.hostname,
15252            'id': self.id,
15253            'identity_alias_healthcheck_username':
15254            self.identity_alias_healthcheck_username,
15255            'identity_set_id': self.identity_set_id,
15256            'name': self.name,
15257            'port': self.port,
15258            'port_override': self.port_override,
15259            'proxy_cluster_id': self.proxy_cluster_id,
15260            'secret_store_id': self.secret_store_id,
15261            'subdomain': self.subdomain,
15262            'tags': self.tags,
15263        }
15264
15265    @classmethod
15266    def from_dict(cls, d):
15267        return cls(
15268            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15269            bind_interface=d.get('bind_interface'),
15270            certificate_authority=d.get('certificate_authority'),
15271            client_certificate=d.get('client_certificate'),
15272            client_key=d.get('client_key'),
15273            discovery_enabled=d.get('discovery_enabled'),
15274            discovery_username=d.get('discovery_username'),
15275            egress_filter=d.get('egress_filter'),
15276            healthcheck_namespace=d.get('healthcheck_namespace'),
15277            healthy=d.get('healthy'),
15278            hostname=d.get('hostname'),
15279            id=d.get('id'),
15280            identity_alias_healthcheck_username=d.get(
15281                'identity_alias_healthcheck_username'),
15282            identity_set_id=d.get('identity_set_id'),
15283            name=d.get('name'),
15284            port=d.get('port'),
15285            port_override=d.get('port_override'),
15286            proxy_cluster_id=d.get('proxy_cluster_id'),
15287            secret_store_id=d.get('secret_store_id'),
15288            subdomain=d.get('subdomain'),
15289            tags=d.get('tags'),
15290        )
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)
15103    def __init__(
15104        self,
15105        allow_resource_role_bypass=None,
15106        bind_interface=None,
15107        certificate_authority=None,
15108        client_certificate=None,
15109        client_key=None,
15110        discovery_enabled=None,
15111        discovery_username=None,
15112        egress_filter=None,
15113        healthcheck_namespace=None,
15114        healthy=None,
15115        hostname=None,
15116        id=None,
15117        identity_alias_healthcheck_username=None,
15118        identity_set_id=None,
15119        name=None,
15120        port=None,
15121        port_override=None,
15122        proxy_cluster_id=None,
15123        secret_store_id=None,
15124        subdomain=None,
15125        tags=None,
15126    ):
15127        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15128        '''
15129         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15130         when a resource role is not provided.
15131        '''
15132        self.bind_interface = bind_interface if bind_interface is not None else ''
15133        '''
15134         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15135        '''
15136        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
15137        '''
15138         The CA to authenticate TLS connections with.
15139        '''
15140        self.client_certificate = client_certificate if client_certificate is not None else ''
15141        '''
15142         The certificate to authenticate TLS connections with.
15143        '''
15144        self.client_key = client_key if client_key is not None else ''
15145        '''
15146         The key to authenticate TLS connections with.
15147        '''
15148        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15149        '''
15150         If true, configures discovery of a cluster to be run from a node.
15151        '''
15152        self.discovery_username = discovery_username if discovery_username is not None else ''
15153        '''
15154         If a cluster is configured for user impersonation, this is the user to impersonate when
15155         running discovery.
15156        '''
15157        self.egress_filter = egress_filter if egress_filter is not None else ''
15158        '''
15159         A filter applied to the routing logic to pin datasource to nodes.
15160        '''
15161        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15162        '''
15163         The path used to check the health of your connection.  Defaults to `default`.
15164        '''
15165        self.healthy = healthy if healthy is not None else False
15166        '''
15167         True if the datasource is reachable and the credentials are valid.
15168        '''
15169        self.hostname = hostname if hostname is not None else ''
15170        '''
15171         The host to dial to initiate a connection from the egress node to this resource.
15172        '''
15173        self.id = id if id is not None else ''
15174        '''
15175         Unique identifier of the Resource.
15176        '''
15177        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15178        '''
15179         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15180        '''
15181        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15182        '''
15183         The ID of the identity set to use for identity connections.
15184        '''
15185        self.name = name if name is not None else ''
15186        '''
15187         Unique human-readable name of the Resource.
15188        '''
15189        self.port = port if port is not None else 0
15190        '''
15191         The port to dial to initiate a connection from the egress node to this resource.
15192        '''
15193        self.port_override = port_override if port_override is not None else 0
15194        '''
15195         The local port used by clients to connect to this resource.
15196        '''
15197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15198        '''
15199         ID of the proxy cluster for this resource, if any.
15200        '''
15201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15202        '''
15203         ID of the secret store containing credentials for this resource, if any.
15204        '''
15205        self.subdomain = subdomain if subdomain is not None else ''
15206        '''
15207         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15208        '''
15209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15210        '''
15211         Tags is a map of key, value pairs.
15212        '''
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)
15239    def to_dict(self):
15240        return {
15241            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15242            'bind_interface': self.bind_interface,
15243            'certificate_authority': self.certificate_authority,
15244            'client_certificate': self.client_certificate,
15245            'client_key': self.client_key,
15246            'discovery_enabled': self.discovery_enabled,
15247            'discovery_username': self.discovery_username,
15248            'egress_filter': self.egress_filter,
15249            'healthcheck_namespace': self.healthcheck_namespace,
15250            'healthy': self.healthy,
15251            'hostname': self.hostname,
15252            'id': self.id,
15253            'identity_alias_healthcheck_username':
15254            self.identity_alias_healthcheck_username,
15255            'identity_set_id': self.identity_set_id,
15256            'name': self.name,
15257            'port': self.port,
15258            'port_override': self.port_override,
15259            'proxy_cluster_id': self.proxy_cluster_id,
15260            'secret_store_id': self.secret_store_id,
15261            'subdomain': self.subdomain,
15262            'tags': self.tags,
15263        }
@classmethod
def from_dict(cls, d)
15265    @classmethod
15266    def from_dict(cls, d):
15267        return cls(
15268            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15269            bind_interface=d.get('bind_interface'),
15270            certificate_authority=d.get('certificate_authority'),
15271            client_certificate=d.get('client_certificate'),
15272            client_key=d.get('client_key'),
15273            discovery_enabled=d.get('discovery_enabled'),
15274            discovery_username=d.get('discovery_username'),
15275            egress_filter=d.get('egress_filter'),
15276            healthcheck_namespace=d.get('healthcheck_namespace'),
15277            healthy=d.get('healthy'),
15278            hostname=d.get('hostname'),
15279            id=d.get('id'),
15280            identity_alias_healthcheck_username=d.get(
15281                'identity_alias_healthcheck_username'),
15282            identity_set_id=d.get('identity_set_id'),
15283            name=d.get('name'),
15284            port=d.get('port'),
15285            port_override=d.get('port_override'),
15286            proxy_cluster_id=d.get('proxy_cluster_id'),
15287            secret_store_id=d.get('secret_store_id'),
15288            subdomain=d.get('subdomain'),
15289            tags=d.get('tags'),
15290        )
class KubernetesBasicAuth:
15293class KubernetesBasicAuth:
15294    '''
15295    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
15296    without a major version bump.
15297    '''
15298    __slots__ = [
15299        'bind_interface',
15300        'egress_filter',
15301        'healthcheck_namespace',
15302        'healthy',
15303        'hostname',
15304        'id',
15305        'name',
15306        'password',
15307        'port',
15308        'port_override',
15309        'proxy_cluster_id',
15310        'secret_store_id',
15311        'subdomain',
15312        'tags',
15313        'username',
15314    ]
15315
15316    def __init__(
15317        self,
15318        bind_interface=None,
15319        egress_filter=None,
15320        healthcheck_namespace=None,
15321        healthy=None,
15322        hostname=None,
15323        id=None,
15324        name=None,
15325        password=None,
15326        port=None,
15327        port_override=None,
15328        proxy_cluster_id=None,
15329        secret_store_id=None,
15330        subdomain=None,
15331        tags=None,
15332        username=None,
15333    ):
15334        self.bind_interface = bind_interface if bind_interface is not None else ''
15335        '''
15336         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15337        '''
15338        self.egress_filter = egress_filter if egress_filter is not None else ''
15339        '''
15340         A filter applied to the routing logic to pin datasource to nodes.
15341        '''
15342        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15343        '''
15344         The path used to check the health of your connection.  Defaults to `default`.
15345        '''
15346        self.healthy = healthy if healthy is not None else False
15347        '''
15348         True if the datasource is reachable and the credentials are valid.
15349        '''
15350        self.hostname = hostname if hostname is not None else ''
15351        '''
15352         The host to dial to initiate a connection from the egress node to this resource.
15353        '''
15354        self.id = id if id is not None else ''
15355        '''
15356         Unique identifier of the Resource.
15357        '''
15358        self.name = name if name is not None else ''
15359        '''
15360         Unique human-readable name of the Resource.
15361        '''
15362        self.password = password if password is not None else ''
15363        '''
15364         The password to authenticate with.
15365        '''
15366        self.port = port if port is not None else 0
15367        '''
15368         The port to dial to initiate a connection from the egress node to this resource.
15369        '''
15370        self.port_override = port_override if port_override is not None else 0
15371        '''
15372         The local port used by clients to connect to this resource.
15373        '''
15374        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15375        '''
15376         ID of the proxy cluster for this resource, if any.
15377        '''
15378        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15379        '''
15380         ID of the secret store containing credentials for this resource, if any.
15381        '''
15382        self.subdomain = subdomain if subdomain is not None else ''
15383        '''
15384         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15385        '''
15386        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15387        '''
15388         Tags is a map of key, value pairs.
15389        '''
15390        self.username = username if username is not None else ''
15391        '''
15392         The username to authenticate with.
15393        '''
15394
15395    def __repr__(self):
15396        return '<sdm.KubernetesBasicAuth ' + \
15397            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15398            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15399            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15400            'healthy: ' + repr(self.healthy) + ' ' +\
15401            'hostname: ' + repr(self.hostname) + ' ' +\
15402            'id: ' + repr(self.id) + ' ' +\
15403            'name: ' + repr(self.name) + ' ' +\
15404            'password: ' + repr(self.password) + ' ' +\
15405            'port: ' + repr(self.port) + ' ' +\
15406            'port_override: ' + repr(self.port_override) + ' ' +\
15407            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15408            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15409            'subdomain: ' + repr(self.subdomain) + ' ' +\
15410            'tags: ' + repr(self.tags) + ' ' +\
15411            'username: ' + repr(self.username) + ' ' +\
15412            '>'
15413
15414    def to_dict(self):
15415        return {
15416            'bind_interface': self.bind_interface,
15417            'egress_filter': self.egress_filter,
15418            'healthcheck_namespace': self.healthcheck_namespace,
15419            'healthy': self.healthy,
15420            'hostname': self.hostname,
15421            'id': self.id,
15422            'name': self.name,
15423            'password': self.password,
15424            'port': self.port,
15425            'port_override': self.port_override,
15426            'proxy_cluster_id': self.proxy_cluster_id,
15427            'secret_store_id': self.secret_store_id,
15428            'subdomain': self.subdomain,
15429            'tags': self.tags,
15430            'username': self.username,
15431        }
15432
15433    @classmethod
15434    def from_dict(cls, d):
15435        return cls(
15436            bind_interface=d.get('bind_interface'),
15437            egress_filter=d.get('egress_filter'),
15438            healthcheck_namespace=d.get('healthcheck_namespace'),
15439            healthy=d.get('healthy'),
15440            hostname=d.get('hostname'),
15441            id=d.get('id'),
15442            name=d.get('name'),
15443            password=d.get('password'),
15444            port=d.get('port'),
15445            port_override=d.get('port_override'),
15446            proxy_cluster_id=d.get('proxy_cluster_id'),
15447            secret_store_id=d.get('secret_store_id'),
15448            subdomain=d.get('subdomain'),
15449            tags=d.get('tags'),
15450            username=d.get('username'),
15451        )

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)
15316    def __init__(
15317        self,
15318        bind_interface=None,
15319        egress_filter=None,
15320        healthcheck_namespace=None,
15321        healthy=None,
15322        hostname=None,
15323        id=None,
15324        name=None,
15325        password=None,
15326        port=None,
15327        port_override=None,
15328        proxy_cluster_id=None,
15329        secret_store_id=None,
15330        subdomain=None,
15331        tags=None,
15332        username=None,
15333    ):
15334        self.bind_interface = bind_interface if bind_interface is not None else ''
15335        '''
15336         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15337        '''
15338        self.egress_filter = egress_filter if egress_filter is not None else ''
15339        '''
15340         A filter applied to the routing logic to pin datasource to nodes.
15341        '''
15342        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15343        '''
15344         The path used to check the health of your connection.  Defaults to `default`.
15345        '''
15346        self.healthy = healthy if healthy is not None else False
15347        '''
15348         True if the datasource is reachable and the credentials are valid.
15349        '''
15350        self.hostname = hostname if hostname is not None else ''
15351        '''
15352         The host to dial to initiate a connection from the egress node to this resource.
15353        '''
15354        self.id = id if id is not None else ''
15355        '''
15356         Unique identifier of the Resource.
15357        '''
15358        self.name = name if name is not None else ''
15359        '''
15360         Unique human-readable name of the Resource.
15361        '''
15362        self.password = password if password is not None else ''
15363        '''
15364         The password to authenticate with.
15365        '''
15366        self.port = port if port is not None else 0
15367        '''
15368         The port to dial to initiate a connection from the egress node to this resource.
15369        '''
15370        self.port_override = port_override if port_override is not None else 0
15371        '''
15372         The local port used by clients to connect to this resource.
15373        '''
15374        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15375        '''
15376         ID of the proxy cluster for this resource, if any.
15377        '''
15378        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15379        '''
15380         ID of the secret store containing credentials for this resource, if any.
15381        '''
15382        self.subdomain = subdomain if subdomain is not None else ''
15383        '''
15384         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15385        '''
15386        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15387        '''
15388         Tags is a map of key, value pairs.
15389        '''
15390        self.username = username if username is not None else ''
15391        '''
15392         The username to authenticate with.
15393        '''
bind_interface

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

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

bind_interface

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

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

def to_dict(self)
15587    def to_dict(self):
15588        return {
15589            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15590            'bind_interface': self.bind_interface,
15591            'certificate_authority': self.certificate_authority,
15592            'discovery_enabled': self.discovery_enabled,
15593            'discovery_username': self.discovery_username,
15594            'egress_filter': self.egress_filter,
15595            'healthcheck_namespace': self.healthcheck_namespace,
15596            'healthy': self.healthy,
15597            'id': self.id,
15598            'identity_alias_healthcheck_username':
15599            self.identity_alias_healthcheck_username,
15600            'identity_set_id': self.identity_set_id,
15601            'name': self.name,
15602            'port_override': self.port_override,
15603            'proxy_cluster_id': self.proxy_cluster_id,
15604            'secret_store_id': self.secret_store_id,
15605            'subdomain': self.subdomain,
15606            'tags': self.tags,
15607        }
@classmethod
def from_dict(cls, d)
15609    @classmethod
15610    def from_dict(cls, d):
15611        return cls(
15612            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15613            bind_interface=d.get('bind_interface'),
15614            certificate_authority=d.get('certificate_authority'),
15615            discovery_enabled=d.get('discovery_enabled'),
15616            discovery_username=d.get('discovery_username'),
15617            egress_filter=d.get('egress_filter'),
15618            healthcheck_namespace=d.get('healthcheck_namespace'),
15619            healthy=d.get('healthy'),
15620            id=d.get('id'),
15621            identity_alias_healthcheck_username=d.get(
15622                'identity_alias_healthcheck_username'),
15623            identity_set_id=d.get('identity_set_id'),
15624            name=d.get('name'),
15625            port_override=d.get('port_override'),
15626            proxy_cluster_id=d.get('proxy_cluster_id'),
15627            secret_store_id=d.get('secret_store_id'),
15628            subdomain=d.get('subdomain'),
15629            tags=d.get('tags'),
15630        )
class KubernetesServiceAccount:
15633class KubernetesServiceAccount:
15634    __slots__ = [
15635        'allow_resource_role_bypass',
15636        'bind_interface',
15637        'discovery_enabled',
15638        'discovery_username',
15639        'egress_filter',
15640        'healthcheck_namespace',
15641        'healthy',
15642        'hostname',
15643        'id',
15644        'identity_alias_healthcheck_username',
15645        'identity_set_id',
15646        'name',
15647        'port',
15648        'port_override',
15649        'proxy_cluster_id',
15650        'secret_store_id',
15651        'subdomain',
15652        'tags',
15653        'token',
15654    ]
15655
15656    def __init__(
15657        self,
15658        allow_resource_role_bypass=None,
15659        bind_interface=None,
15660        discovery_enabled=None,
15661        discovery_username=None,
15662        egress_filter=None,
15663        healthcheck_namespace=None,
15664        healthy=None,
15665        hostname=None,
15666        id=None,
15667        identity_alias_healthcheck_username=None,
15668        identity_set_id=None,
15669        name=None,
15670        port=None,
15671        port_override=None,
15672        proxy_cluster_id=None,
15673        secret_store_id=None,
15674        subdomain=None,
15675        tags=None,
15676        token=None,
15677    ):
15678        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15679        '''
15680         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15681         when a resource role is not provided.
15682        '''
15683        self.bind_interface = bind_interface if bind_interface is not None else ''
15684        '''
15685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15686        '''
15687        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15688        '''
15689         If true, configures discovery of a cluster to be run from a node.
15690        '''
15691        self.discovery_username = discovery_username if discovery_username is not None else ''
15692        '''
15693         If a cluster is configured for user impersonation, this is the user to impersonate when
15694         running discovery.
15695        '''
15696        self.egress_filter = egress_filter if egress_filter is not None else ''
15697        '''
15698         A filter applied to the routing logic to pin datasource to nodes.
15699        '''
15700        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15701        '''
15702         The path used to check the health of your connection.  Defaults to `default`.
15703        '''
15704        self.healthy = healthy if healthy is not None else False
15705        '''
15706         True if the datasource is reachable and the credentials are valid.
15707        '''
15708        self.hostname = hostname if hostname is not None else ''
15709        '''
15710         The host to dial to initiate a connection from the egress node to this resource.
15711        '''
15712        self.id = id if id is not None else ''
15713        '''
15714         Unique identifier of the Resource.
15715        '''
15716        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15717        '''
15718         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15719        '''
15720        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15721        '''
15722         The ID of the identity set to use for identity connections.
15723        '''
15724        self.name = name if name is not None else ''
15725        '''
15726         Unique human-readable name of the Resource.
15727        '''
15728        self.port = port if port is not None else 0
15729        '''
15730         The port to dial to initiate a connection from the egress node to this resource.
15731        '''
15732        self.port_override = port_override if port_override is not None else 0
15733        '''
15734         The local port used by clients to connect to this resource.
15735        '''
15736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15737        '''
15738         ID of the proxy cluster for this resource, if any.
15739        '''
15740        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15741        '''
15742         ID of the secret store containing credentials for this resource, if any.
15743        '''
15744        self.subdomain = subdomain if subdomain is not None else ''
15745        '''
15746         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15747        '''
15748        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15749        '''
15750         Tags is a map of key, value pairs.
15751        '''
15752        self.token = token if token is not None else ''
15753        '''
15754         The API token to authenticate with.
15755        '''
15756
15757    def __repr__(self):
15758        return '<sdm.KubernetesServiceAccount ' + \
15759            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
15760            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15761            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
15762            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
15763            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15764            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15765            'healthy: ' + repr(self.healthy) + ' ' +\
15766            'hostname: ' + repr(self.hostname) + ' ' +\
15767            'id: ' + repr(self.id) + ' ' +\
15768            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
15769            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
15770            'name: ' + repr(self.name) + ' ' +\
15771            'port: ' + repr(self.port) + ' ' +\
15772            'port_override: ' + repr(self.port_override) + ' ' +\
15773            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15774            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15775            'subdomain: ' + repr(self.subdomain) + ' ' +\
15776            'tags: ' + repr(self.tags) + ' ' +\
15777            'token: ' + repr(self.token) + ' ' +\
15778            '>'
15779
15780    def to_dict(self):
15781        return {
15782            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15783            'bind_interface': self.bind_interface,
15784            'discovery_enabled': self.discovery_enabled,
15785            'discovery_username': self.discovery_username,
15786            'egress_filter': self.egress_filter,
15787            'healthcheck_namespace': self.healthcheck_namespace,
15788            'healthy': self.healthy,
15789            'hostname': self.hostname,
15790            'id': self.id,
15791            'identity_alias_healthcheck_username':
15792            self.identity_alias_healthcheck_username,
15793            'identity_set_id': self.identity_set_id,
15794            'name': self.name,
15795            'port': self.port,
15796            'port_override': self.port_override,
15797            'proxy_cluster_id': self.proxy_cluster_id,
15798            'secret_store_id': self.secret_store_id,
15799            'subdomain': self.subdomain,
15800            'tags': self.tags,
15801            'token': self.token,
15802        }
15803
15804    @classmethod
15805    def from_dict(cls, d):
15806        return cls(
15807            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15808            bind_interface=d.get('bind_interface'),
15809            discovery_enabled=d.get('discovery_enabled'),
15810            discovery_username=d.get('discovery_username'),
15811            egress_filter=d.get('egress_filter'),
15812            healthcheck_namespace=d.get('healthcheck_namespace'),
15813            healthy=d.get('healthy'),
15814            hostname=d.get('hostname'),
15815            id=d.get('id'),
15816            identity_alias_healthcheck_username=d.get(
15817                'identity_alias_healthcheck_username'),
15818            identity_set_id=d.get('identity_set_id'),
15819            name=d.get('name'),
15820            port=d.get('port'),
15821            port_override=d.get('port_override'),
15822            proxy_cluster_id=d.get('proxy_cluster_id'),
15823            secret_store_id=d.get('secret_store_id'),
15824            subdomain=d.get('subdomain'),
15825            tags=d.get('tags'),
15826            token=d.get('token'),
15827        )
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)
15656    def __init__(
15657        self,
15658        allow_resource_role_bypass=None,
15659        bind_interface=None,
15660        discovery_enabled=None,
15661        discovery_username=None,
15662        egress_filter=None,
15663        healthcheck_namespace=None,
15664        healthy=None,
15665        hostname=None,
15666        id=None,
15667        identity_alias_healthcheck_username=None,
15668        identity_set_id=None,
15669        name=None,
15670        port=None,
15671        port_override=None,
15672        proxy_cluster_id=None,
15673        secret_store_id=None,
15674        subdomain=None,
15675        tags=None,
15676        token=None,
15677    ):
15678        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
15679        '''
15680         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
15681         when a resource role is not provided.
15682        '''
15683        self.bind_interface = bind_interface if bind_interface is not None else ''
15684        '''
15685         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15686        '''
15687        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
15688        '''
15689         If true, configures discovery of a cluster to be run from a node.
15690        '''
15691        self.discovery_username = discovery_username if discovery_username is not None else ''
15692        '''
15693         If a cluster is configured for user impersonation, this is the user to impersonate when
15694         running discovery.
15695        '''
15696        self.egress_filter = egress_filter if egress_filter is not None else ''
15697        '''
15698         A filter applied to the routing logic to pin datasource to nodes.
15699        '''
15700        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15701        '''
15702         The path used to check the health of your connection.  Defaults to `default`.
15703        '''
15704        self.healthy = healthy if healthy is not None else False
15705        '''
15706         True if the datasource is reachable and the credentials are valid.
15707        '''
15708        self.hostname = hostname if hostname is not None else ''
15709        '''
15710         The host to dial to initiate a connection from the egress node to this resource.
15711        '''
15712        self.id = id if id is not None else ''
15713        '''
15714         Unique identifier of the Resource.
15715        '''
15716        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
15717        '''
15718         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
15719        '''
15720        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
15721        '''
15722         The ID of the identity set to use for identity connections.
15723        '''
15724        self.name = name if name is not None else ''
15725        '''
15726         Unique human-readable name of the Resource.
15727        '''
15728        self.port = port if port is not None else 0
15729        '''
15730         The port to dial to initiate a connection from the egress node to this resource.
15731        '''
15732        self.port_override = port_override if port_override is not None else 0
15733        '''
15734         The local port used by clients to connect to this resource.
15735        '''
15736        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15737        '''
15738         ID of the proxy cluster for this resource, if any.
15739        '''
15740        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15741        '''
15742         ID of the secret store containing credentials for this resource, if any.
15743        '''
15744        self.subdomain = subdomain if subdomain is not None else ''
15745        '''
15746         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15747        '''
15748        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15749        '''
15750         Tags is a map of key, value pairs.
15751        '''
15752        self.token = token if token is not None else ''
15753        '''
15754         The API token to authenticate with.
15755        '''
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)
15780    def to_dict(self):
15781        return {
15782            'allow_resource_role_bypass': self.allow_resource_role_bypass,
15783            'bind_interface': self.bind_interface,
15784            'discovery_enabled': self.discovery_enabled,
15785            'discovery_username': self.discovery_username,
15786            'egress_filter': self.egress_filter,
15787            'healthcheck_namespace': self.healthcheck_namespace,
15788            'healthy': self.healthy,
15789            'hostname': self.hostname,
15790            'id': self.id,
15791            'identity_alias_healthcheck_username':
15792            self.identity_alias_healthcheck_username,
15793            'identity_set_id': self.identity_set_id,
15794            'name': self.name,
15795            'port': self.port,
15796            'port_override': self.port_override,
15797            'proxy_cluster_id': self.proxy_cluster_id,
15798            'secret_store_id': self.secret_store_id,
15799            'subdomain': self.subdomain,
15800            'tags': self.tags,
15801            'token': self.token,
15802        }
@classmethod
def from_dict(cls, d)
15804    @classmethod
15805    def from_dict(cls, d):
15806        return cls(
15807            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
15808            bind_interface=d.get('bind_interface'),
15809            discovery_enabled=d.get('discovery_enabled'),
15810            discovery_username=d.get('discovery_username'),
15811            egress_filter=d.get('egress_filter'),
15812            healthcheck_namespace=d.get('healthcheck_namespace'),
15813            healthy=d.get('healthy'),
15814            hostname=d.get('hostname'),
15815            id=d.get('id'),
15816            identity_alias_healthcheck_username=d.get(
15817                'identity_alias_healthcheck_username'),
15818            identity_set_id=d.get('identity_set_id'),
15819            name=d.get('name'),
15820            port=d.get('port'),
15821            port_override=d.get('port_override'),
15822            proxy_cluster_id=d.get('proxy_cluster_id'),
15823            secret_store_id=d.get('secret_store_id'),
15824            subdomain=d.get('subdomain'),
15825            tags=d.get('tags'),
15826            token=d.get('token'),
15827        )
class KubernetesServiceAccountUserImpersonation:
15830class KubernetesServiceAccountUserImpersonation:
15831    __slots__ = [
15832        'bind_interface',
15833        'egress_filter',
15834        'healthcheck_namespace',
15835        'healthy',
15836        'hostname',
15837        'id',
15838        'name',
15839        'port',
15840        'port_override',
15841        'proxy_cluster_id',
15842        'secret_store_id',
15843        'subdomain',
15844        'tags',
15845        'token',
15846    ]
15847
15848    def __init__(
15849        self,
15850        bind_interface=None,
15851        egress_filter=None,
15852        healthcheck_namespace=None,
15853        healthy=None,
15854        hostname=None,
15855        id=None,
15856        name=None,
15857        port=None,
15858        port_override=None,
15859        proxy_cluster_id=None,
15860        secret_store_id=None,
15861        subdomain=None,
15862        tags=None,
15863        token=None,
15864    ):
15865        self.bind_interface = bind_interface if bind_interface is not None else ''
15866        '''
15867         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15868        '''
15869        self.egress_filter = egress_filter if egress_filter is not None else ''
15870        '''
15871         A filter applied to the routing logic to pin datasource to nodes.
15872        '''
15873        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15874        '''
15875         The path used to check the health of your connection.  Defaults to `default`.
15876        '''
15877        self.healthy = healthy if healthy is not None else False
15878        '''
15879         True if the datasource is reachable and the credentials are valid.
15880        '''
15881        self.hostname = hostname if hostname is not None else ''
15882        '''
15883         The host to dial to initiate a connection from the egress node to this resource.
15884        '''
15885        self.id = id if id is not None else ''
15886        '''
15887         Unique identifier of the Resource.
15888        '''
15889        self.name = name if name is not None else ''
15890        '''
15891         Unique human-readable name of the Resource.
15892        '''
15893        self.port = port if port is not None else 0
15894        '''
15895         The port to dial to initiate a connection from the egress node to this resource.
15896        '''
15897        self.port_override = port_override if port_override is not None else 0
15898        '''
15899         The local port used by clients to connect to this resource.
15900        '''
15901        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15902        '''
15903         ID of the proxy cluster for this resource, if any.
15904        '''
15905        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15906        '''
15907         ID of the secret store containing credentials for this resource, if any.
15908        '''
15909        self.subdomain = subdomain if subdomain is not None else ''
15910        '''
15911         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15912        '''
15913        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15914        '''
15915         Tags is a map of key, value pairs.
15916        '''
15917        self.token = token if token is not None else ''
15918        '''
15919         The API token to authenticate with.
15920        '''
15921
15922    def __repr__(self):
15923        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
15924            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15925            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15926            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
15927            'healthy: ' + repr(self.healthy) + ' ' +\
15928            'hostname: ' + repr(self.hostname) + ' ' +\
15929            'id: ' + repr(self.id) + ' ' +\
15930            'name: ' + repr(self.name) + ' ' +\
15931            'port: ' + repr(self.port) + ' ' +\
15932            'port_override: ' + repr(self.port_override) + ' ' +\
15933            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15934            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15935            'subdomain: ' + repr(self.subdomain) + ' ' +\
15936            'tags: ' + repr(self.tags) + ' ' +\
15937            'token: ' + repr(self.token) + ' ' +\
15938            '>'
15939
15940    def to_dict(self):
15941        return {
15942            'bind_interface': self.bind_interface,
15943            'egress_filter': self.egress_filter,
15944            'healthcheck_namespace': self.healthcheck_namespace,
15945            'healthy': self.healthy,
15946            'hostname': self.hostname,
15947            'id': self.id,
15948            'name': self.name,
15949            'port': self.port,
15950            'port_override': self.port_override,
15951            'proxy_cluster_id': self.proxy_cluster_id,
15952            'secret_store_id': self.secret_store_id,
15953            'subdomain': self.subdomain,
15954            'tags': self.tags,
15955            'token': self.token,
15956        }
15957
15958    @classmethod
15959    def from_dict(cls, d):
15960        return cls(
15961            bind_interface=d.get('bind_interface'),
15962            egress_filter=d.get('egress_filter'),
15963            healthcheck_namespace=d.get('healthcheck_namespace'),
15964            healthy=d.get('healthy'),
15965            hostname=d.get('hostname'),
15966            id=d.get('id'),
15967            name=d.get('name'),
15968            port=d.get('port'),
15969            port_override=d.get('port_override'),
15970            proxy_cluster_id=d.get('proxy_cluster_id'),
15971            secret_store_id=d.get('secret_store_id'),
15972            subdomain=d.get('subdomain'),
15973            tags=d.get('tags'),
15974            token=d.get('token'),
15975        )
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)
15848    def __init__(
15849        self,
15850        bind_interface=None,
15851        egress_filter=None,
15852        healthcheck_namespace=None,
15853        healthy=None,
15854        hostname=None,
15855        id=None,
15856        name=None,
15857        port=None,
15858        port_override=None,
15859        proxy_cluster_id=None,
15860        secret_store_id=None,
15861        subdomain=None,
15862        tags=None,
15863        token=None,
15864    ):
15865        self.bind_interface = bind_interface if bind_interface is not None else ''
15866        '''
15867         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
15868        '''
15869        self.egress_filter = egress_filter if egress_filter is not None else ''
15870        '''
15871         A filter applied to the routing logic to pin datasource to nodes.
15872        '''
15873        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
15874        '''
15875         The path used to check the health of your connection.  Defaults to `default`.
15876        '''
15877        self.healthy = healthy if healthy is not None else False
15878        '''
15879         True if the datasource is reachable and the credentials are valid.
15880        '''
15881        self.hostname = hostname if hostname is not None else ''
15882        '''
15883         The host to dial to initiate a connection from the egress node to this resource.
15884        '''
15885        self.id = id if id is not None else ''
15886        '''
15887         Unique identifier of the Resource.
15888        '''
15889        self.name = name if name is not None else ''
15890        '''
15891         Unique human-readable name of the Resource.
15892        '''
15893        self.port = port if port is not None else 0
15894        '''
15895         The port to dial to initiate a connection from the egress node to this resource.
15896        '''
15897        self.port_override = port_override if port_override is not None else 0
15898        '''
15899         The local port used by clients to connect to this resource.
15900        '''
15901        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15902        '''
15903         ID of the proxy cluster for this resource, if any.
15904        '''
15905        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15906        '''
15907         ID of the secret store containing credentials for this resource, if any.
15908        '''
15909        self.subdomain = subdomain if subdomain is not None else ''
15910        '''
15911         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15912        '''
15913        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15914        '''
15915         Tags is a map of key, value pairs.
15916        '''
15917        self.token = token if token is not None else ''
15918        '''
15919         The API token to authenticate with.
15920        '''
bind_interface

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

The bind interface is the IP 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)
16102    def to_dict(self):
16103        return {
16104            'bind_interface': self.bind_interface,
16105            'certificate_authority': self.certificate_authority,
16106            'client_certificate': self.client_certificate,
16107            'client_key': self.client_key,
16108            'egress_filter': self.egress_filter,
16109            'healthcheck_namespace': self.healthcheck_namespace,
16110            'healthy': self.healthy,
16111            'hostname': self.hostname,
16112            'id': self.id,
16113            'name': self.name,
16114            'port': self.port,
16115            'port_override': self.port_override,
16116            'proxy_cluster_id': self.proxy_cluster_id,
16117            'secret_store_id': self.secret_store_id,
16118            'subdomain': self.subdomain,
16119            'tags': self.tags,
16120        }
@classmethod
def from_dict(cls, d)
16122    @classmethod
16123    def from_dict(cls, d):
16124        return cls(
16125            bind_interface=d.get('bind_interface'),
16126            certificate_authority=d.get('certificate_authority'),
16127            client_certificate=d.get('client_certificate'),
16128            client_key=d.get('client_key'),
16129            egress_filter=d.get('egress_filter'),
16130            healthcheck_namespace=d.get('healthcheck_namespace'),
16131            healthy=d.get('healthy'),
16132            hostname=d.get('hostname'),
16133            id=d.get('id'),
16134            name=d.get('name'),
16135            port=d.get('port'),
16136            port_override=d.get('port_override'),
16137            proxy_cluster_id=d.get('proxy_cluster_id'),
16138            secret_store_id=d.get('secret_store_id'),
16139            subdomain=d.get('subdomain'),
16140            tags=d.get('tags'),
16141        )
class MTLSMysql:
16144class MTLSMysql:
16145    '''
16146    MTLSMysql is currently unstable, and its API may change, or it may be removed,
16147    without a major version bump.
16148    '''
16149    __slots__ = [
16150        'bind_interface',
16151        'certificate_authority',
16152        'client_certificate',
16153        'client_key',
16154        'database',
16155        'egress_filter',
16156        'healthy',
16157        'hostname',
16158        'id',
16159        'name',
16160        'password',
16161        'port',
16162        'port_override',
16163        'proxy_cluster_id',
16164        'require_native_auth',
16165        'secret_store_id',
16166        'server_name',
16167        'subdomain',
16168        'tags',
16169        'use_azure_single_server_usernames',
16170        'username',
16171    ]
16172
16173    def __init__(
16174        self,
16175        bind_interface=None,
16176        certificate_authority=None,
16177        client_certificate=None,
16178        client_key=None,
16179        database=None,
16180        egress_filter=None,
16181        healthy=None,
16182        hostname=None,
16183        id=None,
16184        name=None,
16185        password=None,
16186        port=None,
16187        port_override=None,
16188        proxy_cluster_id=None,
16189        require_native_auth=None,
16190        secret_store_id=None,
16191        server_name=None,
16192        subdomain=None,
16193        tags=None,
16194        use_azure_single_server_usernames=None,
16195        username=None,
16196    ):
16197        self.bind_interface = bind_interface if bind_interface is not None else ''
16198        '''
16199         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16200        '''
16201        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16202        '''
16203         The CA to authenticate TLS connections with.
16204        '''
16205        self.client_certificate = client_certificate if client_certificate is not None else ''
16206        '''
16207         The certificate to authenticate TLS connections with.
16208        '''
16209        self.client_key = client_key if client_key is not None else ''
16210        '''
16211         The key to authenticate TLS connections with.
16212        '''
16213        self.database = database if database is not None else ''
16214        '''
16215         The database for healthchecks. Does not affect client requests.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthy = healthy if healthy is not None else False
16222        '''
16223         True if the datasource is reachable and the credentials are valid.
16224        '''
16225        self.hostname = hostname if hostname is not None else ''
16226        '''
16227         The host to dial to initiate a connection from the egress node to this resource.
16228        '''
16229        self.id = id if id is not None else ''
16230        '''
16231         Unique identifier of the Resource.
16232        '''
16233        self.name = name if name is not None else ''
16234        '''
16235         Unique human-readable name of the Resource.
16236        '''
16237        self.password = password if password is not None else ''
16238        '''
16239         The password to authenticate with.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16254        '''
16255         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16256        '''
16257        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16258        '''
16259         ID of the secret store containing credentials for this resource, if any.
16260        '''
16261        self.server_name = server_name if server_name is not None else ''
16262        '''
16263         Server name for TLS verification (unverified by StrongDM if empty)
16264        '''
16265        self.subdomain = subdomain if subdomain is not None else ''
16266        '''
16267         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16268        '''
16269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16270        '''
16271         Tags is a map of key, value pairs.
16272        '''
16273        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16274        '''
16275         If true, appends the hostname to the username when hitting a database.azure.com address
16276        '''
16277        self.username = username if username is not None else ''
16278        '''
16279         The username to authenticate with.
16280        '''
16281
16282    def __repr__(self):
16283        return '<sdm.MTLSMysql ' + \
16284            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16285            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16286            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16287            'client_key: ' + repr(self.client_key) + ' ' +\
16288            'database: ' + repr(self.database) + ' ' +\
16289            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16290            'healthy: ' + repr(self.healthy) + ' ' +\
16291            'hostname: ' + repr(self.hostname) + ' ' +\
16292            'id: ' + repr(self.id) + ' ' +\
16293            'name: ' + repr(self.name) + ' ' +\
16294            'password: ' + repr(self.password) + ' ' +\
16295            'port: ' + repr(self.port) + ' ' +\
16296            'port_override: ' + repr(self.port_override) + ' ' +\
16297            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16298            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
16299            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16300            'server_name: ' + repr(self.server_name) + ' ' +\
16301            'subdomain: ' + repr(self.subdomain) + ' ' +\
16302            'tags: ' + repr(self.tags) + ' ' +\
16303            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
16304            'username: ' + repr(self.username) + ' ' +\
16305            '>'
16306
16307    def to_dict(self):
16308        return {
16309            'bind_interface': self.bind_interface,
16310            'certificate_authority': self.certificate_authority,
16311            'client_certificate': self.client_certificate,
16312            'client_key': self.client_key,
16313            'database': self.database,
16314            'egress_filter': self.egress_filter,
16315            'healthy': self.healthy,
16316            'hostname': self.hostname,
16317            'id': self.id,
16318            'name': self.name,
16319            'password': self.password,
16320            'port': self.port,
16321            'port_override': self.port_override,
16322            'proxy_cluster_id': self.proxy_cluster_id,
16323            'require_native_auth': self.require_native_auth,
16324            'secret_store_id': self.secret_store_id,
16325            'server_name': self.server_name,
16326            'subdomain': self.subdomain,
16327            'tags': self.tags,
16328            'use_azure_single_server_usernames':
16329            self.use_azure_single_server_usernames,
16330            'username': self.username,
16331        }
16332
16333    @classmethod
16334    def from_dict(cls, d):
16335        return cls(
16336            bind_interface=d.get('bind_interface'),
16337            certificate_authority=d.get('certificate_authority'),
16338            client_certificate=d.get('client_certificate'),
16339            client_key=d.get('client_key'),
16340            database=d.get('database'),
16341            egress_filter=d.get('egress_filter'),
16342            healthy=d.get('healthy'),
16343            hostname=d.get('hostname'),
16344            id=d.get('id'),
16345            name=d.get('name'),
16346            password=d.get('password'),
16347            port=d.get('port'),
16348            port_override=d.get('port_override'),
16349            proxy_cluster_id=d.get('proxy_cluster_id'),
16350            require_native_auth=d.get('require_native_auth'),
16351            secret_store_id=d.get('secret_store_id'),
16352            server_name=d.get('server_name'),
16353            subdomain=d.get('subdomain'),
16354            tags=d.get('tags'),
16355            use_azure_single_server_usernames=d.get(
16356                'use_azure_single_server_usernames'),
16357            username=d.get('username'),
16358        )

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)
16173    def __init__(
16174        self,
16175        bind_interface=None,
16176        certificate_authority=None,
16177        client_certificate=None,
16178        client_key=None,
16179        database=None,
16180        egress_filter=None,
16181        healthy=None,
16182        hostname=None,
16183        id=None,
16184        name=None,
16185        password=None,
16186        port=None,
16187        port_override=None,
16188        proxy_cluster_id=None,
16189        require_native_auth=None,
16190        secret_store_id=None,
16191        server_name=None,
16192        subdomain=None,
16193        tags=None,
16194        use_azure_single_server_usernames=None,
16195        username=None,
16196    ):
16197        self.bind_interface = bind_interface if bind_interface is not None else ''
16198        '''
16199         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16200        '''
16201        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16202        '''
16203         The CA to authenticate TLS connections with.
16204        '''
16205        self.client_certificate = client_certificate if client_certificate is not None else ''
16206        '''
16207         The certificate to authenticate TLS connections with.
16208        '''
16209        self.client_key = client_key if client_key is not None else ''
16210        '''
16211         The key to authenticate TLS connections with.
16212        '''
16213        self.database = database if database is not None else ''
16214        '''
16215         The database for healthchecks. Does not affect client requests.
16216        '''
16217        self.egress_filter = egress_filter if egress_filter is not None else ''
16218        '''
16219         A filter applied to the routing logic to pin datasource to nodes.
16220        '''
16221        self.healthy = healthy if healthy is not None else False
16222        '''
16223         True if the datasource is reachable and the credentials are valid.
16224        '''
16225        self.hostname = hostname if hostname is not None else ''
16226        '''
16227         The host to dial to initiate a connection from the egress node to this resource.
16228        '''
16229        self.id = id if id is not None else ''
16230        '''
16231         Unique identifier of the Resource.
16232        '''
16233        self.name = name if name is not None else ''
16234        '''
16235         Unique human-readable name of the Resource.
16236        '''
16237        self.password = password if password is not None else ''
16238        '''
16239         The password to authenticate with.
16240        '''
16241        self.port = port if port is not None else 0
16242        '''
16243         The port to dial to initiate a connection from the egress node to this resource.
16244        '''
16245        self.port_override = port_override if port_override is not None else 0
16246        '''
16247         The local port used by clients to connect to this resource.
16248        '''
16249        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16250        '''
16251         ID of the proxy cluster for this resource, if any.
16252        '''
16253        self.require_native_auth = require_native_auth if require_native_auth is not None else False
16254        '''
16255         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
16256        '''
16257        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16258        '''
16259         ID of the secret store containing credentials for this resource, if any.
16260        '''
16261        self.server_name = server_name if server_name is not None else ''
16262        '''
16263         Server name for TLS verification (unverified by StrongDM if empty)
16264        '''
16265        self.subdomain = subdomain if subdomain is not None else ''
16266        '''
16267         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16268        '''
16269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16270        '''
16271         Tags is a map of key, value pairs.
16272        '''
16273        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
16274        '''
16275         If true, appends the hostname to the username when hitting a database.azure.com address
16276        '''
16277        self.username = username if username is not None else ''
16278        '''
16279         The username to authenticate with.
16280        '''
bind_interface

The bind interface is the IP 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)
16307    def to_dict(self):
16308        return {
16309            'bind_interface': self.bind_interface,
16310            'certificate_authority': self.certificate_authority,
16311            'client_certificate': self.client_certificate,
16312            'client_key': self.client_key,
16313            'database': self.database,
16314            'egress_filter': self.egress_filter,
16315            'healthy': self.healthy,
16316            'hostname': self.hostname,
16317            'id': self.id,
16318            'name': self.name,
16319            'password': self.password,
16320            'port': self.port,
16321            'port_override': self.port_override,
16322            'proxy_cluster_id': self.proxy_cluster_id,
16323            'require_native_auth': self.require_native_auth,
16324            'secret_store_id': self.secret_store_id,
16325            'server_name': self.server_name,
16326            'subdomain': self.subdomain,
16327            'tags': self.tags,
16328            'use_azure_single_server_usernames':
16329            self.use_azure_single_server_usernames,
16330            'username': self.username,
16331        }
@classmethod
def from_dict(cls, d)
16333    @classmethod
16334    def from_dict(cls, d):
16335        return cls(
16336            bind_interface=d.get('bind_interface'),
16337            certificate_authority=d.get('certificate_authority'),
16338            client_certificate=d.get('client_certificate'),
16339            client_key=d.get('client_key'),
16340            database=d.get('database'),
16341            egress_filter=d.get('egress_filter'),
16342            healthy=d.get('healthy'),
16343            hostname=d.get('hostname'),
16344            id=d.get('id'),
16345            name=d.get('name'),
16346            password=d.get('password'),
16347            port=d.get('port'),
16348            port_override=d.get('port_override'),
16349            proxy_cluster_id=d.get('proxy_cluster_id'),
16350            require_native_auth=d.get('require_native_auth'),
16351            secret_store_id=d.get('secret_store_id'),
16352            server_name=d.get('server_name'),
16353            subdomain=d.get('subdomain'),
16354            tags=d.get('tags'),
16355            use_azure_single_server_usernames=d.get(
16356                'use_azure_single_server_usernames'),
16357            username=d.get('username'),
16358        )
class MTLSPostgres:
16361class MTLSPostgres:
16362    __slots__ = [
16363        'bind_interface',
16364        'certificate_authority',
16365        'client_certificate',
16366        'client_key',
16367        'database',
16368        'egress_filter',
16369        'healthy',
16370        'hostname',
16371        'id',
16372        'name',
16373        'override_database',
16374        'password',
16375        'port',
16376        'port_override',
16377        'proxy_cluster_id',
16378        'secret_store_id',
16379        'server_name',
16380        'subdomain',
16381        'tags',
16382        'username',
16383    ]
16384
16385    def __init__(
16386        self,
16387        bind_interface=None,
16388        certificate_authority=None,
16389        client_certificate=None,
16390        client_key=None,
16391        database=None,
16392        egress_filter=None,
16393        healthy=None,
16394        hostname=None,
16395        id=None,
16396        name=None,
16397        override_database=None,
16398        password=None,
16399        port=None,
16400        port_override=None,
16401        proxy_cluster_id=None,
16402        secret_store_id=None,
16403        server_name=None,
16404        subdomain=None,
16405        tags=None,
16406        username=None,
16407    ):
16408        self.bind_interface = bind_interface if bind_interface is not None else ''
16409        '''
16410         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16411        '''
16412        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16413        '''
16414         The CA to authenticate TLS connections with.
16415        '''
16416        self.client_certificate = client_certificate if client_certificate is not None else ''
16417        '''
16418         The certificate to authenticate TLS connections with.
16419        '''
16420        self.client_key = client_key if client_key is not None else ''
16421        '''
16422         The key to authenticate TLS connections with.
16423        '''
16424        self.database = database if database is not None else ''
16425        '''
16426         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16427        '''
16428        self.egress_filter = egress_filter if egress_filter is not None else ''
16429        '''
16430         A filter applied to the routing logic to pin datasource to nodes.
16431        '''
16432        self.healthy = healthy if healthy is not None else False
16433        '''
16434         True if the datasource is reachable and the credentials are valid.
16435        '''
16436        self.hostname = hostname if hostname is not None else ''
16437        '''
16438         The host to dial to initiate a connection from the egress node to this resource.
16439        '''
16440        self.id = id if id is not None else ''
16441        '''
16442         Unique identifier of the Resource.
16443        '''
16444        self.name = name if name is not None else ''
16445        '''
16446         Unique human-readable name of the Resource.
16447        '''
16448        self.override_database = override_database if override_database is not None else False
16449        '''
16450         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.
16451        '''
16452        self.password = password if password is not None else ''
16453        '''
16454         The password to authenticate with.
16455        '''
16456        self.port = port if port is not None else 0
16457        '''
16458         The port to dial to initiate a connection from the egress node to this resource.
16459        '''
16460        self.port_override = port_override if port_override is not None else 0
16461        '''
16462         The local port used by clients to connect to this resource.
16463        '''
16464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16465        '''
16466         ID of the proxy cluster for this resource, if any.
16467        '''
16468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16469        '''
16470         ID of the secret store containing credentials for this resource, if any.
16471        '''
16472        self.server_name = server_name if server_name is not None else ''
16473        '''
16474         Server name for TLS verification (unverified by StrongDM if empty)
16475        '''
16476        self.subdomain = subdomain if subdomain is not None else ''
16477        '''
16478         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16479        '''
16480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16481        '''
16482         Tags is a map of key, value pairs.
16483        '''
16484        self.username = username if username is not None else ''
16485        '''
16486         The username to authenticate with.
16487        '''
16488
16489    def __repr__(self):
16490        return '<sdm.MTLSPostgres ' + \
16491            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
16492            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
16493            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
16494            'client_key: ' + repr(self.client_key) + ' ' +\
16495            'database: ' + repr(self.database) + ' ' +\
16496            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
16497            'healthy: ' + repr(self.healthy) + ' ' +\
16498            'hostname: ' + repr(self.hostname) + ' ' +\
16499            'id: ' + repr(self.id) + ' ' +\
16500            'name: ' + repr(self.name) + ' ' +\
16501            'override_database: ' + repr(self.override_database) + ' ' +\
16502            'password: ' + repr(self.password) + ' ' +\
16503            'port: ' + repr(self.port) + ' ' +\
16504            'port_override: ' + repr(self.port_override) + ' ' +\
16505            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
16506            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16507            'server_name: ' + repr(self.server_name) + ' ' +\
16508            'subdomain: ' + repr(self.subdomain) + ' ' +\
16509            'tags: ' + repr(self.tags) + ' ' +\
16510            'username: ' + repr(self.username) + ' ' +\
16511            '>'
16512
16513    def to_dict(self):
16514        return {
16515            'bind_interface': self.bind_interface,
16516            'certificate_authority': self.certificate_authority,
16517            'client_certificate': self.client_certificate,
16518            'client_key': self.client_key,
16519            'database': self.database,
16520            'egress_filter': self.egress_filter,
16521            'healthy': self.healthy,
16522            'hostname': self.hostname,
16523            'id': self.id,
16524            'name': self.name,
16525            'override_database': self.override_database,
16526            'password': self.password,
16527            'port': self.port,
16528            'port_override': self.port_override,
16529            'proxy_cluster_id': self.proxy_cluster_id,
16530            'secret_store_id': self.secret_store_id,
16531            'server_name': self.server_name,
16532            'subdomain': self.subdomain,
16533            'tags': self.tags,
16534            'username': self.username,
16535        }
16536
16537    @classmethod
16538    def from_dict(cls, d):
16539        return cls(
16540            bind_interface=d.get('bind_interface'),
16541            certificate_authority=d.get('certificate_authority'),
16542            client_certificate=d.get('client_certificate'),
16543            client_key=d.get('client_key'),
16544            database=d.get('database'),
16545            egress_filter=d.get('egress_filter'),
16546            healthy=d.get('healthy'),
16547            hostname=d.get('hostname'),
16548            id=d.get('id'),
16549            name=d.get('name'),
16550            override_database=d.get('override_database'),
16551            password=d.get('password'),
16552            port=d.get('port'),
16553            port_override=d.get('port_override'),
16554            proxy_cluster_id=d.get('proxy_cluster_id'),
16555            secret_store_id=d.get('secret_store_id'),
16556            server_name=d.get('server_name'),
16557            subdomain=d.get('subdomain'),
16558            tags=d.get('tags'),
16559            username=d.get('username'),
16560        )
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)
16385    def __init__(
16386        self,
16387        bind_interface=None,
16388        certificate_authority=None,
16389        client_certificate=None,
16390        client_key=None,
16391        database=None,
16392        egress_filter=None,
16393        healthy=None,
16394        hostname=None,
16395        id=None,
16396        name=None,
16397        override_database=None,
16398        password=None,
16399        port=None,
16400        port_override=None,
16401        proxy_cluster_id=None,
16402        secret_store_id=None,
16403        server_name=None,
16404        subdomain=None,
16405        tags=None,
16406        username=None,
16407    ):
16408        self.bind_interface = bind_interface if bind_interface is not None else ''
16409        '''
16410         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
16411        '''
16412        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
16413        '''
16414         The CA to authenticate TLS connections with.
16415        '''
16416        self.client_certificate = client_certificate if client_certificate is not None else ''
16417        '''
16418         The certificate to authenticate TLS connections with.
16419        '''
16420        self.client_key = client_key if client_key is not None else ''
16421        '''
16422         The key to authenticate TLS connections with.
16423        '''
16424        self.database = database if database is not None else ''
16425        '''
16426         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
16427        '''
16428        self.egress_filter = egress_filter if egress_filter is not None else ''
16429        '''
16430         A filter applied to the routing logic to pin datasource to nodes.
16431        '''
16432        self.healthy = healthy if healthy is not None else False
16433        '''
16434         True if the datasource is reachable and the credentials are valid.
16435        '''
16436        self.hostname = hostname if hostname is not None else ''
16437        '''
16438         The host to dial to initiate a connection from the egress node to this resource.
16439        '''
16440        self.id = id if id is not None else ''
16441        '''
16442         Unique identifier of the Resource.
16443        '''
16444        self.name = name if name is not None else ''
16445        '''
16446         Unique human-readable name of the Resource.
16447        '''
16448        self.override_database = override_database if override_database is not None else False
16449        '''
16450         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.
16451        '''
16452        self.password = password if password is not None else ''
16453        '''
16454         The password to authenticate with.
16455        '''
16456        self.port = port if port is not None else 0
16457        '''
16458         The port to dial to initiate a connection from the egress node to this resource.
16459        '''
16460        self.port_override = port_override if port_override is not None else 0
16461        '''
16462         The local port used by clients to connect to this resource.
16463        '''
16464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
16465        '''
16466         ID of the proxy cluster for this resource, if any.
16467        '''
16468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16469        '''
16470         ID of the secret store containing credentials for this resource, if any.
16471        '''
16472        self.server_name = server_name if server_name is not None else ''
16473        '''
16474         Server name for TLS verification (unverified by StrongDM if empty)
16475        '''
16476        self.subdomain = subdomain if subdomain is not None else ''
16477        '''
16478         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
16479        '''
16480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16481        '''
16482         Tags is a map of key, value pairs.
16483        '''
16484        self.username = username if username is not None else ''
16485        '''
16486         The username to authenticate with.
16487        '''
bind_interface

The bind interface is the IP 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)
16513    def to_dict(self):
16514        return {
16515            'bind_interface': self.bind_interface,
16516            'certificate_authority': self.certificate_authority,
16517            'client_certificate': self.client_certificate,
16518            'client_key': self.client_key,
16519            'database': self.database,
16520            'egress_filter': self.egress_filter,
16521            'healthy': self.healthy,
16522            'hostname': self.hostname,
16523            'id': self.id,
16524            'name': self.name,
16525            'override_database': self.override_database,
16526            'password': self.password,
16527            'port': self.port,
16528            'port_override': self.port_override,
16529            'proxy_cluster_id': self.proxy_cluster_id,
16530            'secret_store_id': self.secret_store_id,
16531            'server_name': self.server_name,
16532            'subdomain': self.subdomain,
16533            'tags': self.tags,
16534            'username': self.username,
16535        }
@classmethod
def from_dict(cls, d)
16537    @classmethod
16538    def from_dict(cls, d):
16539        return cls(
16540            bind_interface=d.get('bind_interface'),
16541            certificate_authority=d.get('certificate_authority'),
16542            client_certificate=d.get('client_certificate'),
16543            client_key=d.get('client_key'),
16544            database=d.get('database'),
16545            egress_filter=d.get('egress_filter'),
16546            healthy=d.get('healthy'),
16547            hostname=d.get('hostname'),
16548            id=d.get('id'),
16549            name=d.get('name'),
16550            override_database=d.get('override_database'),
16551            password=d.get('password'),
16552            port=d.get('port'),
16553            port_override=d.get('port_override'),
16554            proxy_cluster_id=d.get('proxy_cluster_id'),
16555            secret_store_id=d.get('secret_store_id'),
16556            server_name=d.get('server_name'),
16557            subdomain=d.get('subdomain'),
16558            tags=d.get('tags'),
16559            username=d.get('username'),
16560        )
class ManagedSecret:
16563class ManagedSecret:
16564    '''
16565         ManagedSecret contains details about managed secret
16566    '''
16567    __slots__ = [
16568        'config',
16569        'expires_at',
16570        'id',
16571        'last_rotated_at',
16572        'name',
16573        'policy',
16574        'secret_engine_id',
16575        'secret_store_path',
16576        'tags',
16577        'value',
16578    ]
16579
16580    def __init__(
16581        self,
16582        config=None,
16583        expires_at=None,
16584        id=None,
16585        last_rotated_at=None,
16586        name=None,
16587        policy=None,
16588        secret_engine_id=None,
16589        secret_store_path=None,
16590        tags=None,
16591        value=None,
16592    ):
16593        self.config = config if config is not None else ''
16594        '''
16595         public part of the secret value
16596        '''
16597        self.expires_at = expires_at if expires_at is not None else None
16598        '''
16599         Timestamp of when secret is going to be rotated
16600        '''
16601        self.id = id if id is not None else ''
16602        '''
16603         Unique identifier of the Managed Secret.
16604        '''
16605        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16606        '''
16607         Timestamp of when secret was last rotated
16608        '''
16609        self.name = name if name is not None else ''
16610        '''
16611         Unique human-readable name of the Managed Secret.
16612        '''
16613        self.policy = policy if policy is not None else None
16614        '''
16615         Password and rotation policy for the secret
16616        '''
16617        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16618        '''
16619         An ID of a Secret Engine linked with the Managed Secret.
16620        '''
16621        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16622        '''
16623         Path in a secret store.
16624        '''
16625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16626        '''
16627         Tags is a map of key, value pairs.
16628        '''
16629        self.value = value if value is not None else b''
16630        '''
16631         Sensitive value of the secret.
16632        '''
16633
16634    def __repr__(self):
16635        return '<sdm.ManagedSecret ' + \
16636            'config: ' + repr(self.config) + ' ' +\
16637            'expires_at: ' + repr(self.expires_at) + ' ' +\
16638            'id: ' + repr(self.id) + ' ' +\
16639            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
16640            'name: ' + repr(self.name) + ' ' +\
16641            'policy: ' + repr(self.policy) + ' ' +\
16642            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16643            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
16644            'tags: ' + repr(self.tags) + ' ' +\
16645            'value: ' + repr(self.value) + ' ' +\
16646            '>'
16647
16648    def to_dict(self):
16649        return {
16650            'config': self.config,
16651            'expires_at': self.expires_at,
16652            'id': self.id,
16653            'last_rotated_at': self.last_rotated_at,
16654            'name': self.name,
16655            'policy': self.policy,
16656            'secret_engine_id': self.secret_engine_id,
16657            'secret_store_path': self.secret_store_path,
16658            'tags': self.tags,
16659            'value': self.value,
16660        }
16661
16662    @classmethod
16663    def from_dict(cls, d):
16664        return cls(
16665            config=d.get('config'),
16666            expires_at=d.get('expires_at'),
16667            id=d.get('id'),
16668            last_rotated_at=d.get('last_rotated_at'),
16669            name=d.get('name'),
16670            policy=d.get('policy'),
16671            secret_engine_id=d.get('secret_engine_id'),
16672            secret_store_path=d.get('secret_store_path'),
16673            tags=d.get('tags'),
16674            value=d.get('value'),
16675        )

ManagedSecret contains details about managed secret

ManagedSecret( config=None, expires_at=None, id=None, last_rotated_at=None, name=None, policy=None, secret_engine_id=None, secret_store_path=None, tags=None, value=None)
16580    def __init__(
16581        self,
16582        config=None,
16583        expires_at=None,
16584        id=None,
16585        last_rotated_at=None,
16586        name=None,
16587        policy=None,
16588        secret_engine_id=None,
16589        secret_store_path=None,
16590        tags=None,
16591        value=None,
16592    ):
16593        self.config = config if config is not None else ''
16594        '''
16595         public part of the secret value
16596        '''
16597        self.expires_at = expires_at if expires_at is not None else None
16598        '''
16599         Timestamp of when secret is going to be rotated
16600        '''
16601        self.id = id if id is not None else ''
16602        '''
16603         Unique identifier of the Managed Secret.
16604        '''
16605        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
16606        '''
16607         Timestamp of when secret was last rotated
16608        '''
16609        self.name = name if name is not None else ''
16610        '''
16611         Unique human-readable name of the Managed Secret.
16612        '''
16613        self.policy = policy if policy is not None else None
16614        '''
16615         Password and rotation policy for the secret
16616        '''
16617        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16618        '''
16619         An ID of a Secret Engine linked with the Managed Secret.
16620        '''
16621        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
16622        '''
16623         Path in a secret store.
16624        '''
16625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16626        '''
16627         Tags is a map of key, value pairs.
16628        '''
16629        self.value = value if value is not None else b''
16630        '''
16631         Sensitive value of the secret.
16632        '''
config

public part of the secret value

expires_at

Timestamp of when secret is going to be rotated

id

Unique identifier of the Managed Secret.

last_rotated_at

Timestamp of when secret was last rotated

name

Unique human-readable name of the Managed Secret.

policy

Password and rotation policy for the secret

secret_engine_id

An ID of a Secret Engine linked with the Managed Secret.

secret_store_path

Path in a secret store.

tags

Tags is a map of key, value pairs.

value

Sensitive value of the secret.

def to_dict(self)
16648    def to_dict(self):
16649        return {
16650            'config': self.config,
16651            'expires_at': self.expires_at,
16652            'id': self.id,
16653            'last_rotated_at': self.last_rotated_at,
16654            'name': self.name,
16655            'policy': self.policy,
16656            'secret_engine_id': self.secret_engine_id,
16657            'secret_store_path': self.secret_store_path,
16658            'tags': self.tags,
16659            'value': self.value,
16660        }
@classmethod
def from_dict(cls, d)
16662    @classmethod
16663    def from_dict(cls, d):
16664        return cls(
16665            config=d.get('config'),
16666            expires_at=d.get('expires_at'),
16667            id=d.get('id'),
16668            last_rotated_at=d.get('last_rotated_at'),
16669            name=d.get('name'),
16670            policy=d.get('policy'),
16671            secret_engine_id=d.get('secret_engine_id'),
16672            secret_store_path=d.get('secret_store_path'),
16673            tags=d.get('tags'),
16674            value=d.get('value'),
16675        )
class ManagedSecretCreateRequest:
16678class ManagedSecretCreateRequest:
16679    '''
16680         ManagedSecretCreateRequest specifies a Managed Secret to create.
16681    '''
16682    __slots__ = [
16683        'managed_secret',
16684    ]
16685
16686    def __init__(
16687        self,
16688        managed_secret=None,
16689    ):
16690        self.managed_secret = managed_secret if managed_secret is not None else None
16691        '''
16692         Parameters to define the new Managed Secret.
16693        '''
16694
16695    def __repr__(self):
16696        return '<sdm.ManagedSecretCreateRequest ' + \
16697            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16698            '>'
16699
16700    def to_dict(self):
16701        return {
16702            'managed_secret': self.managed_secret,
16703        }
16704
16705    @classmethod
16706    def from_dict(cls, d):
16707        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
16686    def __init__(
16687        self,
16688        managed_secret=None,
16689    ):
16690        self.managed_secret = managed_secret if managed_secret is not None else None
16691        '''
16692         Parameters to define the new Managed Secret.
16693        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
16700    def to_dict(self):
16701        return {
16702            'managed_secret': self.managed_secret,
16703        }
@classmethod
def from_dict(cls, d)
16705    @classmethod
16706    def from_dict(cls, d):
16707        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
16710class ManagedSecretCreateResponse:
16711    '''
16712         ManagedSecretCreateResponse contains information about a Managed Secret after
16713     successful creation.
16714    '''
16715    __slots__ = [
16716        'managed_secret',
16717        'meta',
16718        'rate_limit',
16719    ]
16720
16721    def __init__(
16722        self,
16723        managed_secret=None,
16724        meta=None,
16725        rate_limit=None,
16726    ):
16727        self.managed_secret = managed_secret if managed_secret is not None else None
16728        '''
16729         The requested Managed Secret.
16730        '''
16731        self.meta = meta if meta is not None else None
16732        '''
16733         Reserved for future use.
16734        '''
16735        self.rate_limit = rate_limit if rate_limit is not None else None
16736        '''
16737         Rate limit information.
16738        '''
16739
16740    def __repr__(self):
16741        return '<sdm.ManagedSecretCreateResponse ' + \
16742            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16743            'meta: ' + repr(self.meta) + ' ' +\
16744            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16745            '>'
16746
16747    def to_dict(self):
16748        return {
16749            'managed_secret': self.managed_secret,
16750            'meta': self.meta,
16751            'rate_limit': self.rate_limit,
16752        }
16753
16754    @classmethod
16755    def from_dict(cls, d):
16756        return cls(
16757            managed_secret=d.get('managed_secret'),
16758            meta=d.get('meta'),
16759            rate_limit=d.get('rate_limit'),
16760        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
16721    def __init__(
16722        self,
16723        managed_secret=None,
16724        meta=None,
16725        rate_limit=None,
16726    ):
16727        self.managed_secret = managed_secret if managed_secret is not None else None
16728        '''
16729         The requested Managed Secret.
16730        '''
16731        self.meta = meta if meta is not None else None
16732        '''
16733         Reserved for future use.
16734        '''
16735        self.rate_limit = rate_limit if rate_limit is not None else None
16736        '''
16737         Rate limit information.
16738        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16747    def to_dict(self):
16748        return {
16749            'managed_secret': self.managed_secret,
16750            'meta': self.meta,
16751            'rate_limit': self.rate_limit,
16752        }
@classmethod
def from_dict(cls, d)
16754    @classmethod
16755    def from_dict(cls, d):
16756        return cls(
16757            managed_secret=d.get('managed_secret'),
16758            meta=d.get('meta'),
16759            rate_limit=d.get('rate_limit'),
16760        )
class ManagedSecretDeleteRequest:
16763class ManagedSecretDeleteRequest:
16764    '''
16765         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
16766     deleted.
16767    '''
16768    __slots__ = [
16769        'id',
16770    ]
16771
16772    def __init__(
16773        self,
16774        id=None,
16775    ):
16776        self.id = id if id is not None else ''
16777        '''
16778         The unique identifier of the Managed Secret to delete.
16779        '''
16780
16781    def __repr__(self):
16782        return '<sdm.ManagedSecretDeleteRequest ' + \
16783            'id: ' + repr(self.id) + ' ' +\
16784            '>'
16785
16786    def to_dict(self):
16787        return {
16788            'id': self.id,
16789        }
16790
16791    @classmethod
16792    def from_dict(cls, d):
16793        return cls(id=d.get('id'), )

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

ManagedSecretDeleteRequest(id=None)
16772    def __init__(
16773        self,
16774        id=None,
16775    ):
16776        self.id = id if id is not None else ''
16777        '''
16778         The unique identifier of the Managed Secret to delete.
16779        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
16786    def to_dict(self):
16787        return {
16788            'id': self.id,
16789        }
@classmethod
def from_dict(cls, d)
16791    @classmethod
16792    def from_dict(cls, d):
16793        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
16796class ManagedSecretDeleteResponse:
16797    '''
16798         ManagedSecretDeleteResponse contains information about a Managed Secret after
16799     it was deleted.
16800    '''
16801    __slots__ = [
16802        'rate_limit',
16803    ]
16804
16805    def __init__(
16806        self,
16807        rate_limit=None,
16808    ):
16809        self.rate_limit = rate_limit if rate_limit is not None else None
16810        '''
16811         Rate limit information.
16812        '''
16813
16814    def __repr__(self):
16815        return '<sdm.ManagedSecretDeleteResponse ' + \
16816            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16817            '>'
16818
16819    def to_dict(self):
16820        return {
16821            'rate_limit': self.rate_limit,
16822        }
16823
16824    @classmethod
16825    def from_dict(cls, d):
16826        return cls(rate_limit=d.get('rate_limit'), )

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

ManagedSecretDeleteResponse(rate_limit=None)
16805    def __init__(
16806        self,
16807        rate_limit=None,
16808    ):
16809        self.rate_limit = rate_limit if rate_limit is not None else None
16810        '''
16811         Rate limit information.
16812        '''
rate_limit

Rate limit information.

def to_dict(self)
16819    def to_dict(self):
16820        return {
16821            'rate_limit': self.rate_limit,
16822        }
@classmethod
def from_dict(cls, d)
16824    @classmethod
16825    def from_dict(cls, d):
16826        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
16829class ManagedSecretGetRequest:
16830    '''
16831         ManagedSecretGetRequest specifies which Managed Secret to retrieve
16832    '''
16833    __slots__ = [
16834        'id',
16835    ]
16836
16837    def __init__(
16838        self,
16839        id=None,
16840    ):
16841        self.id = id if id is not None else ''
16842        '''
16843         The unique identifier of the Managed Secret to retrieve.
16844        '''
16845
16846    def __repr__(self):
16847        return '<sdm.ManagedSecretGetRequest ' + \
16848            'id: ' + repr(self.id) + ' ' +\
16849            '>'
16850
16851    def to_dict(self):
16852        return {
16853            'id': self.id,
16854        }
16855
16856    @classmethod
16857    def from_dict(cls, d):
16858        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
16837    def __init__(
16838        self,
16839        id=None,
16840    ):
16841        self.id = id if id is not None else ''
16842        '''
16843         The unique identifier of the Managed Secret to retrieve.
16844        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
16851    def to_dict(self):
16852        return {
16853            'id': self.id,
16854        }
@classmethod
def from_dict(cls, d)
16856    @classmethod
16857    def from_dict(cls, d):
16858        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
16861class ManagedSecretGetResponse:
16862    '''
16863         ManagedSecretGetResponse contains information about requested Managed Secret
16864    '''
16865    __slots__ = [
16866        'managed_secret',
16867        'meta',
16868        'rate_limit',
16869    ]
16870
16871    def __init__(
16872        self,
16873        managed_secret=None,
16874        meta=None,
16875        rate_limit=None,
16876    ):
16877        self.managed_secret = managed_secret if managed_secret is not None else None
16878        '''
16879         The requested Managed Secret.
16880        '''
16881        self.meta = meta if meta is not None else None
16882        '''
16883         Reserved for future use.
16884        '''
16885        self.rate_limit = rate_limit if rate_limit is not None else None
16886        '''
16887         Rate limit information.
16888        '''
16889
16890    def __repr__(self):
16891        return '<sdm.ManagedSecretGetResponse ' + \
16892            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
16893            'meta: ' + repr(self.meta) + ' ' +\
16894            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16895            '>'
16896
16897    def to_dict(self):
16898        return {
16899            'managed_secret': self.managed_secret,
16900            'meta': self.meta,
16901            'rate_limit': self.rate_limit,
16902        }
16903
16904    @classmethod
16905    def from_dict(cls, d):
16906        return cls(
16907            managed_secret=d.get('managed_secret'),
16908            meta=d.get('meta'),
16909            rate_limit=d.get('rate_limit'),
16910        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
16871    def __init__(
16872        self,
16873        managed_secret=None,
16874        meta=None,
16875        rate_limit=None,
16876    ):
16877        self.managed_secret = managed_secret if managed_secret is not None else None
16878        '''
16879         The requested Managed Secret.
16880        '''
16881        self.meta = meta if meta is not None else None
16882        '''
16883         Reserved for future use.
16884        '''
16885        self.rate_limit = rate_limit if rate_limit is not None else None
16886        '''
16887         Rate limit information.
16888        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16897    def to_dict(self):
16898        return {
16899            'managed_secret': self.managed_secret,
16900            'meta': self.meta,
16901            'rate_limit': self.rate_limit,
16902        }
@classmethod
def from_dict(cls, d)
16904    @classmethod
16905    def from_dict(cls, d):
16906        return cls(
16907            managed_secret=d.get('managed_secret'),
16908            meta=d.get('meta'),
16909            rate_limit=d.get('rate_limit'),
16910        )
class ManagedSecretListRequest:
16913class ManagedSecretListRequest:
16914    '''
16915         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
16916     Secrets.
16917    '''
16918    __slots__ = [
16919        'filter',
16920    ]
16921
16922    def __init__(
16923        self,
16924        filter=None,
16925    ):
16926        self.filter = filter if filter is not None else ''
16927        '''
16928         A human-readable filter query string.
16929        '''
16930
16931    def __repr__(self):
16932        return '<sdm.ManagedSecretListRequest ' + \
16933            'filter: ' + repr(self.filter) + ' ' +\
16934            '>'
16935
16936    def to_dict(self):
16937        return {
16938            'filter': self.filter,
16939        }
16940
16941    @classmethod
16942    def from_dict(cls, d):
16943        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
16922    def __init__(
16923        self,
16924        filter=None,
16925    ):
16926        self.filter = filter if filter is not None else ''
16927        '''
16928         A human-readable filter query string.
16929        '''
filter

A human-readable filter query string.

def to_dict(self)
16936    def to_dict(self):
16937        return {
16938            'filter': self.filter,
16939        }
@classmethod
def from_dict(cls, d)
16941    @classmethod
16942    def from_dict(cls, d):
16943        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
16946class ManagedSecretListResponse:
16947    '''
16948         ManagedSecretListResponse contains a list of requested Managed Secrets
16949    '''
16950    __slots__ = [
16951        'rate_limit',
16952    ]
16953
16954    def __init__(
16955        self,
16956        rate_limit=None,
16957    ):
16958        self.rate_limit = rate_limit if rate_limit is not None else None
16959        '''
16960         Rate limit information.
16961        '''
16962
16963    def __repr__(self):
16964        return '<sdm.ManagedSecretListResponse ' + \
16965            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16966            '>'
16967
16968    def to_dict(self):
16969        return {
16970            'rate_limit': self.rate_limit,
16971        }
16972
16973    @classmethod
16974    def from_dict(cls, d):
16975        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
16954    def __init__(
16955        self,
16956        rate_limit=None,
16957    ):
16958        self.rate_limit = rate_limit if rate_limit is not None else None
16959        '''
16960         Rate limit information.
16961        '''
rate_limit

Rate limit information.

def to_dict(self)
16968    def to_dict(self):
16969        return {
16970            'rate_limit': self.rate_limit,
16971        }
@classmethod
def from_dict(cls, d)
16973    @classmethod
16974    def from_dict(cls, d):
16975        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
16978class ManagedSecretLog:
16979    '''
16980         ManagedSecretLog contains details about action performed against a managed
16981     secret
16982    '''
16983    __slots__ = [
16984        'account_id',
16985        'action',
16986        'created_at',
16987        'debug',
16988        'id',
16989        'managed_secret_id',
16990        'secret_engine_id',
16991    ]
16992
16993    def __init__(
16994        self,
16995        account_id=None,
16996        action=None,
16997        created_at=None,
16998        debug=None,
16999        id=None,
17000        managed_secret_id=None,
17001        secret_engine_id=None,
17002    ):
17003        self.account_id = account_id if account_id is not None else ''
17004        '''
17005         An ID of the account the action was performed by.
17006        '''
17007        self.action = action if action is not None else ''
17008        '''
17009         The action performed by the account against the managed secret.
17010        '''
17011        self.created_at = created_at if created_at is not None else None
17012        '''
17013         Timestamp of when action was performed.
17014        '''
17015        self.debug = debug if debug is not None else ''
17016        '''
17017         Any debug logs associated with the action.
17018        '''
17019        self.id = id if id is not None else ''
17020        '''
17021         Unique identifier of the Managed Secret Log.
17022        '''
17023        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17024        '''
17025         An ID of the Managed Secret the action was performed against.
17026        '''
17027        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17028        '''
17029         An ID of the Secret Engine linked with the Managed Secret.
17030        '''
17031
17032    def __repr__(self):
17033        return '<sdm.ManagedSecretLog ' + \
17034            'account_id: ' + repr(self.account_id) + ' ' +\
17035            'action: ' + repr(self.action) + ' ' +\
17036            'created_at: ' + repr(self.created_at) + ' ' +\
17037            'debug: ' + repr(self.debug) + ' ' +\
17038            'id: ' + repr(self.id) + ' ' +\
17039            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
17040            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
17041            '>'
17042
17043    def to_dict(self):
17044        return {
17045            'account_id': self.account_id,
17046            'action': self.action,
17047            'created_at': self.created_at,
17048            'debug': self.debug,
17049            'id': self.id,
17050            'managed_secret_id': self.managed_secret_id,
17051            'secret_engine_id': self.secret_engine_id,
17052        }
17053
17054    @classmethod
17055    def from_dict(cls, d):
17056        return cls(
17057            account_id=d.get('account_id'),
17058            action=d.get('action'),
17059            created_at=d.get('created_at'),
17060            debug=d.get('debug'),
17061            id=d.get('id'),
17062            managed_secret_id=d.get('managed_secret_id'),
17063            secret_engine_id=d.get('secret_engine_id'),
17064        )

ManagedSecretLog contains details about action performed against a managed secret

ManagedSecretLog( account_id=None, action=None, created_at=None, debug=None, id=None, managed_secret_id=None, secret_engine_id=None)
16993    def __init__(
16994        self,
16995        account_id=None,
16996        action=None,
16997        created_at=None,
16998        debug=None,
16999        id=None,
17000        managed_secret_id=None,
17001        secret_engine_id=None,
17002    ):
17003        self.account_id = account_id if account_id is not None else ''
17004        '''
17005         An ID of the account the action was performed by.
17006        '''
17007        self.action = action if action is not None else ''
17008        '''
17009         The action performed by the account against the managed secret.
17010        '''
17011        self.created_at = created_at if created_at is not None else None
17012        '''
17013         Timestamp of when action was performed.
17014        '''
17015        self.debug = debug if debug is not None else ''
17016        '''
17017         Any debug logs associated with the action.
17018        '''
17019        self.id = id if id is not None else ''
17020        '''
17021         Unique identifier of the Managed Secret Log.
17022        '''
17023        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
17024        '''
17025         An ID of the Managed Secret the action was performed against.
17026        '''
17027        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
17028        '''
17029         An ID of the Secret Engine linked with the Managed Secret.
17030        '''
account_id

An ID of the account the action was performed by.

action

The action performed by the account against the managed secret.

created_at

Timestamp of when action was performed.

debug

Any debug logs associated with the action.

id

Unique identifier of the Managed Secret Log.

managed_secret_id

An ID of the Managed Secret the action was performed against.

secret_engine_id

An ID of the Secret Engine linked with the Managed Secret.

def to_dict(self)
17043    def to_dict(self):
17044        return {
17045            'account_id': self.account_id,
17046            'action': self.action,
17047            'created_at': self.created_at,
17048            'debug': self.debug,
17049            'id': self.id,
17050            'managed_secret_id': self.managed_secret_id,
17051            'secret_engine_id': self.secret_engine_id,
17052        }
@classmethod
def from_dict(cls, d)
17054    @classmethod
17055    def from_dict(cls, d):
17056        return cls(
17057            account_id=d.get('account_id'),
17058            action=d.get('action'),
17059            created_at=d.get('created_at'),
17060            debug=d.get('debug'),
17061            id=d.get('id'),
17062            managed_secret_id=d.get('managed_secret_id'),
17063            secret_engine_id=d.get('secret_engine_id'),
17064        )
class ManagedSecretLogsRequest:
17067class ManagedSecretLogsRequest:
17068    '''
17069         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
17070     Secrets actions.
17071    '''
17072    __slots__ = [
17073        'filter',
17074    ]
17075
17076    def __init__(
17077        self,
17078        filter=None,
17079    ):
17080        self.filter = filter if filter is not None else ''
17081        '''
17082         A human-readable filter query string.
17083        '''
17084
17085    def __repr__(self):
17086        return '<sdm.ManagedSecretLogsRequest ' + \
17087            'filter: ' + repr(self.filter) + ' ' +\
17088            '>'
17089
17090    def to_dict(self):
17091        return {
17092            'filter': self.filter,
17093        }
17094
17095    @classmethod
17096    def from_dict(cls, d):
17097        return cls(filter=d.get('filter'), )

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

ManagedSecretLogsRequest(filter=None)
17076    def __init__(
17077        self,
17078        filter=None,
17079    ):
17080        self.filter = filter if filter is not None else ''
17081        '''
17082         A human-readable filter query string.
17083        '''
filter

A human-readable filter query string.

def to_dict(self)
17090    def to_dict(self):
17091        return {
17092            'filter': self.filter,
17093        }
@classmethod
def from_dict(cls, d)
17095    @classmethod
17096    def from_dict(cls, d):
17097        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
17100class ManagedSecretLogsResponse:
17101    '''
17102         ManagedSecretLogsResponse contains a list of requested Managed Secrets
17103    '''
17104    __slots__ = [
17105        'rate_limit',
17106    ]
17107
17108    def __init__(
17109        self,
17110        rate_limit=None,
17111    ):
17112        self.rate_limit = rate_limit if rate_limit is not None else None
17113        '''
17114         Rate limit information.
17115        '''
17116
17117    def __repr__(self):
17118        return '<sdm.ManagedSecretLogsResponse ' + \
17119            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17120            '>'
17121
17122    def to_dict(self):
17123        return {
17124            'rate_limit': self.rate_limit,
17125        }
17126
17127    @classmethod
17128    def from_dict(cls, d):
17129        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
17108    def __init__(
17109        self,
17110        rate_limit=None,
17111    ):
17112        self.rate_limit = rate_limit if rate_limit is not None else None
17113        '''
17114         Rate limit information.
17115        '''
rate_limit

Rate limit information.

def to_dict(self)
17122    def to_dict(self):
17123        return {
17124            'rate_limit': self.rate_limit,
17125        }
@classmethod
def from_dict(cls, d)
17127    @classmethod
17128    def from_dict(cls, d):
17129        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
17132class ManagedSecretPasswordPolicy:
17133    __slots__ = [
17134        'allow_repeat',
17135        'exclude_characters',
17136        'exclude_upper_case',
17137        'length',
17138        'num_digits',
17139        'num_symbols',
17140    ]
17141
17142    def __init__(
17143        self,
17144        allow_repeat=None,
17145        exclude_characters=None,
17146        exclude_upper_case=None,
17147        length=None,
17148        num_digits=None,
17149        num_symbols=None,
17150    ):
17151        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17152        '''
17153         If set to true allows for consecutive characters to repeat itself
17154        '''
17155        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17156        '''
17157         Characters to exclude when generating password
17158        '''
17159        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17160        '''
17161         If set to true do not include upper case letters when generating password
17162        '''
17163        self.length = length if length is not None else 0
17164        '''
17165         Password length
17166        '''
17167        self.num_digits = num_digits if num_digits is not None else 0
17168        '''
17169         Numbers of digits to use when generating password
17170        '''
17171        self.num_symbols = num_symbols if num_symbols is not None else 0
17172        '''
17173         Number of symbols to use when generating password
17174        '''
17175
17176    def __repr__(self):
17177        return '<sdm.ManagedSecretPasswordPolicy ' + \
17178            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
17179            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
17180            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
17181            'length: ' + repr(self.length) + ' ' +\
17182            'num_digits: ' + repr(self.num_digits) + ' ' +\
17183            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
17184            '>'
17185
17186    def to_dict(self):
17187        return {
17188            'allow_repeat': self.allow_repeat,
17189            'exclude_characters': self.exclude_characters,
17190            'exclude_upper_case': self.exclude_upper_case,
17191            'length': self.length,
17192            'num_digits': self.num_digits,
17193            'num_symbols': self.num_symbols,
17194        }
17195
17196    @classmethod
17197    def from_dict(cls, d):
17198        return cls(
17199            allow_repeat=d.get('allow_repeat'),
17200            exclude_characters=d.get('exclude_characters'),
17201            exclude_upper_case=d.get('exclude_upper_case'),
17202            length=d.get('length'),
17203            num_digits=d.get('num_digits'),
17204            num_symbols=d.get('num_symbols'),
17205        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
17142    def __init__(
17143        self,
17144        allow_repeat=None,
17145        exclude_characters=None,
17146        exclude_upper_case=None,
17147        length=None,
17148        num_digits=None,
17149        num_symbols=None,
17150    ):
17151        self.allow_repeat = allow_repeat if allow_repeat is not None else False
17152        '''
17153         If set to true allows for consecutive characters to repeat itself
17154        '''
17155        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
17156        '''
17157         Characters to exclude when generating password
17158        '''
17159        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
17160        '''
17161         If set to true do not include upper case letters when generating password
17162        '''
17163        self.length = length if length is not None else 0
17164        '''
17165         Password length
17166        '''
17167        self.num_digits = num_digits if num_digits is not None else 0
17168        '''
17169         Numbers of digits to use when generating password
17170        '''
17171        self.num_symbols = num_symbols if num_symbols is not None else 0
17172        '''
17173         Number of symbols to use when generating password
17174        '''
allow_repeat

If set to true allows for consecutive characters to repeat itself

exclude_characters

Characters to exclude when generating password

exclude_upper_case

If set to true do not include upper case letters when generating password

length

Password length

num_digits

Numbers of digits to use when generating password

num_symbols

Number of symbols to use when generating password

def to_dict(self)
17186    def to_dict(self):
17187        return {
17188            'allow_repeat': self.allow_repeat,
17189            'exclude_characters': self.exclude_characters,
17190            'exclude_upper_case': self.exclude_upper_case,
17191            'length': self.length,
17192            'num_digits': self.num_digits,
17193            'num_symbols': self.num_symbols,
17194        }
@classmethod
def from_dict(cls, d)
17196    @classmethod
17197    def from_dict(cls, d):
17198        return cls(
17199            allow_repeat=d.get('allow_repeat'),
17200            exclude_characters=d.get('exclude_characters'),
17201            exclude_upper_case=d.get('exclude_upper_case'),
17202            length=d.get('length'),
17203            num_digits=d.get('num_digits'),
17204            num_symbols=d.get('num_symbols'),
17205        )
class ManagedSecretPolicy:
17208class ManagedSecretPolicy:
17209    '''
17210         ManagedSecretPolicy contains password and rotation policy for managed secret
17211    '''
17212    __slots__ = [
17213        'password_policy',
17214        'rotation_policy',
17215    ]
17216
17217    def __init__(
17218        self,
17219        password_policy=None,
17220        rotation_policy=None,
17221    ):
17222        self.password_policy = password_policy if password_policy is not None else None
17223        '''
17224         Password policy for a managed secret
17225        '''
17226        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17227        '''
17228         Rotation policy for a managed secret
17229        '''
17230
17231    def __repr__(self):
17232        return '<sdm.ManagedSecretPolicy ' + \
17233            'password_policy: ' + repr(self.password_policy) + ' ' +\
17234            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
17235            '>'
17236
17237    def to_dict(self):
17238        return {
17239            'password_policy': self.password_policy,
17240            'rotation_policy': self.rotation_policy,
17241        }
17242
17243    @classmethod
17244    def from_dict(cls, d):
17245        return cls(
17246            password_policy=d.get('password_policy'),
17247            rotation_policy=d.get('rotation_policy'),
17248        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
17217    def __init__(
17218        self,
17219        password_policy=None,
17220        rotation_policy=None,
17221    ):
17222        self.password_policy = password_policy if password_policy is not None else None
17223        '''
17224         Password policy for a managed secret
17225        '''
17226        self.rotation_policy = rotation_policy if rotation_policy is not None else None
17227        '''
17228         Rotation policy for a managed secret
17229        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
17237    def to_dict(self):
17238        return {
17239            'password_policy': self.password_policy,
17240            'rotation_policy': self.rotation_policy,
17241        }
@classmethod
def from_dict(cls, d)
17243    @classmethod
17244    def from_dict(cls, d):
17245        return cls(
17246            password_policy=d.get('password_policy'),
17247            rotation_policy=d.get('rotation_policy'),
17248        )
class ManagedSecretRetrieveRequest:
17251class ManagedSecretRetrieveRequest:
17252    '''
17253         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
17254    '''
17255    __slots__ = [
17256        'id',
17257        'public_key',
17258    ]
17259
17260    def __init__(
17261        self,
17262        id=None,
17263        public_key=None,
17264    ):
17265        self.id = id if id is not None else ''
17266        '''
17267         The unique identifier of the Managed Secret to retrieve.
17268        '''
17269        self.public_key = public_key if public_key is not None else b''
17270        '''
17271         Public key to encrypt a sensitive value with
17272        '''
17273
17274    def __repr__(self):
17275        return '<sdm.ManagedSecretRetrieveRequest ' + \
17276            'id: ' + repr(self.id) + ' ' +\
17277            'public_key: ' + repr(self.public_key) + ' ' +\
17278            '>'
17279
17280    def to_dict(self):
17281        return {
17282            'id': self.id,
17283            'public_key': self.public_key,
17284        }
17285
17286    @classmethod
17287    def from_dict(cls, d):
17288        return cls(
17289            id=d.get('id'),
17290            public_key=d.get('public_key'),
17291        )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None, public_key=None)
17260    def __init__(
17261        self,
17262        id=None,
17263        public_key=None,
17264    ):
17265        self.id = id if id is not None else ''
17266        '''
17267         The unique identifier of the Managed Secret to retrieve.
17268        '''
17269        self.public_key = public_key if public_key is not None else b''
17270        '''
17271         Public key to encrypt a sensitive value with
17272        '''
id

The unique identifier of the Managed Secret to retrieve.

public_key

Public key to encrypt a sensitive value with

def to_dict(self)
17280    def to_dict(self):
17281        return {
17282            'id': self.id,
17283            'public_key': self.public_key,
17284        }
@classmethod
def from_dict(cls, d)
17286    @classmethod
17287    def from_dict(cls, d):
17288        return cls(
17289            id=d.get('id'),
17290            public_key=d.get('public_key'),
17291        )
class ManagedSecretRetrieveResponse:
17294class ManagedSecretRetrieveResponse:
17295    '''
17296         ManagedSecretRetrieveResponse contains information about requested Managed
17297     Secret
17298    '''
17299    __slots__ = [
17300        'managed_secret',
17301        'meta',
17302        'rate_limit',
17303    ]
17304
17305    def __init__(
17306        self,
17307        managed_secret=None,
17308        meta=None,
17309        rate_limit=None,
17310    ):
17311        self.managed_secret = managed_secret if managed_secret is not None else None
17312        '''
17313         The requested Managed Secret.
17314        '''
17315        self.meta = meta if meta is not None else None
17316        '''
17317         Reserved for future use.
17318        '''
17319        self.rate_limit = rate_limit if rate_limit is not None else None
17320        '''
17321         Rate limit information.
17322        '''
17323
17324    def __repr__(self):
17325        return '<sdm.ManagedSecretRetrieveResponse ' + \
17326            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17327            'meta: ' + repr(self.meta) + ' ' +\
17328            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17329            '>'
17330
17331    def to_dict(self):
17332        return {
17333            'managed_secret': self.managed_secret,
17334            'meta': self.meta,
17335            'rate_limit': self.rate_limit,
17336        }
17337
17338    @classmethod
17339    def from_dict(cls, d):
17340        return cls(
17341            managed_secret=d.get('managed_secret'),
17342            meta=d.get('meta'),
17343            rate_limit=d.get('rate_limit'),
17344        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
17305    def __init__(
17306        self,
17307        managed_secret=None,
17308        meta=None,
17309        rate_limit=None,
17310    ):
17311        self.managed_secret = managed_secret if managed_secret is not None else None
17312        '''
17313         The requested Managed Secret.
17314        '''
17315        self.meta = meta if meta is not None else None
17316        '''
17317         Reserved for future use.
17318        '''
17319        self.rate_limit = rate_limit if rate_limit is not None else None
17320        '''
17321         Rate limit information.
17322        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17331    def to_dict(self):
17332        return {
17333            'managed_secret': self.managed_secret,
17334            'meta': self.meta,
17335            'rate_limit': self.rate_limit,
17336        }
@classmethod
def from_dict(cls, d)
17338    @classmethod
17339    def from_dict(cls, d):
17340        return cls(
17341            managed_secret=d.get('managed_secret'),
17342            meta=d.get('meta'),
17343            rate_limit=d.get('rate_limit'),
17344        )
class ManagedSecretRotateRequest:
17347class ManagedSecretRotateRequest:
17348    '''
17349         ManagedSecretRotateRequest specifies Managed Secret to rotate
17350    '''
17351    __slots__ = [
17352        'id',
17353    ]
17354
17355    def __init__(
17356        self,
17357        id=None,
17358    ):
17359        self.id = id if id is not None else ''
17360        '''
17361         The unique identifier of the Managed Secret to rotate.
17362        '''
17363
17364    def __repr__(self):
17365        return '<sdm.ManagedSecretRotateRequest ' + \
17366            'id: ' + repr(self.id) + ' ' +\
17367            '>'
17368
17369    def to_dict(self):
17370        return {
17371            'id': self.id,
17372        }
17373
17374    @classmethod
17375    def from_dict(cls, d):
17376        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
17355    def __init__(
17356        self,
17357        id=None,
17358    ):
17359        self.id = id if id is not None else ''
17360        '''
17361         The unique identifier of the Managed Secret to rotate.
17362        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
17369    def to_dict(self):
17370        return {
17371            'id': self.id,
17372        }
@classmethod
def from_dict(cls, d)
17374    @classmethod
17375    def from_dict(cls, d):
17376        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
17379class ManagedSecretRotateResponse:
17380    '''
17381         ManagedSecretRotateResponse contains information about Secret Engine after
17382     successful rotation.
17383    '''
17384    __slots__ = [
17385        'meta',
17386        'rate_limit',
17387    ]
17388
17389    def __init__(
17390        self,
17391        meta=None,
17392        rate_limit=None,
17393    ):
17394        self.meta = meta if meta is not None else None
17395        '''
17396         Reserved for future use.
17397        '''
17398        self.rate_limit = rate_limit if rate_limit is not None else None
17399        '''
17400         Rate limit information.
17401        '''
17402
17403    def __repr__(self):
17404        return '<sdm.ManagedSecretRotateResponse ' + \
17405            'meta: ' + repr(self.meta) + ' ' +\
17406            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17407            '>'
17408
17409    def to_dict(self):
17410        return {
17411            'meta': self.meta,
17412            'rate_limit': self.rate_limit,
17413        }
17414
17415    @classmethod
17416    def from_dict(cls, d):
17417        return cls(
17418            meta=d.get('meta'),
17419            rate_limit=d.get('rate_limit'),
17420        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
17389    def __init__(
17390        self,
17391        meta=None,
17392        rate_limit=None,
17393    ):
17394        self.meta = meta if meta is not None else None
17395        '''
17396         Reserved for future use.
17397        '''
17398        self.rate_limit = rate_limit if rate_limit is not None else None
17399        '''
17400         Rate limit information.
17401        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17409    def to_dict(self):
17410        return {
17411            'meta': self.meta,
17412            'rate_limit': self.rate_limit,
17413        }
@classmethod
def from_dict(cls, d)
17415    @classmethod
17416    def from_dict(cls, d):
17417        return cls(
17418            meta=d.get('meta'),
17419            rate_limit=d.get('rate_limit'),
17420        )
class ManagedSecretRotationPolicy:
17423class ManagedSecretRotationPolicy:
17424    __slots__ = []
17425
17426    def __init__(self, ):
17427        pass
17428
17429    def __repr__(self):
17430        return '<sdm.ManagedSecretRotationPolicy ' + \
17431            '>'
17432
17433    def to_dict(self):
17434        return {}
17435
17436    @classmethod
17437    def from_dict(cls, d):
17438        return cls()
ManagedSecretRotationPolicy()
17426    def __init__(self, ):
17427        pass
def to_dict(self)
17433    def to_dict(self):
17434        return {}
@classmethod
def from_dict(cls, d)
17436    @classmethod
17437    def from_dict(cls, d):
17438        return cls()
class ManagedSecretUpdateRequest:
17441class ManagedSecretUpdateRequest:
17442    '''
17443         ManagedSecretUpdateRequest specifies Managed Secret to update
17444    '''
17445    __slots__ = [
17446        'managed_secret',
17447    ]
17448
17449    def __init__(
17450        self,
17451        managed_secret=None,
17452    ):
17453        self.managed_secret = managed_secret if managed_secret is not None else None
17454        '''
17455         Managed Secret to update
17456        '''
17457
17458    def __repr__(self):
17459        return '<sdm.ManagedSecretUpdateRequest ' + \
17460            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17461            '>'
17462
17463    def to_dict(self):
17464        return {
17465            'managed_secret': self.managed_secret,
17466        }
17467
17468    @classmethod
17469    def from_dict(cls, d):
17470        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
17449    def __init__(
17450        self,
17451        managed_secret=None,
17452    ):
17453        self.managed_secret = managed_secret if managed_secret is not None else None
17454        '''
17455         Managed Secret to update
17456        '''
managed_secret

Managed Secret to update

def to_dict(self)
17463    def to_dict(self):
17464        return {
17465            'managed_secret': self.managed_secret,
17466        }
@classmethod
def from_dict(cls, d)
17468    @classmethod
17469    def from_dict(cls, d):
17470        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
17473class ManagedSecretUpdateResponse:
17474    '''
17475         ManagedSecretUpdateResponse contains information about Secret Engine after
17476     successful update.
17477    '''
17478    __slots__ = [
17479        'managed_secret',
17480        'meta',
17481        'rate_limit',
17482    ]
17483
17484    def __init__(
17485        self,
17486        managed_secret=None,
17487        meta=None,
17488        rate_limit=None,
17489    ):
17490        self.managed_secret = managed_secret if managed_secret is not None else None
17491        '''
17492         The requested Managed Secret.
17493        '''
17494        self.meta = meta if meta is not None else None
17495        '''
17496         Reserved for future use.
17497        '''
17498        self.rate_limit = rate_limit if rate_limit is not None else None
17499        '''
17500         Rate limit information.
17501        '''
17502
17503    def __repr__(self):
17504        return '<sdm.ManagedSecretUpdateResponse ' + \
17505            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
17506            'meta: ' + repr(self.meta) + ' ' +\
17507            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17508            '>'
17509
17510    def to_dict(self):
17511        return {
17512            'managed_secret': self.managed_secret,
17513            'meta': self.meta,
17514            'rate_limit': self.rate_limit,
17515        }
17516
17517    @classmethod
17518    def from_dict(cls, d):
17519        return cls(
17520            managed_secret=d.get('managed_secret'),
17521            meta=d.get('meta'),
17522            rate_limit=d.get('rate_limit'),
17523        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
17484    def __init__(
17485        self,
17486        managed_secret=None,
17487        meta=None,
17488        rate_limit=None,
17489    ):
17490        self.managed_secret = managed_secret if managed_secret is not None else None
17491        '''
17492         The requested Managed Secret.
17493        '''
17494        self.meta = meta if meta is not None else None
17495        '''
17496         Reserved for future use.
17497        '''
17498        self.rate_limit = rate_limit if rate_limit is not None else None
17499        '''
17500         Rate limit information.
17501        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
17510    def to_dict(self):
17511        return {
17512            'managed_secret': self.managed_secret,
17513            'meta': self.meta,
17514            'rate_limit': self.rate_limit,
17515        }
@classmethod
def from_dict(cls, d)
17517    @classmethod
17518    def from_dict(cls, d):
17519        return cls(
17520            managed_secret=d.get('managed_secret'),
17521            meta=d.get('meta'),
17522            rate_limit=d.get('rate_limit'),
17523        )
class ManagedSecretValidateRequest:
17526class ManagedSecretValidateRequest:
17527    '''
17528         ManagedSecretValidateRequest specifies which Managed Secret to validate
17529    '''
17530    __slots__ = [
17531        'id',
17532    ]
17533
17534    def __init__(
17535        self,
17536        id=None,
17537    ):
17538        self.id = id if id is not None else ''
17539        '''
17540         The unique identifier of the Managed Secret to validate.
17541        '''
17542
17543    def __repr__(self):
17544        return '<sdm.ManagedSecretValidateRequest ' + \
17545            'id: ' + repr(self.id) + ' ' +\
17546            '>'
17547
17548    def to_dict(self):
17549        return {
17550            'id': self.id,
17551        }
17552
17553    @classmethod
17554    def from_dict(cls, d):
17555        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
17534    def __init__(
17535        self,
17536        id=None,
17537    ):
17538        self.id = id if id is not None else ''
17539        '''
17540         The unique identifier of the Managed Secret to validate.
17541        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
17548    def to_dict(self):
17549        return {
17550            'id': self.id,
17551        }
@classmethod
def from_dict(cls, d)
17553    @classmethod
17554    def from_dict(cls, d):
17555        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
17558class ManagedSecretValidateResponse:
17559    '''
17560         ManagedSecretValidateResponse contains validity of requested Managed
17561     Secret
17562    '''
17563    __slots__ = [
17564        'invalid_info',
17565        'meta',
17566        'rate_limit',
17567        'valid',
17568    ]
17569
17570    def __init__(
17571        self,
17572        invalid_info=None,
17573        meta=None,
17574        rate_limit=None,
17575        valid=None,
17576    ):
17577        self.invalid_info = invalid_info if invalid_info is not None else ''
17578        '''
17579         Information about why secret is invalid
17580        '''
17581        self.meta = meta if meta is not None else None
17582        '''
17583         Reserved for future use.
17584        '''
17585        self.rate_limit = rate_limit if rate_limit is not None else None
17586        '''
17587         Rate limit information.
17588        '''
17589        self.valid = valid if valid is not None else False
17590        '''
17591         Whether the secret is valid
17592        '''
17593
17594    def __repr__(self):
17595        return '<sdm.ManagedSecretValidateResponse ' + \
17596            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
17597            'meta: ' + repr(self.meta) + ' ' +\
17598            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
17599            'valid: ' + repr(self.valid) + ' ' +\
17600            '>'
17601
17602    def to_dict(self):
17603        return {
17604            'invalid_info': self.invalid_info,
17605            'meta': self.meta,
17606            'rate_limit': self.rate_limit,
17607            'valid': self.valid,
17608        }
17609
17610    @classmethod
17611    def from_dict(cls, d):
17612        return cls(
17613            invalid_info=d.get('invalid_info'),
17614            meta=d.get('meta'),
17615            rate_limit=d.get('rate_limit'),
17616            valid=d.get('valid'),
17617        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
17570    def __init__(
17571        self,
17572        invalid_info=None,
17573        meta=None,
17574        rate_limit=None,
17575        valid=None,
17576    ):
17577        self.invalid_info = invalid_info if invalid_info is not None else ''
17578        '''
17579         Information about why secret is invalid
17580        '''
17581        self.meta = meta if meta is not None else None
17582        '''
17583         Reserved for future use.
17584        '''
17585        self.rate_limit = rate_limit if rate_limit is not None else None
17586        '''
17587         Rate limit information.
17588        '''
17589        self.valid = valid if valid is not None else False
17590        '''
17591         Whether the secret is valid
17592        '''
invalid_info

Information about why secret is invalid

meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Whether the secret is valid

def to_dict(self)
17602    def to_dict(self):
17603        return {
17604            'invalid_info': self.invalid_info,
17605            'meta': self.meta,
17606            'rate_limit': self.rate_limit,
17607            'valid': self.valid,
17608        }
@classmethod
def from_dict(cls, d)
17610    @classmethod
17611    def from_dict(cls, d):
17612        return cls(
17613            invalid_info=d.get('invalid_info'),
17614            meta=d.get('meta'),
17615            rate_limit=d.get('rate_limit'),
17616            valid=d.get('valid'),
17617        )
class Maria:
17620class Maria:
17621    __slots__ = [
17622        'bind_interface',
17623        'database',
17624        'egress_filter',
17625        'healthy',
17626        'hostname',
17627        'id',
17628        'name',
17629        'password',
17630        'port',
17631        'port_override',
17632        'proxy_cluster_id',
17633        'require_native_auth',
17634        'secret_store_id',
17635        'subdomain',
17636        'tags',
17637        'use_azure_single_server_usernames',
17638        'username',
17639    ]
17640
17641    def __init__(
17642        self,
17643        bind_interface=None,
17644        database=None,
17645        egress_filter=None,
17646        healthy=None,
17647        hostname=None,
17648        id=None,
17649        name=None,
17650        password=None,
17651        port=None,
17652        port_override=None,
17653        proxy_cluster_id=None,
17654        require_native_auth=None,
17655        secret_store_id=None,
17656        subdomain=None,
17657        tags=None,
17658        use_azure_single_server_usernames=None,
17659        username=None,
17660    ):
17661        self.bind_interface = bind_interface if bind_interface is not None else ''
17662        '''
17663         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17664        '''
17665        self.database = database if database is not None else ''
17666        '''
17667         The database for healthchecks. Does not affect client requests.
17668        '''
17669        self.egress_filter = egress_filter if egress_filter is not None else ''
17670        '''
17671         A filter applied to the routing logic to pin datasource to nodes.
17672        '''
17673        self.healthy = healthy if healthy is not None else False
17674        '''
17675         True if the datasource is reachable and the credentials are valid.
17676        '''
17677        self.hostname = hostname if hostname is not None else ''
17678        '''
17679         The host to dial to initiate a connection from the egress node to this resource.
17680        '''
17681        self.id = id if id is not None else ''
17682        '''
17683         Unique identifier of the Resource.
17684        '''
17685        self.name = name if name is not None else ''
17686        '''
17687         Unique human-readable name of the Resource.
17688        '''
17689        self.password = password if password is not None else ''
17690        '''
17691         The password to authenticate with.
17692        '''
17693        self.port = port if port is not None else 0
17694        '''
17695         The port to dial to initiate a connection from the egress node to this resource.
17696        '''
17697        self.port_override = port_override if port_override is not None else 0
17698        '''
17699         The local port used by clients to connect to this resource.
17700        '''
17701        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17702        '''
17703         ID of the proxy cluster for this resource, if any.
17704        '''
17705        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17706        '''
17707         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17708        '''
17709        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17710        '''
17711         ID of the secret store containing credentials for this resource, if any.
17712        '''
17713        self.subdomain = subdomain if subdomain is not None else ''
17714        '''
17715         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17716        '''
17717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17718        '''
17719         Tags is a map of key, value pairs.
17720        '''
17721        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17722        '''
17723         If true, appends the hostname to the username when hitting a database.azure.com address
17724        '''
17725        self.username = username if username is not None else ''
17726        '''
17727         The username to authenticate with.
17728        '''
17729
17730    def __repr__(self):
17731        return '<sdm.Maria ' + \
17732            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17733            'database: ' + repr(self.database) + ' ' +\
17734            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17735            'healthy: ' + repr(self.healthy) + ' ' +\
17736            'hostname: ' + repr(self.hostname) + ' ' +\
17737            'id: ' + repr(self.id) + ' ' +\
17738            'name: ' + repr(self.name) + ' ' +\
17739            'password: ' + repr(self.password) + ' ' +\
17740            'port: ' + repr(self.port) + ' ' +\
17741            'port_override: ' + repr(self.port_override) + ' ' +\
17742            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17743            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
17744            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17745            'subdomain: ' + repr(self.subdomain) + ' ' +\
17746            'tags: ' + repr(self.tags) + ' ' +\
17747            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
17748            'username: ' + repr(self.username) + ' ' +\
17749            '>'
17750
17751    def to_dict(self):
17752        return {
17753            'bind_interface': self.bind_interface,
17754            'database': self.database,
17755            'egress_filter': self.egress_filter,
17756            'healthy': self.healthy,
17757            'hostname': self.hostname,
17758            'id': self.id,
17759            'name': self.name,
17760            'password': self.password,
17761            'port': self.port,
17762            'port_override': self.port_override,
17763            'proxy_cluster_id': self.proxy_cluster_id,
17764            'require_native_auth': self.require_native_auth,
17765            'secret_store_id': self.secret_store_id,
17766            'subdomain': self.subdomain,
17767            'tags': self.tags,
17768            'use_azure_single_server_usernames':
17769            self.use_azure_single_server_usernames,
17770            'username': self.username,
17771        }
17772
17773    @classmethod
17774    def from_dict(cls, d):
17775        return cls(
17776            bind_interface=d.get('bind_interface'),
17777            database=d.get('database'),
17778            egress_filter=d.get('egress_filter'),
17779            healthy=d.get('healthy'),
17780            hostname=d.get('hostname'),
17781            id=d.get('id'),
17782            name=d.get('name'),
17783            password=d.get('password'),
17784            port=d.get('port'),
17785            port_override=d.get('port_override'),
17786            proxy_cluster_id=d.get('proxy_cluster_id'),
17787            require_native_auth=d.get('require_native_auth'),
17788            secret_store_id=d.get('secret_store_id'),
17789            subdomain=d.get('subdomain'),
17790            tags=d.get('tags'),
17791            use_azure_single_server_usernames=d.get(
17792                'use_azure_single_server_usernames'),
17793            username=d.get('username'),
17794        )
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)
17641    def __init__(
17642        self,
17643        bind_interface=None,
17644        database=None,
17645        egress_filter=None,
17646        healthy=None,
17647        hostname=None,
17648        id=None,
17649        name=None,
17650        password=None,
17651        port=None,
17652        port_override=None,
17653        proxy_cluster_id=None,
17654        require_native_auth=None,
17655        secret_store_id=None,
17656        subdomain=None,
17657        tags=None,
17658        use_azure_single_server_usernames=None,
17659        username=None,
17660    ):
17661        self.bind_interface = bind_interface if bind_interface is not None else ''
17662        '''
17663         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17664        '''
17665        self.database = database if database is not None else ''
17666        '''
17667         The database for healthchecks. Does not affect client requests.
17668        '''
17669        self.egress_filter = egress_filter if egress_filter is not None else ''
17670        '''
17671         A filter applied to the routing logic to pin datasource to nodes.
17672        '''
17673        self.healthy = healthy if healthy is not None else False
17674        '''
17675         True if the datasource is reachable and the credentials are valid.
17676        '''
17677        self.hostname = hostname if hostname is not None else ''
17678        '''
17679         The host to dial to initiate a connection from the egress node to this resource.
17680        '''
17681        self.id = id if id is not None else ''
17682        '''
17683         Unique identifier of the Resource.
17684        '''
17685        self.name = name if name is not None else ''
17686        '''
17687         Unique human-readable name of the Resource.
17688        '''
17689        self.password = password if password is not None else ''
17690        '''
17691         The password to authenticate with.
17692        '''
17693        self.port = port if port is not None else 0
17694        '''
17695         The port to dial to initiate a connection from the egress node to this resource.
17696        '''
17697        self.port_override = port_override if port_override is not None else 0
17698        '''
17699         The local port used by clients to connect to this resource.
17700        '''
17701        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17702        '''
17703         ID of the proxy cluster for this resource, if any.
17704        '''
17705        self.require_native_auth = require_native_auth if require_native_auth is not None else False
17706        '''
17707         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
17708        '''
17709        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17710        '''
17711         ID of the secret store containing credentials for this resource, if any.
17712        '''
17713        self.subdomain = subdomain if subdomain is not None else ''
17714        '''
17715         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17716        '''
17717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17718        '''
17719         Tags is a map of key, value pairs.
17720        '''
17721        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
17722        '''
17723         If true, appends the hostname to the username when hitting a database.azure.com address
17724        '''
17725        self.username = username if username is not None else ''
17726        '''
17727         The username to authenticate with.
17728        '''
bind_interface

The bind interface is the IP 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)
17751    def to_dict(self):
17752        return {
17753            'bind_interface': self.bind_interface,
17754            'database': self.database,
17755            'egress_filter': self.egress_filter,
17756            'healthy': self.healthy,
17757            'hostname': self.hostname,
17758            'id': self.id,
17759            'name': self.name,
17760            'password': self.password,
17761            'port': self.port,
17762            'port_override': self.port_override,
17763            'proxy_cluster_id': self.proxy_cluster_id,
17764            'require_native_auth': self.require_native_auth,
17765            'secret_store_id': self.secret_store_id,
17766            'subdomain': self.subdomain,
17767            'tags': self.tags,
17768            'use_azure_single_server_usernames':
17769            self.use_azure_single_server_usernames,
17770            'username': self.username,
17771        }
@classmethod
def from_dict(cls, d)
17773    @classmethod
17774    def from_dict(cls, d):
17775        return cls(
17776            bind_interface=d.get('bind_interface'),
17777            database=d.get('database'),
17778            egress_filter=d.get('egress_filter'),
17779            healthy=d.get('healthy'),
17780            hostname=d.get('hostname'),
17781            id=d.get('id'),
17782            name=d.get('name'),
17783            password=d.get('password'),
17784            port=d.get('port'),
17785            port_override=d.get('port_override'),
17786            proxy_cluster_id=d.get('proxy_cluster_id'),
17787            require_native_auth=d.get('require_native_auth'),
17788            secret_store_id=d.get('secret_store_id'),
17789            subdomain=d.get('subdomain'),
17790            tags=d.get('tags'),
17791            use_azure_single_server_usernames=d.get(
17792                'use_azure_single_server_usernames'),
17793            username=d.get('username'),
17794        )
class Memcached:
17797class Memcached:
17798    __slots__ = [
17799        'bind_interface',
17800        'egress_filter',
17801        'healthy',
17802        'hostname',
17803        'id',
17804        'name',
17805        'port',
17806        'port_override',
17807        'proxy_cluster_id',
17808        'secret_store_id',
17809        'subdomain',
17810        'tags',
17811    ]
17812
17813    def __init__(
17814        self,
17815        bind_interface=None,
17816        egress_filter=None,
17817        healthy=None,
17818        hostname=None,
17819        id=None,
17820        name=None,
17821        port=None,
17822        port_override=None,
17823        proxy_cluster_id=None,
17824        secret_store_id=None,
17825        subdomain=None,
17826        tags=None,
17827    ):
17828        self.bind_interface = bind_interface if bind_interface is not None else ''
17829        '''
17830         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17831        '''
17832        self.egress_filter = egress_filter if egress_filter is not None else ''
17833        '''
17834         A filter applied to the routing logic to pin datasource to nodes.
17835        '''
17836        self.healthy = healthy if healthy is not None else False
17837        '''
17838         True if the datasource is reachable and the credentials are valid.
17839        '''
17840        self.hostname = hostname if hostname is not None else ''
17841        '''
17842         The host to dial to initiate a connection from the egress node to this resource.
17843        '''
17844        self.id = id if id is not None else ''
17845        '''
17846         Unique identifier of the Resource.
17847        '''
17848        self.name = name if name is not None else ''
17849        '''
17850         Unique human-readable name of the Resource.
17851        '''
17852        self.port = port if port is not None else 0
17853        '''
17854         The port to dial to initiate a connection from the egress node to this resource.
17855        '''
17856        self.port_override = port_override if port_override is not None else 0
17857        '''
17858         The local port used by clients to connect to this resource.
17859        '''
17860        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17861        '''
17862         ID of the proxy cluster for this resource, if any.
17863        '''
17864        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17865        '''
17866         ID of the secret store containing credentials for this resource, if any.
17867        '''
17868        self.subdomain = subdomain if subdomain is not None else ''
17869        '''
17870         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17871        '''
17872        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17873        '''
17874         Tags is a map of key, value pairs.
17875        '''
17876
17877    def __repr__(self):
17878        return '<sdm.Memcached ' + \
17879            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17880            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17881            'healthy: ' + repr(self.healthy) + ' ' +\
17882            'hostname: ' + repr(self.hostname) + ' ' +\
17883            'id: ' + repr(self.id) + ' ' +\
17884            'name: ' + repr(self.name) + ' ' +\
17885            'port: ' + repr(self.port) + ' ' +\
17886            'port_override: ' + repr(self.port_override) + ' ' +\
17887            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17888            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17889            'subdomain: ' + repr(self.subdomain) + ' ' +\
17890            'tags: ' + repr(self.tags) + ' ' +\
17891            '>'
17892
17893    def to_dict(self):
17894        return {
17895            'bind_interface': self.bind_interface,
17896            'egress_filter': self.egress_filter,
17897            'healthy': self.healthy,
17898            'hostname': self.hostname,
17899            'id': self.id,
17900            'name': self.name,
17901            'port': self.port,
17902            'port_override': self.port_override,
17903            'proxy_cluster_id': self.proxy_cluster_id,
17904            'secret_store_id': self.secret_store_id,
17905            'subdomain': self.subdomain,
17906            'tags': self.tags,
17907        }
17908
17909    @classmethod
17910    def from_dict(cls, d):
17911        return cls(
17912            bind_interface=d.get('bind_interface'),
17913            egress_filter=d.get('egress_filter'),
17914            healthy=d.get('healthy'),
17915            hostname=d.get('hostname'),
17916            id=d.get('id'),
17917            name=d.get('name'),
17918            port=d.get('port'),
17919            port_override=d.get('port_override'),
17920            proxy_cluster_id=d.get('proxy_cluster_id'),
17921            secret_store_id=d.get('secret_store_id'),
17922            subdomain=d.get('subdomain'),
17923            tags=d.get('tags'),
17924        )
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)
17813    def __init__(
17814        self,
17815        bind_interface=None,
17816        egress_filter=None,
17817        healthy=None,
17818        hostname=None,
17819        id=None,
17820        name=None,
17821        port=None,
17822        port_override=None,
17823        proxy_cluster_id=None,
17824        secret_store_id=None,
17825        subdomain=None,
17826        tags=None,
17827    ):
17828        self.bind_interface = bind_interface if bind_interface is not None else ''
17829        '''
17830         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
17831        '''
17832        self.egress_filter = egress_filter if egress_filter is not None else ''
17833        '''
17834         A filter applied to the routing logic to pin datasource to nodes.
17835        '''
17836        self.healthy = healthy if healthy is not None else False
17837        '''
17838         True if the datasource is reachable and the credentials are valid.
17839        '''
17840        self.hostname = hostname if hostname is not None else ''
17841        '''
17842         The host to dial to initiate a connection from the egress node to this resource.
17843        '''
17844        self.id = id if id is not None else ''
17845        '''
17846         Unique identifier of the Resource.
17847        '''
17848        self.name = name if name is not None else ''
17849        '''
17850         Unique human-readable name of the Resource.
17851        '''
17852        self.port = port if port is not None else 0
17853        '''
17854         The port to dial to initiate a connection from the egress node to this resource.
17855        '''
17856        self.port_override = port_override if port_override is not None else 0
17857        '''
17858         The local port used by clients to connect to this resource.
17859        '''
17860        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17861        '''
17862         ID of the proxy cluster for this resource, if any.
17863        '''
17864        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17865        '''
17866         ID of the secret store containing credentials for this resource, if any.
17867        '''
17868        self.subdomain = subdomain if subdomain is not None else ''
17869        '''
17870         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
17871        '''
17872        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17873        '''
17874         Tags is a map of key, value pairs.
17875        '''
bind_interface

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

The bind interface is the IP 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)
18058    def to_dict(self):
18059        return {
18060            'bind_interface': self.bind_interface,
18061            'database': self.database,
18062            'egress_filter': self.egress_filter,
18063            'healthy': self.healthy,
18064            'hostname': self.hostname,
18065            'id': self.id,
18066            'name': self.name,
18067            'password': self.password,
18068            'port': self.port,
18069            'port_override': self.port_override,
18070            'proxy_cluster_id': self.proxy_cluster_id,
18071            'require_native_auth': self.require_native_auth,
18072            'secret_store_id': self.secret_store_id,
18073            'subdomain': self.subdomain,
18074            'tags': self.tags,
18075            'use_azure_single_server_usernames':
18076            self.use_azure_single_server_usernames,
18077            'username': self.username,
18078        }
@classmethod
def from_dict(cls, d)
18080    @classmethod
18081    def from_dict(cls, d):
18082        return cls(
18083            bind_interface=d.get('bind_interface'),
18084            database=d.get('database'),
18085            egress_filter=d.get('egress_filter'),
18086            healthy=d.get('healthy'),
18087            hostname=d.get('hostname'),
18088            id=d.get('id'),
18089            name=d.get('name'),
18090            password=d.get('password'),
18091            port=d.get('port'),
18092            port_override=d.get('port_override'),
18093            proxy_cluster_id=d.get('proxy_cluster_id'),
18094            require_native_auth=d.get('require_native_auth'),
18095            secret_store_id=d.get('secret_store_id'),
18096            subdomain=d.get('subdomain'),
18097            tags=d.get('tags'),
18098            use_azure_single_server_usernames=d.get(
18099                'use_azure_single_server_usernames'),
18100            username=d.get('username'),
18101        )
class MongoHost:
18104class MongoHost:
18105    __slots__ = [
18106        'auth_database',
18107        'bind_interface',
18108        'egress_filter',
18109        'healthy',
18110        'hostname',
18111        'id',
18112        'name',
18113        'password',
18114        'port',
18115        'port_override',
18116        'proxy_cluster_id',
18117        'secret_store_id',
18118        'subdomain',
18119        'tags',
18120        'tls_required',
18121        'username',
18122    ]
18123
18124    def __init__(
18125        self,
18126        auth_database=None,
18127        bind_interface=None,
18128        egress_filter=None,
18129        healthy=None,
18130        hostname=None,
18131        id=None,
18132        name=None,
18133        password=None,
18134        port=None,
18135        port_override=None,
18136        proxy_cluster_id=None,
18137        secret_store_id=None,
18138        subdomain=None,
18139        tags=None,
18140        tls_required=None,
18141        username=None,
18142    ):
18143        self.auth_database = auth_database if auth_database is not None else ''
18144        '''
18145         The authentication database to use.
18146        '''
18147        self.bind_interface = bind_interface if bind_interface is not None else ''
18148        '''
18149         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18150        '''
18151        self.egress_filter = egress_filter if egress_filter is not None else ''
18152        '''
18153         A filter applied to the routing logic to pin datasource to nodes.
18154        '''
18155        self.healthy = healthy if healthy is not None else False
18156        '''
18157         True if the datasource is reachable and the credentials are valid.
18158        '''
18159        self.hostname = hostname if hostname is not None else ''
18160        '''
18161         The host to dial to initiate a connection from the egress node to this resource.
18162        '''
18163        self.id = id if id is not None else ''
18164        '''
18165         Unique identifier of the Resource.
18166        '''
18167        self.name = name if name is not None else ''
18168        '''
18169         Unique human-readable name of the Resource.
18170        '''
18171        self.password = password if password is not None else ''
18172        '''
18173         The password to authenticate with.
18174        '''
18175        self.port = port if port is not None else 0
18176        '''
18177         The port to dial to initiate a connection from the egress node to this resource.
18178        '''
18179        self.port_override = port_override if port_override is not None else 0
18180        '''
18181         The local port used by clients to connect to this resource.
18182        '''
18183        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18184        '''
18185         ID of the proxy cluster for this resource, if any.
18186        '''
18187        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18188        '''
18189         ID of the secret store containing credentials for this resource, if any.
18190        '''
18191        self.subdomain = subdomain if subdomain is not None else ''
18192        '''
18193         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18194        '''
18195        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18196        '''
18197         Tags is a map of key, value pairs.
18198        '''
18199        self.tls_required = tls_required if tls_required is not None else False
18200        '''
18201         If set, TLS must be used to connect to this resource.
18202        '''
18203        self.username = username if username is not None else ''
18204        '''
18205         The username to authenticate with.
18206        '''
18207
18208    def __repr__(self):
18209        return '<sdm.MongoHost ' + \
18210            'auth_database: ' + repr(self.auth_database) + ' ' +\
18211            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18212            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18213            'healthy: ' + repr(self.healthy) + ' ' +\
18214            'hostname: ' + repr(self.hostname) + ' ' +\
18215            'id: ' + repr(self.id) + ' ' +\
18216            'name: ' + repr(self.name) + ' ' +\
18217            'password: ' + repr(self.password) + ' ' +\
18218            'port: ' + repr(self.port) + ' ' +\
18219            'port_override: ' + repr(self.port_override) + ' ' +\
18220            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18221            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18222            'subdomain: ' + repr(self.subdomain) + ' ' +\
18223            'tags: ' + repr(self.tags) + ' ' +\
18224            'tls_required: ' + repr(self.tls_required) + ' ' +\
18225            'username: ' + repr(self.username) + ' ' +\
18226            '>'
18227
18228    def to_dict(self):
18229        return {
18230            'auth_database': self.auth_database,
18231            'bind_interface': self.bind_interface,
18232            'egress_filter': self.egress_filter,
18233            'healthy': self.healthy,
18234            'hostname': self.hostname,
18235            'id': self.id,
18236            'name': self.name,
18237            'password': self.password,
18238            'port': self.port,
18239            'port_override': self.port_override,
18240            'proxy_cluster_id': self.proxy_cluster_id,
18241            'secret_store_id': self.secret_store_id,
18242            'subdomain': self.subdomain,
18243            'tags': self.tags,
18244            'tls_required': self.tls_required,
18245            'username': self.username,
18246        }
18247
18248    @classmethod
18249    def from_dict(cls, d):
18250        return cls(
18251            auth_database=d.get('auth_database'),
18252            bind_interface=d.get('bind_interface'),
18253            egress_filter=d.get('egress_filter'),
18254            healthy=d.get('healthy'),
18255            hostname=d.get('hostname'),
18256            id=d.get('id'),
18257            name=d.get('name'),
18258            password=d.get('password'),
18259            port=d.get('port'),
18260            port_override=d.get('port_override'),
18261            proxy_cluster_id=d.get('proxy_cluster_id'),
18262            secret_store_id=d.get('secret_store_id'),
18263            subdomain=d.get('subdomain'),
18264            tags=d.get('tags'),
18265            tls_required=d.get('tls_required'),
18266            username=d.get('username'),
18267        )
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)
18124    def __init__(
18125        self,
18126        auth_database=None,
18127        bind_interface=None,
18128        egress_filter=None,
18129        healthy=None,
18130        hostname=None,
18131        id=None,
18132        name=None,
18133        password=None,
18134        port=None,
18135        port_override=None,
18136        proxy_cluster_id=None,
18137        secret_store_id=None,
18138        subdomain=None,
18139        tags=None,
18140        tls_required=None,
18141        username=None,
18142    ):
18143        self.auth_database = auth_database if auth_database is not None else ''
18144        '''
18145         The authentication database to use.
18146        '''
18147        self.bind_interface = bind_interface if bind_interface is not None else ''
18148        '''
18149         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18150        '''
18151        self.egress_filter = egress_filter if egress_filter is not None else ''
18152        '''
18153         A filter applied to the routing logic to pin datasource to nodes.
18154        '''
18155        self.healthy = healthy if healthy is not None else False
18156        '''
18157         True if the datasource is reachable and the credentials are valid.
18158        '''
18159        self.hostname = hostname if hostname is not None else ''
18160        '''
18161         The host to dial to initiate a connection from the egress node to this resource.
18162        '''
18163        self.id = id if id is not None else ''
18164        '''
18165         Unique identifier of the Resource.
18166        '''
18167        self.name = name if name is not None else ''
18168        '''
18169         Unique human-readable name of the Resource.
18170        '''
18171        self.password = password if password is not None else ''
18172        '''
18173         The password to authenticate with.
18174        '''
18175        self.port = port if port is not None else 0
18176        '''
18177         The port to dial to initiate a connection from the egress node to this resource.
18178        '''
18179        self.port_override = port_override if port_override is not None else 0
18180        '''
18181         The local port used by clients to connect to this resource.
18182        '''
18183        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18184        '''
18185         ID of the proxy cluster for this resource, if any.
18186        '''
18187        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18188        '''
18189         ID of the secret store containing credentials for this resource, if any.
18190        '''
18191        self.subdomain = subdomain if subdomain is not None else ''
18192        '''
18193         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18194        '''
18195        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18196        '''
18197         Tags is a map of key, value pairs.
18198        '''
18199        self.tls_required = tls_required if tls_required is not None else False
18200        '''
18201         If set, TLS must be used to connect to this resource.
18202        '''
18203        self.username = username if username is not None else ''
18204        '''
18205         The username to authenticate with.
18206        '''
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)
18228    def to_dict(self):
18229        return {
18230            'auth_database': self.auth_database,
18231            'bind_interface': self.bind_interface,
18232            'egress_filter': self.egress_filter,
18233            'healthy': self.healthy,
18234            'hostname': self.hostname,
18235            'id': self.id,
18236            'name': self.name,
18237            'password': self.password,
18238            'port': self.port,
18239            'port_override': self.port_override,
18240            'proxy_cluster_id': self.proxy_cluster_id,
18241            'secret_store_id': self.secret_store_id,
18242            'subdomain': self.subdomain,
18243            'tags': self.tags,
18244            'tls_required': self.tls_required,
18245            'username': self.username,
18246        }
@classmethod
def from_dict(cls, d)
18248    @classmethod
18249    def from_dict(cls, d):
18250        return cls(
18251            auth_database=d.get('auth_database'),
18252            bind_interface=d.get('bind_interface'),
18253            egress_filter=d.get('egress_filter'),
18254            healthy=d.get('healthy'),
18255            hostname=d.get('hostname'),
18256            id=d.get('id'),
18257            name=d.get('name'),
18258            password=d.get('password'),
18259            port=d.get('port'),
18260            port_override=d.get('port_override'),
18261            proxy_cluster_id=d.get('proxy_cluster_id'),
18262            secret_store_id=d.get('secret_store_id'),
18263            subdomain=d.get('subdomain'),
18264            tags=d.get('tags'),
18265            tls_required=d.get('tls_required'),
18266            username=d.get('username'),
18267        )
class MongoLegacyHost:
18270class MongoLegacyHost:
18271    '''
18272    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
18273    without a major version bump.
18274    '''
18275    __slots__ = [
18276        'auth_database',
18277        'bind_interface',
18278        'egress_filter',
18279        'healthy',
18280        'hostname',
18281        'id',
18282        'name',
18283        'password',
18284        'port',
18285        'port_override',
18286        'proxy_cluster_id',
18287        'secret_store_id',
18288        'subdomain',
18289        'tags',
18290        'tls_required',
18291        'username',
18292    ]
18293
18294    def __init__(
18295        self,
18296        auth_database=None,
18297        bind_interface=None,
18298        egress_filter=None,
18299        healthy=None,
18300        hostname=None,
18301        id=None,
18302        name=None,
18303        password=None,
18304        port=None,
18305        port_override=None,
18306        proxy_cluster_id=None,
18307        secret_store_id=None,
18308        subdomain=None,
18309        tags=None,
18310        tls_required=None,
18311        username=None,
18312    ):
18313        self.auth_database = auth_database if auth_database is not None else ''
18314        '''
18315         The authentication database to use.
18316        '''
18317        self.bind_interface = bind_interface if bind_interface is not None else ''
18318        '''
18319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18320        '''
18321        self.egress_filter = egress_filter if egress_filter is not None else ''
18322        '''
18323         A filter applied to the routing logic to pin datasource to nodes.
18324        '''
18325        self.healthy = healthy if healthy is not None else False
18326        '''
18327         True if the datasource is reachable and the credentials are valid.
18328        '''
18329        self.hostname = hostname if hostname is not None else ''
18330        '''
18331         The host to dial to initiate a connection from the egress node to this resource.
18332        '''
18333        self.id = id if id is not None else ''
18334        '''
18335         Unique identifier of the Resource.
18336        '''
18337        self.name = name if name is not None else ''
18338        '''
18339         Unique human-readable name of the Resource.
18340        '''
18341        self.password = password if password is not None else ''
18342        '''
18343         The password to authenticate with.
18344        '''
18345        self.port = port if port is not None else 0
18346        '''
18347         The port to dial to initiate a connection from the egress node to this resource.
18348        '''
18349        self.port_override = port_override if port_override is not None else 0
18350        '''
18351         The local port used by clients to connect to this resource.
18352        '''
18353        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18354        '''
18355         ID of the proxy cluster for this resource, if any.
18356        '''
18357        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18358        '''
18359         ID of the secret store containing credentials for this resource, if any.
18360        '''
18361        self.subdomain = subdomain if subdomain is not None else ''
18362        '''
18363         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
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        self.tls_required = tls_required if tls_required is not None else False
18370        '''
18371         If set, TLS must be used to connect to this resource.
18372        '''
18373        self.username = username if username is not None else ''
18374        '''
18375         The username to authenticate with.
18376        '''
18377
18378    def __repr__(self):
18379        return '<sdm.MongoLegacyHost ' + \
18380            'auth_database: ' + repr(self.auth_database) + ' ' +\
18381            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18382            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18383            'healthy: ' + repr(self.healthy) + ' ' +\
18384            'hostname: ' + repr(self.hostname) + ' ' +\
18385            'id: ' + repr(self.id) + ' ' +\
18386            'name: ' + repr(self.name) + ' ' +\
18387            'password: ' + repr(self.password) + ' ' +\
18388            'port: ' + repr(self.port) + ' ' +\
18389            'port_override: ' + repr(self.port_override) + ' ' +\
18390            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18391            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18392            'subdomain: ' + repr(self.subdomain) + ' ' +\
18393            'tags: ' + repr(self.tags) + ' ' +\
18394            'tls_required: ' + repr(self.tls_required) + ' ' +\
18395            'username: ' + repr(self.username) + ' ' +\
18396            '>'
18397
18398    def to_dict(self):
18399        return {
18400            'auth_database': self.auth_database,
18401            'bind_interface': self.bind_interface,
18402            'egress_filter': self.egress_filter,
18403            'healthy': self.healthy,
18404            'hostname': self.hostname,
18405            'id': self.id,
18406            'name': self.name,
18407            'password': self.password,
18408            'port': self.port,
18409            'port_override': self.port_override,
18410            'proxy_cluster_id': self.proxy_cluster_id,
18411            'secret_store_id': self.secret_store_id,
18412            'subdomain': self.subdomain,
18413            'tags': self.tags,
18414            'tls_required': self.tls_required,
18415            'username': self.username,
18416        }
18417
18418    @classmethod
18419    def from_dict(cls, d):
18420        return cls(
18421            auth_database=d.get('auth_database'),
18422            bind_interface=d.get('bind_interface'),
18423            egress_filter=d.get('egress_filter'),
18424            healthy=d.get('healthy'),
18425            hostname=d.get('hostname'),
18426            id=d.get('id'),
18427            name=d.get('name'),
18428            password=d.get('password'),
18429            port=d.get('port'),
18430            port_override=d.get('port_override'),
18431            proxy_cluster_id=d.get('proxy_cluster_id'),
18432            secret_store_id=d.get('secret_store_id'),
18433            subdomain=d.get('subdomain'),
18434            tags=d.get('tags'),
18435            tls_required=d.get('tls_required'),
18436            username=d.get('username'),
18437        )

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)
18294    def __init__(
18295        self,
18296        auth_database=None,
18297        bind_interface=None,
18298        egress_filter=None,
18299        healthy=None,
18300        hostname=None,
18301        id=None,
18302        name=None,
18303        password=None,
18304        port=None,
18305        port_override=None,
18306        proxy_cluster_id=None,
18307        secret_store_id=None,
18308        subdomain=None,
18309        tags=None,
18310        tls_required=None,
18311        username=None,
18312    ):
18313        self.auth_database = auth_database if auth_database is not None else ''
18314        '''
18315         The authentication database to use.
18316        '''
18317        self.bind_interface = bind_interface if bind_interface is not None else ''
18318        '''
18319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18320        '''
18321        self.egress_filter = egress_filter if egress_filter is not None else ''
18322        '''
18323         A filter applied to the routing logic to pin datasource to nodes.
18324        '''
18325        self.healthy = healthy if healthy is not None else False
18326        '''
18327         True if the datasource is reachable and the credentials are valid.
18328        '''
18329        self.hostname = hostname if hostname is not None else ''
18330        '''
18331         The host to dial to initiate a connection from the egress node to this resource.
18332        '''
18333        self.id = id if id is not None else ''
18334        '''
18335         Unique identifier of the Resource.
18336        '''
18337        self.name = name if name is not None else ''
18338        '''
18339         Unique human-readable name of the Resource.
18340        '''
18341        self.password = password if password is not None else ''
18342        '''
18343         The password to authenticate with.
18344        '''
18345        self.port = port if port is not None else 0
18346        '''
18347         The port to dial to initiate a connection from the egress node to this resource.
18348        '''
18349        self.port_override = port_override if port_override is not None else 0
18350        '''
18351         The local port used by clients to connect to this resource.
18352        '''
18353        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18354        '''
18355         ID of the proxy cluster for this resource, if any.
18356        '''
18357        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18358        '''
18359         ID of the secret store containing credentials for this resource, if any.
18360        '''
18361        self.subdomain = subdomain if subdomain is not None else ''
18362        '''
18363         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
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        self.tls_required = tls_required if tls_required is not None else False
18370        '''
18371         If set, TLS must be used to connect to this resource.
18372        '''
18373        self.username = username if username is not None else ''
18374        '''
18375         The username to authenticate with.
18376        '''
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)
18398    def to_dict(self):
18399        return {
18400            'auth_database': self.auth_database,
18401            'bind_interface': self.bind_interface,
18402            'egress_filter': self.egress_filter,
18403            'healthy': self.healthy,
18404            'hostname': self.hostname,
18405            'id': self.id,
18406            'name': self.name,
18407            'password': self.password,
18408            'port': self.port,
18409            'port_override': self.port_override,
18410            'proxy_cluster_id': self.proxy_cluster_id,
18411            'secret_store_id': self.secret_store_id,
18412            'subdomain': self.subdomain,
18413            'tags': self.tags,
18414            'tls_required': self.tls_required,
18415            'username': self.username,
18416        }
@classmethod
def from_dict(cls, d)
18418    @classmethod
18419    def from_dict(cls, d):
18420        return cls(
18421            auth_database=d.get('auth_database'),
18422            bind_interface=d.get('bind_interface'),
18423            egress_filter=d.get('egress_filter'),
18424            healthy=d.get('healthy'),
18425            hostname=d.get('hostname'),
18426            id=d.get('id'),
18427            name=d.get('name'),
18428            password=d.get('password'),
18429            port=d.get('port'),
18430            port_override=d.get('port_override'),
18431            proxy_cluster_id=d.get('proxy_cluster_id'),
18432            secret_store_id=d.get('secret_store_id'),
18433            subdomain=d.get('subdomain'),
18434            tags=d.get('tags'),
18435            tls_required=d.get('tls_required'),
18436            username=d.get('username'),
18437        )
class MongoLegacyReplicaset:
18440class MongoLegacyReplicaset:
18441    '''
18442    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
18443    without a major version bump.
18444    '''
18445    __slots__ = [
18446        'auth_database',
18447        'bind_interface',
18448        'connect_to_replica',
18449        'egress_filter',
18450        'healthy',
18451        'hostname',
18452        'id',
18453        'name',
18454        'password',
18455        'port',
18456        'port_override',
18457        'proxy_cluster_id',
18458        'replica_set',
18459        'secret_store_id',
18460        'subdomain',
18461        'tags',
18462        'tls_required',
18463        'username',
18464    ]
18465
18466    def __init__(
18467        self,
18468        auth_database=None,
18469        bind_interface=None,
18470        connect_to_replica=None,
18471        egress_filter=None,
18472        healthy=None,
18473        hostname=None,
18474        id=None,
18475        name=None,
18476        password=None,
18477        port=None,
18478        port_override=None,
18479        proxy_cluster_id=None,
18480        replica_set=None,
18481        secret_store_id=None,
18482        subdomain=None,
18483        tags=None,
18484        tls_required=None,
18485        username=None,
18486    ):
18487        self.auth_database = auth_database if auth_database is not None else ''
18488        '''
18489         The authentication database to use.
18490        '''
18491        self.bind_interface = bind_interface if bind_interface is not None else ''
18492        '''
18493         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18494        '''
18495        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18496        '''
18497         Set to connect to a replica instead of the primary node.
18498        '''
18499        self.egress_filter = egress_filter if egress_filter is not None else ''
18500        '''
18501         A filter applied to the routing logic to pin datasource to nodes.
18502        '''
18503        self.healthy = healthy if healthy is not None else False
18504        '''
18505         True if the datasource is reachable and the credentials are valid.
18506        '''
18507        self.hostname = hostname if hostname is not None else ''
18508        '''
18509         The host to dial to initiate a connection from the egress node to this resource.
18510        '''
18511        self.id = id if id is not None else ''
18512        '''
18513         Unique identifier of the Resource.
18514        '''
18515        self.name = name if name is not None else ''
18516        '''
18517         Unique human-readable name of the Resource.
18518        '''
18519        self.password = password if password is not None else ''
18520        '''
18521         The password to authenticate with.
18522        '''
18523        self.port = port if port is not None else 0
18524        '''
18525         The port to dial to initiate a connection from the egress node to this resource.
18526        '''
18527        self.port_override = port_override if port_override is not None else 0
18528        '''
18529         The local port used by clients to connect to this resource.
18530        '''
18531        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18532        '''
18533         ID of the proxy cluster for this resource, if any.
18534        '''
18535        self.replica_set = replica_set if replica_set is not None else ''
18536        '''
18537         The name of the mongo replicaset.
18538        '''
18539        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18540        '''
18541         ID of the secret store containing credentials for this resource, if any.
18542        '''
18543        self.subdomain = subdomain if subdomain is not None else ''
18544        '''
18545         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18546        '''
18547        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18548        '''
18549         Tags is a map of key, value pairs.
18550        '''
18551        self.tls_required = tls_required if tls_required is not None else False
18552        '''
18553         If set, TLS must be used to connect to this resource.
18554        '''
18555        self.username = username if username is not None else ''
18556        '''
18557         The username to authenticate with.
18558        '''
18559
18560    def __repr__(self):
18561        return '<sdm.MongoLegacyReplicaset ' + \
18562            'auth_database: ' + repr(self.auth_database) + ' ' +\
18563            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18564            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18565            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18566            'healthy: ' + repr(self.healthy) + ' ' +\
18567            'hostname: ' + repr(self.hostname) + ' ' +\
18568            'id: ' + repr(self.id) + ' ' +\
18569            'name: ' + repr(self.name) + ' ' +\
18570            'password: ' + repr(self.password) + ' ' +\
18571            'port: ' + repr(self.port) + ' ' +\
18572            'port_override: ' + repr(self.port_override) + ' ' +\
18573            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18574            'replica_set: ' + repr(self.replica_set) + ' ' +\
18575            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18576            'subdomain: ' + repr(self.subdomain) + ' ' +\
18577            'tags: ' + repr(self.tags) + ' ' +\
18578            'tls_required: ' + repr(self.tls_required) + ' ' +\
18579            'username: ' + repr(self.username) + ' ' +\
18580            '>'
18581
18582    def to_dict(self):
18583        return {
18584            'auth_database': self.auth_database,
18585            'bind_interface': self.bind_interface,
18586            'connect_to_replica': self.connect_to_replica,
18587            'egress_filter': self.egress_filter,
18588            'healthy': self.healthy,
18589            'hostname': self.hostname,
18590            'id': self.id,
18591            'name': self.name,
18592            'password': self.password,
18593            'port': self.port,
18594            'port_override': self.port_override,
18595            'proxy_cluster_id': self.proxy_cluster_id,
18596            'replica_set': self.replica_set,
18597            'secret_store_id': self.secret_store_id,
18598            'subdomain': self.subdomain,
18599            'tags': self.tags,
18600            'tls_required': self.tls_required,
18601            'username': self.username,
18602        }
18603
18604    @classmethod
18605    def from_dict(cls, d):
18606        return cls(
18607            auth_database=d.get('auth_database'),
18608            bind_interface=d.get('bind_interface'),
18609            connect_to_replica=d.get('connect_to_replica'),
18610            egress_filter=d.get('egress_filter'),
18611            healthy=d.get('healthy'),
18612            hostname=d.get('hostname'),
18613            id=d.get('id'),
18614            name=d.get('name'),
18615            password=d.get('password'),
18616            port=d.get('port'),
18617            port_override=d.get('port_override'),
18618            proxy_cluster_id=d.get('proxy_cluster_id'),
18619            replica_set=d.get('replica_set'),
18620            secret_store_id=d.get('secret_store_id'),
18621            subdomain=d.get('subdomain'),
18622            tags=d.get('tags'),
18623            tls_required=d.get('tls_required'),
18624            username=d.get('username'),
18625        )

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)
18466    def __init__(
18467        self,
18468        auth_database=None,
18469        bind_interface=None,
18470        connect_to_replica=None,
18471        egress_filter=None,
18472        healthy=None,
18473        hostname=None,
18474        id=None,
18475        name=None,
18476        password=None,
18477        port=None,
18478        port_override=None,
18479        proxy_cluster_id=None,
18480        replica_set=None,
18481        secret_store_id=None,
18482        subdomain=None,
18483        tags=None,
18484        tls_required=None,
18485        username=None,
18486    ):
18487        self.auth_database = auth_database if auth_database is not None else ''
18488        '''
18489         The authentication database to use.
18490        '''
18491        self.bind_interface = bind_interface if bind_interface is not None else ''
18492        '''
18493         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18494        '''
18495        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18496        '''
18497         Set to connect to a replica instead of the primary node.
18498        '''
18499        self.egress_filter = egress_filter if egress_filter is not None else ''
18500        '''
18501         A filter applied to the routing logic to pin datasource to nodes.
18502        '''
18503        self.healthy = healthy if healthy is not None else False
18504        '''
18505         True if the datasource is reachable and the credentials are valid.
18506        '''
18507        self.hostname = hostname if hostname is not None else ''
18508        '''
18509         The host to dial to initiate a connection from the egress node to this resource.
18510        '''
18511        self.id = id if id is not None else ''
18512        '''
18513         Unique identifier of the Resource.
18514        '''
18515        self.name = name if name is not None else ''
18516        '''
18517         Unique human-readable name of the Resource.
18518        '''
18519        self.password = password if password is not None else ''
18520        '''
18521         The password to authenticate with.
18522        '''
18523        self.port = port if port is not None else 0
18524        '''
18525         The port to dial to initiate a connection from the egress node to this resource.
18526        '''
18527        self.port_override = port_override if port_override is not None else 0
18528        '''
18529         The local port used by clients to connect to this resource.
18530        '''
18531        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18532        '''
18533         ID of the proxy cluster for this resource, if any.
18534        '''
18535        self.replica_set = replica_set if replica_set is not None else ''
18536        '''
18537         The name of the mongo replicaset.
18538        '''
18539        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18540        '''
18541         ID of the secret store containing credentials for this resource, if any.
18542        '''
18543        self.subdomain = subdomain if subdomain is not None else ''
18544        '''
18545         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18546        '''
18547        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18548        '''
18549         Tags is a map of key, value pairs.
18550        '''
18551        self.tls_required = tls_required if tls_required is not None else False
18552        '''
18553         If set, TLS must be used to connect to this resource.
18554        '''
18555        self.username = username if username is not None else ''
18556        '''
18557         The username to authenticate with.
18558        '''
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)
18582    def to_dict(self):
18583        return {
18584            'auth_database': self.auth_database,
18585            'bind_interface': self.bind_interface,
18586            'connect_to_replica': self.connect_to_replica,
18587            'egress_filter': self.egress_filter,
18588            'healthy': self.healthy,
18589            'hostname': self.hostname,
18590            'id': self.id,
18591            'name': self.name,
18592            'password': self.password,
18593            'port': self.port,
18594            'port_override': self.port_override,
18595            'proxy_cluster_id': self.proxy_cluster_id,
18596            'replica_set': self.replica_set,
18597            'secret_store_id': self.secret_store_id,
18598            'subdomain': self.subdomain,
18599            'tags': self.tags,
18600            'tls_required': self.tls_required,
18601            'username': self.username,
18602        }
@classmethod
def from_dict(cls, d)
18604    @classmethod
18605    def from_dict(cls, d):
18606        return cls(
18607            auth_database=d.get('auth_database'),
18608            bind_interface=d.get('bind_interface'),
18609            connect_to_replica=d.get('connect_to_replica'),
18610            egress_filter=d.get('egress_filter'),
18611            healthy=d.get('healthy'),
18612            hostname=d.get('hostname'),
18613            id=d.get('id'),
18614            name=d.get('name'),
18615            password=d.get('password'),
18616            port=d.get('port'),
18617            port_override=d.get('port_override'),
18618            proxy_cluster_id=d.get('proxy_cluster_id'),
18619            replica_set=d.get('replica_set'),
18620            secret_store_id=d.get('secret_store_id'),
18621            subdomain=d.get('subdomain'),
18622            tags=d.get('tags'),
18623            tls_required=d.get('tls_required'),
18624            username=d.get('username'),
18625        )
class MongoReplicaSet:
18628class MongoReplicaSet:
18629    __slots__ = [
18630        'auth_database',
18631        'bind_interface',
18632        'connect_to_replica',
18633        'egress_filter',
18634        'healthy',
18635        'hostname',
18636        'id',
18637        'name',
18638        'password',
18639        'port',
18640        'port_override',
18641        'proxy_cluster_id',
18642        'replica_set',
18643        'secret_store_id',
18644        'subdomain',
18645        'tags',
18646        'tls_required',
18647        'username',
18648    ]
18649
18650    def __init__(
18651        self,
18652        auth_database=None,
18653        bind_interface=None,
18654        connect_to_replica=None,
18655        egress_filter=None,
18656        healthy=None,
18657        hostname=None,
18658        id=None,
18659        name=None,
18660        password=None,
18661        port=None,
18662        port_override=None,
18663        proxy_cluster_id=None,
18664        replica_set=None,
18665        secret_store_id=None,
18666        subdomain=None,
18667        tags=None,
18668        tls_required=None,
18669        username=None,
18670    ):
18671        self.auth_database = auth_database if auth_database is not None else ''
18672        '''
18673         The authentication database to use.
18674        '''
18675        self.bind_interface = bind_interface if bind_interface is not None else ''
18676        '''
18677         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18678        '''
18679        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18680        '''
18681         Set to connect to a replica instead of the primary node.
18682        '''
18683        self.egress_filter = egress_filter if egress_filter is not None else ''
18684        '''
18685         A filter applied to the routing logic to pin datasource to nodes.
18686        '''
18687        self.healthy = healthy if healthy is not None else False
18688        '''
18689         True if the datasource is reachable and the credentials are valid.
18690        '''
18691        self.hostname = hostname if hostname is not None else ''
18692        '''
18693         The host to dial to initiate a connection from the egress node to this resource.
18694        '''
18695        self.id = id if id is not None else ''
18696        '''
18697         Unique identifier of the Resource.
18698        '''
18699        self.name = name if name is not None else ''
18700        '''
18701         Unique human-readable name of the Resource.
18702        '''
18703        self.password = password if password is not None else ''
18704        '''
18705         The password to authenticate with.
18706        '''
18707        self.port = port if port is not None else 0
18708        '''
18709         The port to dial to initiate a connection from the egress node to this resource.
18710        '''
18711        self.port_override = port_override if port_override is not None else 0
18712        '''
18713         The local port used by clients to connect to this resource.
18714        '''
18715        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18716        '''
18717         ID of the proxy cluster for this resource, if any.
18718        '''
18719        self.replica_set = replica_set if replica_set is not None else ''
18720        '''
18721         The name of the mongo replicaset.
18722        '''
18723        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18724        '''
18725         ID of the secret store containing credentials for this resource, if any.
18726        '''
18727        self.subdomain = subdomain if subdomain is not None else ''
18728        '''
18729         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18730        '''
18731        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18732        '''
18733         Tags is a map of key, value pairs.
18734        '''
18735        self.tls_required = tls_required if tls_required is not None else False
18736        '''
18737         If set, TLS must be used to connect to this resource.
18738        '''
18739        self.username = username if username is not None else ''
18740        '''
18741         The username to authenticate with.
18742        '''
18743
18744    def __repr__(self):
18745        return '<sdm.MongoReplicaSet ' + \
18746            'auth_database: ' + repr(self.auth_database) + ' ' +\
18747            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18748            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
18749            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18750            'healthy: ' + repr(self.healthy) + ' ' +\
18751            'hostname: ' + repr(self.hostname) + ' ' +\
18752            'id: ' + repr(self.id) + ' ' +\
18753            'name: ' + repr(self.name) + ' ' +\
18754            'password: ' + repr(self.password) + ' ' +\
18755            'port: ' + repr(self.port) + ' ' +\
18756            'port_override: ' + repr(self.port_override) + ' ' +\
18757            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18758            'replica_set: ' + repr(self.replica_set) + ' ' +\
18759            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18760            'subdomain: ' + repr(self.subdomain) + ' ' +\
18761            'tags: ' + repr(self.tags) + ' ' +\
18762            'tls_required: ' + repr(self.tls_required) + ' ' +\
18763            'username: ' + repr(self.username) + ' ' +\
18764            '>'
18765
18766    def to_dict(self):
18767        return {
18768            'auth_database': self.auth_database,
18769            'bind_interface': self.bind_interface,
18770            'connect_to_replica': self.connect_to_replica,
18771            'egress_filter': self.egress_filter,
18772            'healthy': self.healthy,
18773            'hostname': self.hostname,
18774            'id': self.id,
18775            'name': self.name,
18776            'password': self.password,
18777            'port': self.port,
18778            'port_override': self.port_override,
18779            'proxy_cluster_id': self.proxy_cluster_id,
18780            'replica_set': self.replica_set,
18781            'secret_store_id': self.secret_store_id,
18782            'subdomain': self.subdomain,
18783            'tags': self.tags,
18784            'tls_required': self.tls_required,
18785            'username': self.username,
18786        }
18787
18788    @classmethod
18789    def from_dict(cls, d):
18790        return cls(
18791            auth_database=d.get('auth_database'),
18792            bind_interface=d.get('bind_interface'),
18793            connect_to_replica=d.get('connect_to_replica'),
18794            egress_filter=d.get('egress_filter'),
18795            healthy=d.get('healthy'),
18796            hostname=d.get('hostname'),
18797            id=d.get('id'),
18798            name=d.get('name'),
18799            password=d.get('password'),
18800            port=d.get('port'),
18801            port_override=d.get('port_override'),
18802            proxy_cluster_id=d.get('proxy_cluster_id'),
18803            replica_set=d.get('replica_set'),
18804            secret_store_id=d.get('secret_store_id'),
18805            subdomain=d.get('subdomain'),
18806            tags=d.get('tags'),
18807            tls_required=d.get('tls_required'),
18808            username=d.get('username'),
18809        )
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)
18650    def __init__(
18651        self,
18652        auth_database=None,
18653        bind_interface=None,
18654        connect_to_replica=None,
18655        egress_filter=None,
18656        healthy=None,
18657        hostname=None,
18658        id=None,
18659        name=None,
18660        password=None,
18661        port=None,
18662        port_override=None,
18663        proxy_cluster_id=None,
18664        replica_set=None,
18665        secret_store_id=None,
18666        subdomain=None,
18667        tags=None,
18668        tls_required=None,
18669        username=None,
18670    ):
18671        self.auth_database = auth_database if auth_database is not None else ''
18672        '''
18673         The authentication database to use.
18674        '''
18675        self.bind_interface = bind_interface if bind_interface is not None else ''
18676        '''
18677         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18678        '''
18679        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
18680        '''
18681         Set to connect to a replica instead of the primary node.
18682        '''
18683        self.egress_filter = egress_filter if egress_filter is not None else ''
18684        '''
18685         A filter applied to the routing logic to pin datasource to nodes.
18686        '''
18687        self.healthy = healthy if healthy is not None else False
18688        '''
18689         True if the datasource is reachable and the credentials are valid.
18690        '''
18691        self.hostname = hostname if hostname is not None else ''
18692        '''
18693         The host to dial to initiate a connection from the egress node to this resource.
18694        '''
18695        self.id = id if id is not None else ''
18696        '''
18697         Unique identifier of the Resource.
18698        '''
18699        self.name = name if name is not None else ''
18700        '''
18701         Unique human-readable name of the Resource.
18702        '''
18703        self.password = password if password is not None else ''
18704        '''
18705         The password to authenticate with.
18706        '''
18707        self.port = port if port is not None else 0
18708        '''
18709         The port to dial to initiate a connection from the egress node to this resource.
18710        '''
18711        self.port_override = port_override if port_override is not None else 0
18712        '''
18713         The local port used by clients to connect to this resource.
18714        '''
18715        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18716        '''
18717         ID of the proxy cluster for this resource, if any.
18718        '''
18719        self.replica_set = replica_set if replica_set is not None else ''
18720        '''
18721         The name of the mongo replicaset.
18722        '''
18723        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18724        '''
18725         ID of the secret store containing credentials for this resource, if any.
18726        '''
18727        self.subdomain = subdomain if subdomain is not None else ''
18728        '''
18729         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18730        '''
18731        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18732        '''
18733         Tags is a map of key, value pairs.
18734        '''
18735        self.tls_required = tls_required if tls_required is not None else False
18736        '''
18737         If set, TLS must be used to connect to this resource.
18738        '''
18739        self.username = username if username is not None else ''
18740        '''
18741         The username to authenticate with.
18742        '''
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)
18766    def to_dict(self):
18767        return {
18768            'auth_database': self.auth_database,
18769            'bind_interface': self.bind_interface,
18770            'connect_to_replica': self.connect_to_replica,
18771            'egress_filter': self.egress_filter,
18772            'healthy': self.healthy,
18773            'hostname': self.hostname,
18774            'id': self.id,
18775            'name': self.name,
18776            'password': self.password,
18777            'port': self.port,
18778            'port_override': self.port_override,
18779            'proxy_cluster_id': self.proxy_cluster_id,
18780            'replica_set': self.replica_set,
18781            'secret_store_id': self.secret_store_id,
18782            'subdomain': self.subdomain,
18783            'tags': self.tags,
18784            'tls_required': self.tls_required,
18785            'username': self.username,
18786        }
@classmethod
def from_dict(cls, d)
18788    @classmethod
18789    def from_dict(cls, d):
18790        return cls(
18791            auth_database=d.get('auth_database'),
18792            bind_interface=d.get('bind_interface'),
18793            connect_to_replica=d.get('connect_to_replica'),
18794            egress_filter=d.get('egress_filter'),
18795            healthy=d.get('healthy'),
18796            hostname=d.get('hostname'),
18797            id=d.get('id'),
18798            name=d.get('name'),
18799            password=d.get('password'),
18800            port=d.get('port'),
18801            port_override=d.get('port_override'),
18802            proxy_cluster_id=d.get('proxy_cluster_id'),
18803            replica_set=d.get('replica_set'),
18804            secret_store_id=d.get('secret_store_id'),
18805            subdomain=d.get('subdomain'),
18806            tags=d.get('tags'),
18807            tls_required=d.get('tls_required'),
18808            username=d.get('username'),
18809        )
class MongoShardedCluster:
18812class MongoShardedCluster:
18813    __slots__ = [
18814        'auth_database',
18815        'bind_interface',
18816        'egress_filter',
18817        'healthy',
18818        'hostname',
18819        'id',
18820        'name',
18821        'password',
18822        'port_override',
18823        'proxy_cluster_id',
18824        'secret_store_id',
18825        'subdomain',
18826        'tags',
18827        'tls_required',
18828        'username',
18829    ]
18830
18831    def __init__(
18832        self,
18833        auth_database=None,
18834        bind_interface=None,
18835        egress_filter=None,
18836        healthy=None,
18837        hostname=None,
18838        id=None,
18839        name=None,
18840        password=None,
18841        port_override=None,
18842        proxy_cluster_id=None,
18843        secret_store_id=None,
18844        subdomain=None,
18845        tags=None,
18846        tls_required=None,
18847        username=None,
18848    ):
18849        self.auth_database = auth_database if auth_database is not None else ''
18850        '''
18851         The authentication database to use.
18852        '''
18853        self.bind_interface = bind_interface if bind_interface is not None else ''
18854        '''
18855         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18856        '''
18857        self.egress_filter = egress_filter if egress_filter is not None else ''
18858        '''
18859         A filter applied to the routing logic to pin datasource to nodes.
18860        '''
18861        self.healthy = healthy if healthy is not None else False
18862        '''
18863         True if the datasource is reachable and the credentials are valid.
18864        '''
18865        self.hostname = hostname if hostname is not None else ''
18866        '''
18867         The host to dial to initiate a connection from the egress node to this resource.
18868        '''
18869        self.id = id if id is not None else ''
18870        '''
18871         Unique identifier of the Resource.
18872        '''
18873        self.name = name if name is not None else ''
18874        '''
18875         Unique human-readable name of the Resource.
18876        '''
18877        self.password = password if password is not None else ''
18878        '''
18879         The password to authenticate with.
18880        '''
18881        self.port_override = port_override if port_override is not None else 0
18882        '''
18883         The local port used by clients to connect to this resource.
18884        '''
18885        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18886        '''
18887         ID of the proxy cluster for this resource, if any.
18888        '''
18889        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18890        '''
18891         ID of the secret store containing credentials for this resource, if any.
18892        '''
18893        self.subdomain = subdomain if subdomain is not None else ''
18894        '''
18895         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18896        '''
18897        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18898        '''
18899         Tags is a map of key, value pairs.
18900        '''
18901        self.tls_required = tls_required if tls_required is not None else False
18902        '''
18903         If set, TLS must be used to connect to this resource.
18904        '''
18905        self.username = username if username is not None else ''
18906        '''
18907         The username to authenticate with.
18908        '''
18909
18910    def __repr__(self):
18911        return '<sdm.MongoShardedCluster ' + \
18912            'auth_database: ' + repr(self.auth_database) + ' ' +\
18913            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18914            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18915            'healthy: ' + repr(self.healthy) + ' ' +\
18916            'hostname: ' + repr(self.hostname) + ' ' +\
18917            'id: ' + repr(self.id) + ' ' +\
18918            'name: ' + repr(self.name) + ' ' +\
18919            'password: ' + repr(self.password) + ' ' +\
18920            'port_override: ' + repr(self.port_override) + ' ' +\
18921            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18922            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18923            'subdomain: ' + repr(self.subdomain) + ' ' +\
18924            'tags: ' + repr(self.tags) + ' ' +\
18925            'tls_required: ' + repr(self.tls_required) + ' ' +\
18926            'username: ' + repr(self.username) + ' ' +\
18927            '>'
18928
18929    def to_dict(self):
18930        return {
18931            'auth_database': self.auth_database,
18932            'bind_interface': self.bind_interface,
18933            'egress_filter': self.egress_filter,
18934            'healthy': self.healthy,
18935            'hostname': self.hostname,
18936            'id': self.id,
18937            'name': self.name,
18938            'password': self.password,
18939            'port_override': self.port_override,
18940            'proxy_cluster_id': self.proxy_cluster_id,
18941            'secret_store_id': self.secret_store_id,
18942            'subdomain': self.subdomain,
18943            'tags': self.tags,
18944            'tls_required': self.tls_required,
18945            'username': self.username,
18946        }
18947
18948    @classmethod
18949    def from_dict(cls, d):
18950        return cls(
18951            auth_database=d.get('auth_database'),
18952            bind_interface=d.get('bind_interface'),
18953            egress_filter=d.get('egress_filter'),
18954            healthy=d.get('healthy'),
18955            hostname=d.get('hostname'),
18956            id=d.get('id'),
18957            name=d.get('name'),
18958            password=d.get('password'),
18959            port_override=d.get('port_override'),
18960            proxy_cluster_id=d.get('proxy_cluster_id'),
18961            secret_store_id=d.get('secret_store_id'),
18962            subdomain=d.get('subdomain'),
18963            tags=d.get('tags'),
18964            tls_required=d.get('tls_required'),
18965            username=d.get('username'),
18966        )
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)
18831    def __init__(
18832        self,
18833        auth_database=None,
18834        bind_interface=None,
18835        egress_filter=None,
18836        healthy=None,
18837        hostname=None,
18838        id=None,
18839        name=None,
18840        password=None,
18841        port_override=None,
18842        proxy_cluster_id=None,
18843        secret_store_id=None,
18844        subdomain=None,
18845        tags=None,
18846        tls_required=None,
18847        username=None,
18848    ):
18849        self.auth_database = auth_database if auth_database is not None else ''
18850        '''
18851         The authentication database to use.
18852        '''
18853        self.bind_interface = bind_interface if bind_interface is not None else ''
18854        '''
18855         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
18856        '''
18857        self.egress_filter = egress_filter if egress_filter is not None else ''
18858        '''
18859         A filter applied to the routing logic to pin datasource to nodes.
18860        '''
18861        self.healthy = healthy if healthy is not None else False
18862        '''
18863         True if the datasource is reachable and the credentials are valid.
18864        '''
18865        self.hostname = hostname if hostname is not None else ''
18866        '''
18867         The host to dial to initiate a connection from the egress node to this resource.
18868        '''
18869        self.id = id if id is not None else ''
18870        '''
18871         Unique identifier of the Resource.
18872        '''
18873        self.name = name if name is not None else ''
18874        '''
18875         Unique human-readable name of the Resource.
18876        '''
18877        self.password = password if password is not None else ''
18878        '''
18879         The password to authenticate with.
18880        '''
18881        self.port_override = port_override if port_override is not None else 0
18882        '''
18883         The local port used by clients to connect to this resource.
18884        '''
18885        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18886        '''
18887         ID of the proxy cluster for this resource, if any.
18888        '''
18889        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18890        '''
18891         ID of the secret store containing credentials for this resource, if any.
18892        '''
18893        self.subdomain = subdomain if subdomain is not None else ''
18894        '''
18895         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
18896        '''
18897        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18898        '''
18899         Tags is a map of key, value pairs.
18900        '''
18901        self.tls_required = tls_required if tls_required is not None else False
18902        '''
18903         If set, TLS must be used to connect to this resource.
18904        '''
18905        self.username = username if username is not None else ''
18906        '''
18907         The username to authenticate with.
18908        '''
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)
18929    def to_dict(self):
18930        return {
18931            'auth_database': self.auth_database,
18932            'bind_interface': self.bind_interface,
18933            'egress_filter': self.egress_filter,
18934            'healthy': self.healthy,
18935            'hostname': self.hostname,
18936            'id': self.id,
18937            'name': self.name,
18938            'password': self.password,
18939            'port_override': self.port_override,
18940            'proxy_cluster_id': self.proxy_cluster_id,
18941            'secret_store_id': self.secret_store_id,
18942            'subdomain': self.subdomain,
18943            'tags': self.tags,
18944            'tls_required': self.tls_required,
18945            'username': self.username,
18946        }
@classmethod
def from_dict(cls, d)
18948    @classmethod
18949    def from_dict(cls, d):
18950        return cls(
18951            auth_database=d.get('auth_database'),
18952            bind_interface=d.get('bind_interface'),
18953            egress_filter=d.get('egress_filter'),
18954            healthy=d.get('healthy'),
18955            hostname=d.get('hostname'),
18956            id=d.get('id'),
18957            name=d.get('name'),
18958            password=d.get('password'),
18959            port_override=d.get('port_override'),
18960            proxy_cluster_id=d.get('proxy_cluster_id'),
18961            secret_store_id=d.get('secret_store_id'),
18962            subdomain=d.get('subdomain'),
18963            tags=d.get('tags'),
18964            tls_required=d.get('tls_required'),
18965            username=d.get('username'),
18966        )
class Mysql:
18969class Mysql:
18970    __slots__ = [
18971        'bind_interface',
18972        'database',
18973        'egress_filter',
18974        'healthy',
18975        'hostname',
18976        'id',
18977        'name',
18978        'password',
18979        'port',
18980        'port_override',
18981        'proxy_cluster_id',
18982        'require_native_auth',
18983        'secret_store_id',
18984        'subdomain',
18985        'tags',
18986        'use_azure_single_server_usernames',
18987        'username',
18988    ]
18989
18990    def __init__(
18991        self,
18992        bind_interface=None,
18993        database=None,
18994        egress_filter=None,
18995        healthy=None,
18996        hostname=None,
18997        id=None,
18998        name=None,
18999        password=None,
19000        port=None,
19001        port_override=None,
19002        proxy_cluster_id=None,
19003        require_native_auth=None,
19004        secret_store_id=None,
19005        subdomain=None,
19006        tags=None,
19007        use_azure_single_server_usernames=None,
19008        username=None,
19009    ):
19010        self.bind_interface = bind_interface if bind_interface is not None else ''
19011        '''
19012         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19013        '''
19014        self.database = database if database is not None else ''
19015        '''
19016         The database for healthchecks. Does not affect client requests.
19017        '''
19018        self.egress_filter = egress_filter if egress_filter is not None else ''
19019        '''
19020         A filter applied to the routing logic to pin datasource to nodes.
19021        '''
19022        self.healthy = healthy if healthy is not None else False
19023        '''
19024         True if the datasource is reachable and the credentials are valid.
19025        '''
19026        self.hostname = hostname if hostname is not None else ''
19027        '''
19028         The host to dial to initiate a connection from the egress node to this resource.
19029        '''
19030        self.id = id if id is not None else ''
19031        '''
19032         Unique identifier of the Resource.
19033        '''
19034        self.name = name if name is not None else ''
19035        '''
19036         Unique human-readable name of the Resource.
19037        '''
19038        self.password = password if password is not None else ''
19039        '''
19040         The password to authenticate with.
19041        '''
19042        self.port = port if port is not None else 0
19043        '''
19044         The port to dial to initiate a connection from the egress node to this resource.
19045        '''
19046        self.port_override = port_override if port_override is not None else 0
19047        '''
19048         The local port used by clients to connect to this resource.
19049        '''
19050        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19051        '''
19052         ID of the proxy cluster for this resource, if any.
19053        '''
19054        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19055        '''
19056         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19057        '''
19058        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19059        '''
19060         ID of the secret store containing credentials for this resource, if any.
19061        '''
19062        self.subdomain = subdomain if subdomain is not None else ''
19063        '''
19064         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19065        '''
19066        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19067        '''
19068         Tags is a map of key, value pairs.
19069        '''
19070        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19071        '''
19072         If true, appends the hostname to the username when hitting a database.azure.com address
19073        '''
19074        self.username = username if username is not None else ''
19075        '''
19076         The username to authenticate with.
19077        '''
19078
19079    def __repr__(self):
19080        return '<sdm.Mysql ' + \
19081            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19082            'database: ' + repr(self.database) + ' ' +\
19083            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19084            'healthy: ' + repr(self.healthy) + ' ' +\
19085            'hostname: ' + repr(self.hostname) + ' ' +\
19086            'id: ' + repr(self.id) + ' ' +\
19087            'name: ' + repr(self.name) + ' ' +\
19088            'password: ' + repr(self.password) + ' ' +\
19089            'port: ' + repr(self.port) + ' ' +\
19090            'port_override: ' + repr(self.port_override) + ' ' +\
19091            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19092            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
19093            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19094            'subdomain: ' + repr(self.subdomain) + ' ' +\
19095            'tags: ' + repr(self.tags) + ' ' +\
19096            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
19097            'username: ' + repr(self.username) + ' ' +\
19098            '>'
19099
19100    def to_dict(self):
19101        return {
19102            'bind_interface': self.bind_interface,
19103            'database': self.database,
19104            'egress_filter': self.egress_filter,
19105            'healthy': self.healthy,
19106            'hostname': self.hostname,
19107            'id': self.id,
19108            'name': self.name,
19109            'password': self.password,
19110            'port': self.port,
19111            'port_override': self.port_override,
19112            'proxy_cluster_id': self.proxy_cluster_id,
19113            'require_native_auth': self.require_native_auth,
19114            'secret_store_id': self.secret_store_id,
19115            'subdomain': self.subdomain,
19116            'tags': self.tags,
19117            'use_azure_single_server_usernames':
19118            self.use_azure_single_server_usernames,
19119            'username': self.username,
19120        }
19121
19122    @classmethod
19123    def from_dict(cls, d):
19124        return cls(
19125            bind_interface=d.get('bind_interface'),
19126            database=d.get('database'),
19127            egress_filter=d.get('egress_filter'),
19128            healthy=d.get('healthy'),
19129            hostname=d.get('hostname'),
19130            id=d.get('id'),
19131            name=d.get('name'),
19132            password=d.get('password'),
19133            port=d.get('port'),
19134            port_override=d.get('port_override'),
19135            proxy_cluster_id=d.get('proxy_cluster_id'),
19136            require_native_auth=d.get('require_native_auth'),
19137            secret_store_id=d.get('secret_store_id'),
19138            subdomain=d.get('subdomain'),
19139            tags=d.get('tags'),
19140            use_azure_single_server_usernames=d.get(
19141                'use_azure_single_server_usernames'),
19142            username=d.get('username'),
19143        )
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)
18990    def __init__(
18991        self,
18992        bind_interface=None,
18993        database=None,
18994        egress_filter=None,
18995        healthy=None,
18996        hostname=None,
18997        id=None,
18998        name=None,
18999        password=None,
19000        port=None,
19001        port_override=None,
19002        proxy_cluster_id=None,
19003        require_native_auth=None,
19004        secret_store_id=None,
19005        subdomain=None,
19006        tags=None,
19007        use_azure_single_server_usernames=None,
19008        username=None,
19009    ):
19010        self.bind_interface = bind_interface if bind_interface is not None else ''
19011        '''
19012         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19013        '''
19014        self.database = database if database is not None else ''
19015        '''
19016         The database for healthchecks. Does not affect client requests.
19017        '''
19018        self.egress_filter = egress_filter if egress_filter is not None else ''
19019        '''
19020         A filter applied to the routing logic to pin datasource to nodes.
19021        '''
19022        self.healthy = healthy if healthy is not None else False
19023        '''
19024         True if the datasource is reachable and the credentials are valid.
19025        '''
19026        self.hostname = hostname if hostname is not None else ''
19027        '''
19028         The host to dial to initiate a connection from the egress node to this resource.
19029        '''
19030        self.id = id if id is not None else ''
19031        '''
19032         Unique identifier of the Resource.
19033        '''
19034        self.name = name if name is not None else ''
19035        '''
19036         Unique human-readable name of the Resource.
19037        '''
19038        self.password = password if password is not None else ''
19039        '''
19040         The password to authenticate with.
19041        '''
19042        self.port = port if port is not None else 0
19043        '''
19044         The port to dial to initiate a connection from the egress node to this resource.
19045        '''
19046        self.port_override = port_override if port_override is not None else 0
19047        '''
19048         The local port used by clients to connect to this resource.
19049        '''
19050        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19051        '''
19052         ID of the proxy cluster for this resource, if any.
19053        '''
19054        self.require_native_auth = require_native_auth if require_native_auth is not None else False
19055        '''
19056         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
19057        '''
19058        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19059        '''
19060         ID of the secret store containing credentials for this resource, if any.
19061        '''
19062        self.subdomain = subdomain if subdomain is not None else ''
19063        '''
19064         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19065        '''
19066        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19067        '''
19068         Tags is a map of key, value pairs.
19069        '''
19070        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
19071        '''
19072         If true, appends the hostname to the username when hitting a database.azure.com address
19073        '''
19074        self.username = username if username is not None else ''
19075        '''
19076         The username to authenticate with.
19077        '''
bind_interface

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

The bind interface is the IP 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)
19242    def to_dict(self):
19243        return {
19244            'bind_interface': self.bind_interface,
19245            'egress_filter': self.egress_filter,
19246            'endpoint': self.endpoint,
19247            'healthy': self.healthy,
19248            'id': self.id,
19249            'name': self.name,
19250            'port': self.port,
19251            'port_override': self.port_override,
19252            'proxy_cluster_id': self.proxy_cluster_id,
19253            'secret_store_id': self.secret_store_id,
19254            'subdomain': self.subdomain,
19255            'tags': self.tags,
19256        }
@classmethod
def from_dict(cls, d)
19258    @classmethod
19259    def from_dict(cls, d):
19260        return cls(
19261            bind_interface=d.get('bind_interface'),
19262            egress_filter=d.get('egress_filter'),
19263            endpoint=d.get('endpoint'),
19264            healthy=d.get('healthy'),
19265            id=d.get('id'),
19266            name=d.get('name'),
19267            port=d.get('port'),
19268            port_override=d.get('port_override'),
19269            proxy_cluster_id=d.get('proxy_cluster_id'),
19270            secret_store_id=d.get('secret_store_id'),
19271            subdomain=d.get('subdomain'),
19272            tags=d.get('tags'),
19273        )
class NeptuneIAM:
19276class NeptuneIAM:
19277    __slots__ = [
19278        'access_key',
19279        'bind_interface',
19280        'egress_filter',
19281        'endpoint',
19282        'healthy',
19283        'id',
19284        'name',
19285        'port',
19286        'port_override',
19287        'proxy_cluster_id',
19288        'region',
19289        'role_arn',
19290        'role_external_id',
19291        'secret_access_key',
19292        'secret_store_id',
19293        'subdomain',
19294        'tags',
19295    ]
19296
19297    def __init__(
19298        self,
19299        access_key=None,
19300        bind_interface=None,
19301        egress_filter=None,
19302        endpoint=None,
19303        healthy=None,
19304        id=None,
19305        name=None,
19306        port=None,
19307        port_override=None,
19308        proxy_cluster_id=None,
19309        region=None,
19310        role_arn=None,
19311        role_external_id=None,
19312        secret_access_key=None,
19313        secret_store_id=None,
19314        subdomain=None,
19315        tags=None,
19316    ):
19317        self.access_key = access_key if access_key is not None else ''
19318        '''
19319         The Access Key ID to use to authenticate.
19320        '''
19321        self.bind_interface = bind_interface if bind_interface is not None else ''
19322        '''
19323         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19324        '''
19325        self.egress_filter = egress_filter if egress_filter is not None else ''
19326        '''
19327         A filter applied to the routing logic to pin datasource to nodes.
19328        '''
19329        self.endpoint = endpoint if endpoint is not None else ''
19330        '''
19331         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19332        '''
19333        self.healthy = healthy if healthy is not None else False
19334        '''
19335         True if the datasource is reachable and the credentials are valid.
19336        '''
19337        self.id = id if id is not None else ''
19338        '''
19339         Unique identifier of the Resource.
19340        '''
19341        self.name = name if name is not None else ''
19342        '''
19343         Unique human-readable name of the Resource.
19344        '''
19345        self.port = port if port is not None else 0
19346        '''
19347         The port to dial to initiate a connection from the egress node to this resource.
19348        '''
19349        self.port_override = port_override if port_override is not None else 0
19350        '''
19351         The local port used by clients to connect to this resource.
19352        '''
19353        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19354        '''
19355         ID of the proxy cluster for this resource, if any.
19356        '''
19357        self.region = region if region is not None else ''
19358        '''
19359         The AWS region to connect to.
19360        '''
19361        self.role_arn = role_arn if role_arn is not None else ''
19362        '''
19363         The role to assume after logging in.
19364        '''
19365        self.role_external_id = role_external_id if role_external_id is not None else ''
19366        '''
19367         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19368        '''
19369        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19370        '''
19371         The Secret Access Key to use to authenticate.
19372        '''
19373        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19374        '''
19375         ID of the secret store containing credentials for this resource, if any.
19376        '''
19377        self.subdomain = subdomain if subdomain is not None else ''
19378        '''
19379         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19380        '''
19381        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19382        '''
19383         Tags is a map of key, value pairs.
19384        '''
19385
19386    def __repr__(self):
19387        return '<sdm.NeptuneIAM ' + \
19388            'access_key: ' + repr(self.access_key) + ' ' +\
19389            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19390            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19391            'endpoint: ' + repr(self.endpoint) + ' ' +\
19392            'healthy: ' + repr(self.healthy) + ' ' +\
19393            'id: ' + repr(self.id) + ' ' +\
19394            'name: ' + repr(self.name) + ' ' +\
19395            'port: ' + repr(self.port) + ' ' +\
19396            'port_override: ' + repr(self.port_override) + ' ' +\
19397            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19398            'region: ' + repr(self.region) + ' ' +\
19399            'role_arn: ' + repr(self.role_arn) + ' ' +\
19400            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
19401            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
19402            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19403            'subdomain: ' + repr(self.subdomain) + ' ' +\
19404            'tags: ' + repr(self.tags) + ' ' +\
19405            '>'
19406
19407    def to_dict(self):
19408        return {
19409            'access_key': self.access_key,
19410            'bind_interface': self.bind_interface,
19411            'egress_filter': self.egress_filter,
19412            'endpoint': self.endpoint,
19413            'healthy': self.healthy,
19414            'id': self.id,
19415            'name': self.name,
19416            'port': self.port,
19417            'port_override': self.port_override,
19418            'proxy_cluster_id': self.proxy_cluster_id,
19419            'region': self.region,
19420            'role_arn': self.role_arn,
19421            'role_external_id': self.role_external_id,
19422            'secret_access_key': self.secret_access_key,
19423            'secret_store_id': self.secret_store_id,
19424            'subdomain': self.subdomain,
19425            'tags': self.tags,
19426        }
19427
19428    @classmethod
19429    def from_dict(cls, d):
19430        return cls(
19431            access_key=d.get('access_key'),
19432            bind_interface=d.get('bind_interface'),
19433            egress_filter=d.get('egress_filter'),
19434            endpoint=d.get('endpoint'),
19435            healthy=d.get('healthy'),
19436            id=d.get('id'),
19437            name=d.get('name'),
19438            port=d.get('port'),
19439            port_override=d.get('port_override'),
19440            proxy_cluster_id=d.get('proxy_cluster_id'),
19441            region=d.get('region'),
19442            role_arn=d.get('role_arn'),
19443            role_external_id=d.get('role_external_id'),
19444            secret_access_key=d.get('secret_access_key'),
19445            secret_store_id=d.get('secret_store_id'),
19446            subdomain=d.get('subdomain'),
19447            tags=d.get('tags'),
19448        )
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)
19297    def __init__(
19298        self,
19299        access_key=None,
19300        bind_interface=None,
19301        egress_filter=None,
19302        endpoint=None,
19303        healthy=None,
19304        id=None,
19305        name=None,
19306        port=None,
19307        port_override=None,
19308        proxy_cluster_id=None,
19309        region=None,
19310        role_arn=None,
19311        role_external_id=None,
19312        secret_access_key=None,
19313        secret_store_id=None,
19314        subdomain=None,
19315        tags=None,
19316    ):
19317        self.access_key = access_key if access_key is not None else ''
19318        '''
19319         The Access Key ID to use to authenticate.
19320        '''
19321        self.bind_interface = bind_interface if bind_interface is not None else ''
19322        '''
19323         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19324        '''
19325        self.egress_filter = egress_filter if egress_filter is not None else ''
19326        '''
19327         A filter applied to the routing logic to pin datasource to nodes.
19328        '''
19329        self.endpoint = endpoint if endpoint is not None else ''
19330        '''
19331         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
19332        '''
19333        self.healthy = healthy if healthy is not None else False
19334        '''
19335         True if the datasource is reachable and the credentials are valid.
19336        '''
19337        self.id = id if id is not None else ''
19338        '''
19339         Unique identifier of the Resource.
19340        '''
19341        self.name = name if name is not None else ''
19342        '''
19343         Unique human-readable name of the Resource.
19344        '''
19345        self.port = port if port is not None else 0
19346        '''
19347         The port to dial to initiate a connection from the egress node to this resource.
19348        '''
19349        self.port_override = port_override if port_override is not None else 0
19350        '''
19351         The local port used by clients to connect to this resource.
19352        '''
19353        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19354        '''
19355         ID of the proxy cluster for this resource, if any.
19356        '''
19357        self.region = region if region is not None else ''
19358        '''
19359         The AWS region to connect to.
19360        '''
19361        self.role_arn = role_arn if role_arn is not None else ''
19362        '''
19363         The role to assume after logging in.
19364        '''
19365        self.role_external_id = role_external_id if role_external_id is not None else ''
19366        '''
19367         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
19368        '''
19369        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
19370        '''
19371         The Secret Access Key to use to authenticate.
19372        '''
19373        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19374        '''
19375         ID of the secret store containing credentials for this resource, if any.
19376        '''
19377        self.subdomain = subdomain if subdomain is not None else ''
19378        '''
19379         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19380        '''
19381        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19382        '''
19383         Tags is a map of key, value pairs.
19384        '''
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)
19407    def to_dict(self):
19408        return {
19409            'access_key': self.access_key,
19410            'bind_interface': self.bind_interface,
19411            'egress_filter': self.egress_filter,
19412            'endpoint': self.endpoint,
19413            'healthy': self.healthy,
19414            'id': self.id,
19415            'name': self.name,
19416            'port': self.port,
19417            'port_override': self.port_override,
19418            'proxy_cluster_id': self.proxy_cluster_id,
19419            'region': self.region,
19420            'role_arn': self.role_arn,
19421            'role_external_id': self.role_external_id,
19422            'secret_access_key': self.secret_access_key,
19423            'secret_store_id': self.secret_store_id,
19424            'subdomain': self.subdomain,
19425            'tags': self.tags,
19426        }
@classmethod
def from_dict(cls, d)
19428    @classmethod
19429    def from_dict(cls, d):
19430        return cls(
19431            access_key=d.get('access_key'),
19432            bind_interface=d.get('bind_interface'),
19433            egress_filter=d.get('egress_filter'),
19434            endpoint=d.get('endpoint'),
19435            healthy=d.get('healthy'),
19436            id=d.get('id'),
19437            name=d.get('name'),
19438            port=d.get('port'),
19439            port_override=d.get('port_override'),
19440            proxy_cluster_id=d.get('proxy_cluster_id'),
19441            region=d.get('region'),
19442            role_arn=d.get('role_arn'),
19443            role_external_id=d.get('role_external_id'),
19444            secret_access_key=d.get('secret_access_key'),
19445            secret_store_id=d.get('secret_store_id'),
19446            subdomain=d.get('subdomain'),
19447            tags=d.get('tags'),
19448        )
class NodeCreateResponse:
19451class NodeCreateResponse:
19452    '''
19453         NodeCreateResponse reports how the Nodes were created in the system.
19454    '''
19455    __slots__ = [
19456        'meta',
19457        'node',
19458        'rate_limit',
19459        'token',
19460    ]
19461
19462    def __init__(
19463        self,
19464        meta=None,
19465        node=None,
19466        rate_limit=None,
19467        token=None,
19468    ):
19469        self.meta = meta if meta is not None else None
19470        '''
19471         Reserved for future use.
19472        '''
19473        self.node = node if node is not None else None
19474        '''
19475         The created Node.
19476        '''
19477        self.rate_limit = rate_limit if rate_limit is not None else None
19478        '''
19479         Rate limit information.
19480        '''
19481        self.token = token if token is not None else ''
19482        '''
19483         The auth token generated for the Node. The Node will use this token to
19484         authenticate with the strongDM API.
19485        '''
19486
19487    def __repr__(self):
19488        return '<sdm.NodeCreateResponse ' + \
19489            'meta: ' + repr(self.meta) + ' ' +\
19490            'node: ' + repr(self.node) + ' ' +\
19491            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19492            'token: ' + repr(self.token) + ' ' +\
19493            '>'
19494
19495    def to_dict(self):
19496        return {
19497            'meta': self.meta,
19498            'node': self.node,
19499            'rate_limit': self.rate_limit,
19500            'token': self.token,
19501        }
19502
19503    @classmethod
19504    def from_dict(cls, d):
19505        return cls(
19506            meta=d.get('meta'),
19507            node=d.get('node'),
19508            rate_limit=d.get('rate_limit'),
19509            token=d.get('token'),
19510        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
19462    def __init__(
19463        self,
19464        meta=None,
19465        node=None,
19466        rate_limit=None,
19467        token=None,
19468    ):
19469        self.meta = meta if meta is not None else None
19470        '''
19471         Reserved for future use.
19472        '''
19473        self.node = node if node is not None else None
19474        '''
19475         The created Node.
19476        '''
19477        self.rate_limit = rate_limit if rate_limit is not None else None
19478        '''
19479         Rate limit information.
19480        '''
19481        self.token = token if token is not None else ''
19482        '''
19483         The auth token generated for the Node. The Node will use this token to
19484         authenticate with the strongDM API.
19485        '''
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)
19495    def to_dict(self):
19496        return {
19497            'meta': self.meta,
19498            'node': self.node,
19499            'rate_limit': self.rate_limit,
19500            'token': self.token,
19501        }
@classmethod
def from_dict(cls, d)
19503    @classmethod
19504    def from_dict(cls, d):
19505        return cls(
19506            meta=d.get('meta'),
19507            node=d.get('node'),
19508            rate_limit=d.get('rate_limit'),
19509            token=d.get('token'),
19510        )
class NodeDeleteResponse:
19513class NodeDeleteResponse:
19514    '''
19515         NodeDeleteResponse returns information about a Node that was deleted.
19516    '''
19517    __slots__ = [
19518        'meta',
19519        'rate_limit',
19520    ]
19521
19522    def __init__(
19523        self,
19524        meta=None,
19525        rate_limit=None,
19526    ):
19527        self.meta = meta if meta is not None else None
19528        '''
19529         Reserved for future use.
19530        '''
19531        self.rate_limit = rate_limit if rate_limit is not None else None
19532        '''
19533         Rate limit information.
19534        '''
19535
19536    def __repr__(self):
19537        return '<sdm.NodeDeleteResponse ' + \
19538            'meta: ' + repr(self.meta) + ' ' +\
19539            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19540            '>'
19541
19542    def to_dict(self):
19543        return {
19544            'meta': self.meta,
19545            'rate_limit': self.rate_limit,
19546        }
19547
19548    @classmethod
19549    def from_dict(cls, d):
19550        return cls(
19551            meta=d.get('meta'),
19552            rate_limit=d.get('rate_limit'),
19553        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
19522    def __init__(
19523        self,
19524        meta=None,
19525        rate_limit=None,
19526    ):
19527        self.meta = meta if meta is not None else None
19528        '''
19529         Reserved for future use.
19530        '''
19531        self.rate_limit = rate_limit if rate_limit is not None else None
19532        '''
19533         Rate limit information.
19534        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19542    def to_dict(self):
19543        return {
19544            'meta': self.meta,
19545            'rate_limit': self.rate_limit,
19546        }
@classmethod
def from_dict(cls, d)
19548    @classmethod
19549    def from_dict(cls, d):
19550        return cls(
19551            meta=d.get('meta'),
19552            rate_limit=d.get('rate_limit'),
19553        )
class NodeGetResponse:
19556class NodeGetResponse:
19557    '''
19558         NodeGetResponse returns a requested Node.
19559    '''
19560    __slots__ = [
19561        'meta',
19562        'node',
19563        'rate_limit',
19564    ]
19565
19566    def __init__(
19567        self,
19568        meta=None,
19569        node=None,
19570        rate_limit=None,
19571    ):
19572        self.meta = meta if meta is not None else None
19573        '''
19574         Reserved for future use.
19575        '''
19576        self.node = node if node is not None else None
19577        '''
19578         The requested Node.
19579        '''
19580        self.rate_limit = rate_limit if rate_limit is not None else None
19581        '''
19582         Rate limit information.
19583        '''
19584
19585    def __repr__(self):
19586        return '<sdm.NodeGetResponse ' + \
19587            'meta: ' + repr(self.meta) + ' ' +\
19588            'node: ' + repr(self.node) + ' ' +\
19589            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19590            '>'
19591
19592    def to_dict(self):
19593        return {
19594            'meta': self.meta,
19595            'node': self.node,
19596            'rate_limit': self.rate_limit,
19597        }
19598
19599    @classmethod
19600    def from_dict(cls, d):
19601        return cls(
19602            meta=d.get('meta'),
19603            node=d.get('node'),
19604            rate_limit=d.get('rate_limit'),
19605        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
19566    def __init__(
19567        self,
19568        meta=None,
19569        node=None,
19570        rate_limit=None,
19571    ):
19572        self.meta = meta if meta is not None else None
19573        '''
19574         Reserved for future use.
19575        '''
19576        self.node = node if node is not None else None
19577        '''
19578         The requested Node.
19579        '''
19580        self.rate_limit = rate_limit if rate_limit is not None else None
19581        '''
19582         Rate limit information.
19583        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
19592    def to_dict(self):
19593        return {
19594            'meta': self.meta,
19595            'node': self.node,
19596            'rate_limit': self.rate_limit,
19597        }
@classmethod
def from_dict(cls, d)
19599    @classmethod
19600    def from_dict(cls, d):
19601        return cls(
19602            meta=d.get('meta'),
19603            node=d.get('node'),
19604            rate_limit=d.get('rate_limit'),
19605        )
class NodeHistory:
19608class NodeHistory:
19609    '''
19610         NodeHistory records the state of a Node at a given point in time,
19611     where every change (create, update and delete) to a Node produces an
19612     NodeHistory record.
19613    '''
19614    __slots__ = [
19615        'activity_id',
19616        'deleted_at',
19617        'node',
19618        'timestamp',
19619    ]
19620
19621    def __init__(
19622        self,
19623        activity_id=None,
19624        deleted_at=None,
19625        node=None,
19626        timestamp=None,
19627    ):
19628        self.activity_id = activity_id if activity_id is not None else ''
19629        '''
19630         The unique identifier of the Activity that produced this change to the Node.
19631         May be empty for some system-initiated updates.
19632        '''
19633        self.deleted_at = deleted_at if deleted_at is not None else None
19634        '''
19635         If this Node was deleted, the time it was deleted.
19636        '''
19637        self.node = node if node is not None else None
19638        '''
19639         The complete Node state at this time.
19640        '''
19641        self.timestamp = timestamp if timestamp is not None else None
19642        '''
19643         The time at which the Node state was recorded.
19644        '''
19645
19646    def __repr__(self):
19647        return '<sdm.NodeHistory ' + \
19648            'activity_id: ' + repr(self.activity_id) + ' ' +\
19649            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
19650            'node: ' + repr(self.node) + ' ' +\
19651            'timestamp: ' + repr(self.timestamp) + ' ' +\
19652            '>'
19653
19654    def to_dict(self):
19655        return {
19656            'activity_id': self.activity_id,
19657            'deleted_at': self.deleted_at,
19658            'node': self.node,
19659            'timestamp': self.timestamp,
19660        }
19661
19662    @classmethod
19663    def from_dict(cls, d):
19664        return cls(
19665            activity_id=d.get('activity_id'),
19666            deleted_at=d.get('deleted_at'),
19667            node=d.get('node'),
19668            timestamp=d.get('timestamp'),
19669        )

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)
19621    def __init__(
19622        self,
19623        activity_id=None,
19624        deleted_at=None,
19625        node=None,
19626        timestamp=None,
19627    ):
19628        self.activity_id = activity_id if activity_id is not None else ''
19629        '''
19630         The unique identifier of the Activity that produced this change to the Node.
19631         May be empty for some system-initiated updates.
19632        '''
19633        self.deleted_at = deleted_at if deleted_at is not None else None
19634        '''
19635         If this Node was deleted, the time it was deleted.
19636        '''
19637        self.node = node if node is not None else None
19638        '''
19639         The complete Node state at this time.
19640        '''
19641        self.timestamp = timestamp if timestamp is not None else None
19642        '''
19643         The time at which the Node state was recorded.
19644        '''
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)
19654    def to_dict(self):
19655        return {
19656            'activity_id': self.activity_id,
19657            'deleted_at': self.deleted_at,
19658            'node': self.node,
19659            'timestamp': self.timestamp,
19660        }
@classmethod
def from_dict(cls, d)
19662    @classmethod
19663    def from_dict(cls, d):
19664        return cls(
19665            activity_id=d.get('activity_id'),
19666            deleted_at=d.get('deleted_at'),
19667            node=d.get('node'),
19668            timestamp=d.get('timestamp'),
19669        )
class NodeMaintenanceWindow:
19672class NodeMaintenanceWindow:
19673    __slots__ = [
19674        'cron_schedule',
19675        'require_idleness',
19676    ]
19677
19678    def __init__(
19679        self,
19680        cron_schedule=None,
19681        require_idleness=None,
19682    ):
19683        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19684        '''
19685         Cron job syntax for when this maintenance window is active. On this schedule, associated
19686         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19687         are represented in UTC.
19688         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19689         Saturday. Not all possible inputs are supported: the month and day of month selections
19690         must be '*'.
19691        '''
19692        self.require_idleness = require_idleness if require_idleness is not None else False
19693        '''
19694         Require Idleness defines whether this window can sever live connections. If true,
19695         this window will not allow a node to be restarted unless it is serving no connections.
19696         If false, given a restart of the node has been requested (for an update, usually), the
19697         node will restart as soon as it enters an allowed day / hour combination. At least one
19698         maintenance window, out of all configured windows for a node, must have this as false.
19699        '''
19700
19701    def __repr__(self):
19702        return '<sdm.NodeMaintenanceWindow ' + \
19703            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
19704            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
19705            '>'
19706
19707    def to_dict(self):
19708        return {
19709            'cron_schedule': self.cron_schedule,
19710            'require_idleness': self.require_idleness,
19711        }
19712
19713    @classmethod
19714    def from_dict(cls, d):
19715        return cls(
19716            cron_schedule=d.get('cron_schedule'),
19717            require_idleness=d.get('require_idleness'),
19718        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
19678    def __init__(
19679        self,
19680        cron_schedule=None,
19681        require_idleness=None,
19682    ):
19683        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
19684        '''
19685         Cron job syntax for when this maintenance window is active. On this schedule, associated
19686         nodes will restart if requested, provided other checks allow the restart to proceed. Times
19687         are represented in UTC.
19688         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
19689         Saturday. Not all possible inputs are supported: the month and day of month selections
19690         must be '*'.
19691        '''
19692        self.require_idleness = require_idleness if require_idleness is not None else False
19693        '''
19694         Require Idleness defines whether this window can sever live connections. If true,
19695         this window will not allow a node to be restarted unless it is serving no connections.
19696         If false, given a restart of the node has been requested (for an update, usually), the
19697         node will restart as soon as it enters an allowed day / hour combination. At least one
19698         maintenance window, out of all configured windows for a node, must have this as false.
19699        '''
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)
19707    def to_dict(self):
19708        return {
19709            'cron_schedule': self.cron_schedule,
19710            'require_idleness': self.require_idleness,
19711        }
@classmethod
def from_dict(cls, d)
19713    @classmethod
19714    def from_dict(cls, d):
19715        return cls(
19716            cron_schedule=d.get('cron_schedule'),
19717            require_idleness=d.get('require_idleness'),
19718        )
class NodeUpdateResponse:
19721class NodeUpdateResponse:
19722    '''
19723         NodeUpdateResponse returns the fields of a Node after it has been updated by
19724     a NodeUpdateRequest.
19725    '''
19726    __slots__ = [
19727        'meta',
19728        'node',
19729        'rate_limit',
19730    ]
19731
19732    def __init__(
19733        self,
19734        meta=None,
19735        node=None,
19736        rate_limit=None,
19737    ):
19738        self.meta = meta if meta is not None else None
19739        '''
19740         Reserved for future use.
19741        '''
19742        self.node = node if node is not None else None
19743        '''
19744         The updated Node.
19745        '''
19746        self.rate_limit = rate_limit if rate_limit is not None else None
19747        '''
19748         Rate limit information.
19749        '''
19750
19751    def __repr__(self):
19752        return '<sdm.NodeUpdateResponse ' + \
19753            'meta: ' + repr(self.meta) + ' ' +\
19754            'node: ' + repr(self.node) + ' ' +\
19755            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19756            '>'
19757
19758    def to_dict(self):
19759        return {
19760            'meta': self.meta,
19761            'node': self.node,
19762            'rate_limit': self.rate_limit,
19763        }
19764
19765    @classmethod
19766    def from_dict(cls, d):
19767        return cls(
19768            meta=d.get('meta'),
19769            node=d.get('node'),
19770            rate_limit=d.get('rate_limit'),
19771        )

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

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
19732    def __init__(
19733        self,
19734        meta=None,
19735        node=None,
19736        rate_limit=None,
19737    ):
19738        self.meta = meta if meta is not None else None
19739        '''
19740         Reserved for future use.
19741        '''
19742        self.node = node if node is not None else None
19743        '''
19744         The updated Node.
19745        '''
19746        self.rate_limit = rate_limit if rate_limit is not None else None
19747        '''
19748         Rate limit information.
19749        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
19758    def to_dict(self):
19759        return {
19760            'meta': self.meta,
19761            'node': self.node,
19762            'rate_limit': self.rate_limit,
19763        }
@classmethod
def from_dict(cls, d)
19765    @classmethod
19766    def from_dict(cls, d):
19767        return cls(
19768            meta=d.get('meta'),
19769            node=d.get('node'),
19770            rate_limit=d.get('rate_limit'),
19771        )
class Oracle:
19774class Oracle:
19775    __slots__ = [
19776        'bind_interface',
19777        'database',
19778        'egress_filter',
19779        'healthy',
19780        'hostname',
19781        'id',
19782        'name',
19783        'password',
19784        'port',
19785        'port_override',
19786        'proxy_cluster_id',
19787        'secret_store_id',
19788        'subdomain',
19789        'tags',
19790        'tls_required',
19791        'username',
19792    ]
19793
19794    def __init__(
19795        self,
19796        bind_interface=None,
19797        database=None,
19798        egress_filter=None,
19799        healthy=None,
19800        hostname=None,
19801        id=None,
19802        name=None,
19803        password=None,
19804        port=None,
19805        port_override=None,
19806        proxy_cluster_id=None,
19807        secret_store_id=None,
19808        subdomain=None,
19809        tags=None,
19810        tls_required=None,
19811        username=None,
19812    ):
19813        self.bind_interface = bind_interface if bind_interface is not None else ''
19814        '''
19815         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19816        '''
19817        self.database = database if database is not None else ''
19818        '''
19819         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19820        '''
19821        self.egress_filter = egress_filter if egress_filter is not None else ''
19822        '''
19823         A filter applied to the routing logic to pin datasource to nodes.
19824        '''
19825        self.healthy = healthy if healthy is not None else False
19826        '''
19827         True if the datasource is reachable and the credentials are valid.
19828        '''
19829        self.hostname = hostname if hostname is not None else ''
19830        '''
19831         The host to dial to initiate a connection from the egress node to this resource.
19832        '''
19833        self.id = id if id is not None else ''
19834        '''
19835         Unique identifier of the Resource.
19836        '''
19837        self.name = name if name is not None else ''
19838        '''
19839         Unique human-readable name of the Resource.
19840        '''
19841        self.password = password if password is not None else ''
19842        '''
19843         The password to authenticate with.
19844        '''
19845        self.port = port if port is not None else 0
19846        '''
19847         The port to dial to initiate a connection from the egress node to this resource.
19848        '''
19849        self.port_override = port_override if port_override is not None else 0
19850        '''
19851         The local port used by clients to connect to this resource.
19852        '''
19853        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19854        '''
19855         ID of the proxy cluster for this resource, if any.
19856        '''
19857        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19858        '''
19859         ID of the secret store containing credentials for this resource, if any.
19860        '''
19861        self.subdomain = subdomain if subdomain is not None else ''
19862        '''
19863         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19864        '''
19865        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19866        '''
19867         Tags is a map of key, value pairs.
19868        '''
19869        self.tls_required = tls_required if tls_required is not None else False
19870        '''
19871         If set, TLS must be used to connect to this resource.
19872        '''
19873        self.username = username if username is not None else ''
19874        '''
19875         The username to authenticate with.
19876        '''
19877
19878    def __repr__(self):
19879        return '<sdm.Oracle ' + \
19880            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
19881            'database: ' + repr(self.database) + ' ' +\
19882            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
19883            'healthy: ' + repr(self.healthy) + ' ' +\
19884            'hostname: ' + repr(self.hostname) + ' ' +\
19885            'id: ' + repr(self.id) + ' ' +\
19886            'name: ' + repr(self.name) + ' ' +\
19887            'password: ' + repr(self.password) + ' ' +\
19888            'port: ' + repr(self.port) + ' ' +\
19889            'port_override: ' + repr(self.port_override) + ' ' +\
19890            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
19891            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
19892            'subdomain: ' + repr(self.subdomain) + ' ' +\
19893            'tags: ' + repr(self.tags) + ' ' +\
19894            'tls_required: ' + repr(self.tls_required) + ' ' +\
19895            'username: ' + repr(self.username) + ' ' +\
19896            '>'
19897
19898    def to_dict(self):
19899        return {
19900            'bind_interface': self.bind_interface,
19901            'database': self.database,
19902            'egress_filter': self.egress_filter,
19903            'healthy': self.healthy,
19904            'hostname': self.hostname,
19905            'id': self.id,
19906            'name': self.name,
19907            'password': self.password,
19908            'port': self.port,
19909            'port_override': self.port_override,
19910            'proxy_cluster_id': self.proxy_cluster_id,
19911            'secret_store_id': self.secret_store_id,
19912            'subdomain': self.subdomain,
19913            'tags': self.tags,
19914            'tls_required': self.tls_required,
19915            'username': self.username,
19916        }
19917
19918    @classmethod
19919    def from_dict(cls, d):
19920        return cls(
19921            bind_interface=d.get('bind_interface'),
19922            database=d.get('database'),
19923            egress_filter=d.get('egress_filter'),
19924            healthy=d.get('healthy'),
19925            hostname=d.get('hostname'),
19926            id=d.get('id'),
19927            name=d.get('name'),
19928            password=d.get('password'),
19929            port=d.get('port'),
19930            port_override=d.get('port_override'),
19931            proxy_cluster_id=d.get('proxy_cluster_id'),
19932            secret_store_id=d.get('secret_store_id'),
19933            subdomain=d.get('subdomain'),
19934            tags=d.get('tags'),
19935            tls_required=d.get('tls_required'),
19936            username=d.get('username'),
19937        )
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)
19794    def __init__(
19795        self,
19796        bind_interface=None,
19797        database=None,
19798        egress_filter=None,
19799        healthy=None,
19800        hostname=None,
19801        id=None,
19802        name=None,
19803        password=None,
19804        port=None,
19805        port_override=None,
19806        proxy_cluster_id=None,
19807        secret_store_id=None,
19808        subdomain=None,
19809        tags=None,
19810        tls_required=None,
19811        username=None,
19812    ):
19813        self.bind_interface = bind_interface if bind_interface is not None else ''
19814        '''
19815         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
19816        '''
19817        self.database = database if database is not None else ''
19818        '''
19819         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
19820        '''
19821        self.egress_filter = egress_filter if egress_filter is not None else ''
19822        '''
19823         A filter applied to the routing logic to pin datasource to nodes.
19824        '''
19825        self.healthy = healthy if healthy is not None else False
19826        '''
19827         True if the datasource is reachable and the credentials are valid.
19828        '''
19829        self.hostname = hostname if hostname is not None else ''
19830        '''
19831         The host to dial to initiate a connection from the egress node to this resource.
19832        '''
19833        self.id = id if id is not None else ''
19834        '''
19835         Unique identifier of the Resource.
19836        '''
19837        self.name = name if name is not None else ''
19838        '''
19839         Unique human-readable name of the Resource.
19840        '''
19841        self.password = password if password is not None else ''
19842        '''
19843         The password to authenticate with.
19844        '''
19845        self.port = port if port is not None else 0
19846        '''
19847         The port to dial to initiate a connection from the egress node to this resource.
19848        '''
19849        self.port_override = port_override if port_override is not None else 0
19850        '''
19851         The local port used by clients to connect to this resource.
19852        '''
19853        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
19854        '''
19855         ID of the proxy cluster for this resource, if any.
19856        '''
19857        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
19858        '''
19859         ID of the secret store containing credentials for this resource, if any.
19860        '''
19861        self.subdomain = subdomain if subdomain is not None else ''
19862        '''
19863         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
19864        '''
19865        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
19866        '''
19867         Tags is a map of key, value pairs.
19868        '''
19869        self.tls_required = tls_required if tls_required is not None else False
19870        '''
19871         If set, TLS must be used to connect to this resource.
19872        '''
19873        self.username = username if username is not None else ''
19874        '''
19875         The username to authenticate with.
19876        '''
bind_interface

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

The bind interface is the IP 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)
20057    def to_dict(self):
20058        return {
20059            'bind_interface': self.bind_interface,
20060            'database': self.database,
20061            'egress_filter': self.egress_filter,
20062            'healthy': self.healthy,
20063            'hostname': self.hostname,
20064            'id': self.id,
20065            'name': self.name,
20066            'password': self.password,
20067            'port': self.port,
20068            'port_override': self.port_override,
20069            'proxy_cluster_id': self.proxy_cluster_id,
20070            'secret_store_id': self.secret_store_id,
20071            'subdomain': self.subdomain,
20072            'tags': self.tags,
20073            'username': self.username,
20074        }
@classmethod
def from_dict(cls, d)
20076    @classmethod
20077    def from_dict(cls, d):
20078        return cls(
20079            bind_interface=d.get('bind_interface'),
20080            database=d.get('database'),
20081            egress_filter=d.get('egress_filter'),
20082            healthy=d.get('healthy'),
20083            hostname=d.get('hostname'),
20084            id=d.get('id'),
20085            name=d.get('name'),
20086            password=d.get('password'),
20087            port=d.get('port'),
20088            port_override=d.get('port_override'),
20089            proxy_cluster_id=d.get('proxy_cluster_id'),
20090            secret_store_id=d.get('secret_store_id'),
20091            subdomain=d.get('subdomain'),
20092            tags=d.get('tags'),
20093            username=d.get('username'),
20094        )
class Organization:
20097class Organization:
20098    __slots__ = [
20099        'auth_provider',
20100        'created_at',
20101        'device_trust_enabled',
20102        'device_trust_provider',
20103        'discard_replays',
20104        'enforce_single_session',
20105        'idle_timeout',
20106        'idle_timeout_enabled',
20107        'kind',
20108        'log_local_encoder',
20109        'log_local_format',
20110        'log_local_storage',
20111        'log_remote_encoder',
20112        'log_socket_path',
20113        'log_tcp_address',
20114        'loopback_range',
20115        'mfa_enabled',
20116        'mfa_provider',
20117        'name',
20118        'public_key_pem',
20119        'require_secret_store',
20120        'saml_metadata_url',
20121        'scim_provider',
20122        'sensitive_label',
20123        'session_timeout',
20124        'session_timeout_enabled',
20125        'ssh_certificate_authority_public_key',
20126        'ssh_certificate_authority_updated_at',
20127        'updated_at',
20128        'websites_subdomain',
20129    ]
20130
20131    def __init__(
20132        self,
20133        auth_provider=None,
20134        created_at=None,
20135        device_trust_enabled=None,
20136        device_trust_provider=None,
20137        discard_replays=None,
20138        enforce_single_session=None,
20139        idle_timeout=None,
20140        idle_timeout_enabled=None,
20141        kind=None,
20142        log_local_encoder=None,
20143        log_local_format=None,
20144        log_local_storage=None,
20145        log_remote_encoder=None,
20146        log_socket_path=None,
20147        log_tcp_address=None,
20148        loopback_range=None,
20149        mfa_enabled=None,
20150        mfa_provider=None,
20151        name=None,
20152        public_key_pem=None,
20153        require_secret_store=None,
20154        saml_metadata_url=None,
20155        scim_provider=None,
20156        sensitive_label=None,
20157        session_timeout=None,
20158        session_timeout_enabled=None,
20159        ssh_certificate_authority_public_key=None,
20160        ssh_certificate_authority_updated_at=None,
20161        updated_at=None,
20162        websites_subdomain=None,
20163    ):
20164        self.auth_provider = auth_provider if auth_provider is not None else ''
20165        '''
20166         The Organization's authentication provider, one of the AuthProvider constants.
20167        '''
20168        self.created_at = created_at if created_at is not None else None
20169        '''
20170         The time at which the Organization was created.
20171        '''
20172        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20173        '''
20174         Indicates if the Organization has device trust enabled.
20175        '''
20176        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20177        '''
20178         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20179        '''
20180        self.discard_replays = discard_replays if discard_replays is not None else False
20181        '''
20182         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20183        '''
20184        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20185        '''
20186         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20187        '''
20188        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20189        '''
20190         The Organization's idle timeout, if enabled.
20191        '''
20192        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20193        '''
20194         Indicates if the Organization has idle timeouts enabled.
20195        '''
20196        self.kind = kind if kind is not None else ''
20197        '''
20198         The Organization's type, one of the OrgKind constants.
20199        '''
20200        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20201        '''
20202         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20203        '''
20204        self.log_local_format = log_local_format if log_local_format is not None else ''
20205        '''
20206         The Organization's local log format, one of the LogLocalFormat constants.
20207        '''
20208        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20209        '''
20210         The Organization's local log storage, one of the LogLocalStorage constants.
20211        '''
20212        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20213        '''
20214         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20215        '''
20216        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20217        '''
20218         The Organization's socket path for Socket local log storage.
20219        '''
20220        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20221        '''
20222         The Organization's TCP address for TCP or Syslog local log storage.
20223        '''
20224        self.loopback_range = loopback_range if loopback_range is not None else ''
20225        '''
20226         The Organization's loopback range.
20227        '''
20228        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20229        '''
20230         Indicates if the Organization has multi-factor authentication enabled.
20231        '''
20232        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20233        '''
20234         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20235        '''
20236        self.name = name if name is not None else ''
20237        '''
20238         The Organization's name.
20239        '''
20240        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20241        '''
20242         The Organization's public key PEM for encrypting remote logs.
20243        '''
20244        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20245        '''
20246         Indicates if the Organization requires secret stores.
20247        '''
20248        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20249        '''
20250         The Organization's URL for SAML metadata.
20251        '''
20252        self.scim_provider = scim_provider if scim_provider is not None else ''
20253        '''
20254         The Organization's SCIM provider, one of the SCIMProvider constants.
20255        '''
20256        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20257        '''
20258         The Organization's label for sensitive resources.
20259        '''
20260        self.session_timeout = session_timeout if session_timeout is not None else None
20261        '''
20262         The Organization's session timeout, if enabled.
20263        '''
20264        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20265        '''
20266         Indicates if the Organization has session timeouts enabled.
20267        '''
20268        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20269        '''
20270         The Organization's SSH certificate authority public key.
20271        '''
20272        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20273        '''
20274         The time at which the Organization's SSH certificate authority was last updated.
20275        '''
20276        self.updated_at = updated_at if updated_at is not None else None
20277        '''
20278         The time at which the Organization was last updated.
20279        '''
20280        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20281        '''
20282         The Organization's web site domain.
20283        '''
20284
20285    def __repr__(self):
20286        return '<sdm.Organization ' + \
20287            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
20288            'created_at: ' + repr(self.created_at) + ' ' +\
20289            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
20290            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
20291            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
20292            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
20293            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
20294            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
20295            'kind: ' + repr(self.kind) + ' ' +\
20296            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
20297            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
20298            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
20299            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
20300            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
20301            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
20302            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
20303            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
20304            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
20305            'name: ' + repr(self.name) + ' ' +\
20306            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
20307            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
20308            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
20309            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
20310            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
20311            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
20312            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
20313            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
20314            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
20315            'updated_at: ' + repr(self.updated_at) + ' ' +\
20316            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
20317            '>'
20318
20319    def to_dict(self):
20320        return {
20321            'auth_provider': self.auth_provider,
20322            'created_at': self.created_at,
20323            'device_trust_enabled': self.device_trust_enabled,
20324            'device_trust_provider': self.device_trust_provider,
20325            'discard_replays': self.discard_replays,
20326            'enforce_single_session': self.enforce_single_session,
20327            'idle_timeout': self.idle_timeout,
20328            'idle_timeout_enabled': self.idle_timeout_enabled,
20329            'kind': self.kind,
20330            'log_local_encoder': self.log_local_encoder,
20331            'log_local_format': self.log_local_format,
20332            'log_local_storage': self.log_local_storage,
20333            'log_remote_encoder': self.log_remote_encoder,
20334            'log_socket_path': self.log_socket_path,
20335            'log_tcp_address': self.log_tcp_address,
20336            'loopback_range': self.loopback_range,
20337            'mfa_enabled': self.mfa_enabled,
20338            'mfa_provider': self.mfa_provider,
20339            'name': self.name,
20340            'public_key_pem': self.public_key_pem,
20341            'require_secret_store': self.require_secret_store,
20342            'saml_metadata_url': self.saml_metadata_url,
20343            'scim_provider': self.scim_provider,
20344            'sensitive_label': self.sensitive_label,
20345            'session_timeout': self.session_timeout,
20346            'session_timeout_enabled': self.session_timeout_enabled,
20347            'ssh_certificate_authority_public_key':
20348            self.ssh_certificate_authority_public_key,
20349            'ssh_certificate_authority_updated_at':
20350            self.ssh_certificate_authority_updated_at,
20351            'updated_at': self.updated_at,
20352            'websites_subdomain': self.websites_subdomain,
20353        }
20354
20355    @classmethod
20356    def from_dict(cls, d):
20357        return cls(
20358            auth_provider=d.get('auth_provider'),
20359            created_at=d.get('created_at'),
20360            device_trust_enabled=d.get('device_trust_enabled'),
20361            device_trust_provider=d.get('device_trust_provider'),
20362            discard_replays=d.get('discard_replays'),
20363            enforce_single_session=d.get('enforce_single_session'),
20364            idle_timeout=d.get('idle_timeout'),
20365            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20366            kind=d.get('kind'),
20367            log_local_encoder=d.get('log_local_encoder'),
20368            log_local_format=d.get('log_local_format'),
20369            log_local_storage=d.get('log_local_storage'),
20370            log_remote_encoder=d.get('log_remote_encoder'),
20371            log_socket_path=d.get('log_socket_path'),
20372            log_tcp_address=d.get('log_tcp_address'),
20373            loopback_range=d.get('loopback_range'),
20374            mfa_enabled=d.get('mfa_enabled'),
20375            mfa_provider=d.get('mfa_provider'),
20376            name=d.get('name'),
20377            public_key_pem=d.get('public_key_pem'),
20378            require_secret_store=d.get('require_secret_store'),
20379            saml_metadata_url=d.get('saml_metadata_url'),
20380            scim_provider=d.get('scim_provider'),
20381            sensitive_label=d.get('sensitive_label'),
20382            session_timeout=d.get('session_timeout'),
20383            session_timeout_enabled=d.get('session_timeout_enabled'),
20384            ssh_certificate_authority_public_key=d.get(
20385                'ssh_certificate_authority_public_key'),
20386            ssh_certificate_authority_updated_at=d.get(
20387                'ssh_certificate_authority_updated_at'),
20388            updated_at=d.get('updated_at'),
20389            websites_subdomain=d.get('websites_subdomain'),
20390        )
Organization( auth_provider=None, created_at=None, device_trust_enabled=None, device_trust_provider=None, discard_replays=None, enforce_single_session=None, idle_timeout=None, idle_timeout_enabled=None, kind=None, log_local_encoder=None, log_local_format=None, log_local_storage=None, log_remote_encoder=None, log_socket_path=None, log_tcp_address=None, loopback_range=None, mfa_enabled=None, mfa_provider=None, name=None, public_key_pem=None, require_secret_store=None, saml_metadata_url=None, scim_provider=None, sensitive_label=None, session_timeout=None, session_timeout_enabled=None, ssh_certificate_authority_public_key=None, ssh_certificate_authority_updated_at=None, updated_at=None, websites_subdomain=None)
20131    def __init__(
20132        self,
20133        auth_provider=None,
20134        created_at=None,
20135        device_trust_enabled=None,
20136        device_trust_provider=None,
20137        discard_replays=None,
20138        enforce_single_session=None,
20139        idle_timeout=None,
20140        idle_timeout_enabled=None,
20141        kind=None,
20142        log_local_encoder=None,
20143        log_local_format=None,
20144        log_local_storage=None,
20145        log_remote_encoder=None,
20146        log_socket_path=None,
20147        log_tcp_address=None,
20148        loopback_range=None,
20149        mfa_enabled=None,
20150        mfa_provider=None,
20151        name=None,
20152        public_key_pem=None,
20153        require_secret_store=None,
20154        saml_metadata_url=None,
20155        scim_provider=None,
20156        sensitive_label=None,
20157        session_timeout=None,
20158        session_timeout_enabled=None,
20159        ssh_certificate_authority_public_key=None,
20160        ssh_certificate_authority_updated_at=None,
20161        updated_at=None,
20162        websites_subdomain=None,
20163    ):
20164        self.auth_provider = auth_provider if auth_provider is not None else ''
20165        '''
20166         The Organization's authentication provider, one of the AuthProvider constants.
20167        '''
20168        self.created_at = created_at if created_at is not None else None
20169        '''
20170         The time at which the Organization was created.
20171        '''
20172        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
20173        '''
20174         Indicates if the Organization has device trust enabled.
20175        '''
20176        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
20177        '''
20178         The Organization's device trust provider, one of the DeviceTrustProvider constants.
20179        '''
20180        self.discard_replays = discard_replays if discard_replays is not None else False
20181        '''
20182         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20183        '''
20184        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
20185        '''
20186         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
20187        '''
20188        self.idle_timeout = idle_timeout if idle_timeout is not None else None
20189        '''
20190         The Organization's idle timeout, if enabled.
20191        '''
20192        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
20193        '''
20194         Indicates if the Organization has idle timeouts enabled.
20195        '''
20196        self.kind = kind if kind is not None else ''
20197        '''
20198         The Organization's type, one of the OrgKind constants.
20199        '''
20200        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
20201        '''
20202         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20203        '''
20204        self.log_local_format = log_local_format if log_local_format is not None else ''
20205        '''
20206         The Organization's local log format, one of the LogLocalFormat constants.
20207        '''
20208        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
20209        '''
20210         The Organization's local log storage, one of the LogLocalStorage constants.
20211        '''
20212        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
20213        '''
20214         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20215        '''
20216        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
20217        '''
20218         The Organization's socket path for Socket local log storage.
20219        '''
20220        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
20221        '''
20222         The Organization's TCP address for TCP or Syslog local log storage.
20223        '''
20224        self.loopback_range = loopback_range if loopback_range is not None else ''
20225        '''
20226         The Organization's loopback range.
20227        '''
20228        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
20229        '''
20230         Indicates if the Organization has multi-factor authentication enabled.
20231        '''
20232        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
20233        '''
20234         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
20235        '''
20236        self.name = name if name is not None else ''
20237        '''
20238         The Organization's name.
20239        '''
20240        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
20241        '''
20242         The Organization's public key PEM for encrypting remote logs.
20243        '''
20244        self.require_secret_store = require_secret_store if require_secret_store is not None else False
20245        '''
20246         Indicates if the Organization requires secret stores.
20247        '''
20248        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
20249        '''
20250         The Organization's URL for SAML metadata.
20251        '''
20252        self.scim_provider = scim_provider if scim_provider is not None else ''
20253        '''
20254         The Organization's SCIM provider, one of the SCIMProvider constants.
20255        '''
20256        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
20257        '''
20258         The Organization's label for sensitive resources.
20259        '''
20260        self.session_timeout = session_timeout if session_timeout is not None else None
20261        '''
20262         The Organization's session timeout, if enabled.
20263        '''
20264        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
20265        '''
20266         Indicates if the Organization has session timeouts enabled.
20267        '''
20268        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
20269        '''
20270         The Organization's SSH certificate authority public key.
20271        '''
20272        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
20273        '''
20274         The time at which the Organization's SSH certificate authority was last updated.
20275        '''
20276        self.updated_at = updated_at if updated_at is not None else None
20277        '''
20278         The time at which the Organization was last updated.
20279        '''
20280        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
20281        '''
20282         The Organization's web site domain.
20283        '''
auth_provider

The Organization's authentication provider, one of the AuthProvider constants.

created_at

The time at which the Organization was created.

device_trust_enabled

Indicates if the Organization has device trust enabled.

device_trust_provider

The Organization's device trust provider, one of the DeviceTrustProvider constants.

discard_replays

Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.

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.

public_key_pem

The Organization's public key PEM for encrypting remote logs.

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)
20319    def to_dict(self):
20320        return {
20321            'auth_provider': self.auth_provider,
20322            'created_at': self.created_at,
20323            'device_trust_enabled': self.device_trust_enabled,
20324            'device_trust_provider': self.device_trust_provider,
20325            'discard_replays': self.discard_replays,
20326            'enforce_single_session': self.enforce_single_session,
20327            'idle_timeout': self.idle_timeout,
20328            'idle_timeout_enabled': self.idle_timeout_enabled,
20329            'kind': self.kind,
20330            'log_local_encoder': self.log_local_encoder,
20331            'log_local_format': self.log_local_format,
20332            'log_local_storage': self.log_local_storage,
20333            'log_remote_encoder': self.log_remote_encoder,
20334            'log_socket_path': self.log_socket_path,
20335            'log_tcp_address': self.log_tcp_address,
20336            'loopback_range': self.loopback_range,
20337            'mfa_enabled': self.mfa_enabled,
20338            'mfa_provider': self.mfa_provider,
20339            'name': self.name,
20340            'public_key_pem': self.public_key_pem,
20341            'require_secret_store': self.require_secret_store,
20342            'saml_metadata_url': self.saml_metadata_url,
20343            'scim_provider': self.scim_provider,
20344            'sensitive_label': self.sensitive_label,
20345            'session_timeout': self.session_timeout,
20346            'session_timeout_enabled': self.session_timeout_enabled,
20347            'ssh_certificate_authority_public_key':
20348            self.ssh_certificate_authority_public_key,
20349            'ssh_certificate_authority_updated_at':
20350            self.ssh_certificate_authority_updated_at,
20351            'updated_at': self.updated_at,
20352            'websites_subdomain': self.websites_subdomain,
20353        }
@classmethod
def from_dict(cls, d)
20355    @classmethod
20356    def from_dict(cls, d):
20357        return cls(
20358            auth_provider=d.get('auth_provider'),
20359            created_at=d.get('created_at'),
20360            device_trust_enabled=d.get('device_trust_enabled'),
20361            device_trust_provider=d.get('device_trust_provider'),
20362            discard_replays=d.get('discard_replays'),
20363            enforce_single_session=d.get('enforce_single_session'),
20364            idle_timeout=d.get('idle_timeout'),
20365            idle_timeout_enabled=d.get('idle_timeout_enabled'),
20366            kind=d.get('kind'),
20367            log_local_encoder=d.get('log_local_encoder'),
20368            log_local_format=d.get('log_local_format'),
20369            log_local_storage=d.get('log_local_storage'),
20370            log_remote_encoder=d.get('log_remote_encoder'),
20371            log_socket_path=d.get('log_socket_path'),
20372            log_tcp_address=d.get('log_tcp_address'),
20373            loopback_range=d.get('loopback_range'),
20374            mfa_enabled=d.get('mfa_enabled'),
20375            mfa_provider=d.get('mfa_provider'),
20376            name=d.get('name'),
20377            public_key_pem=d.get('public_key_pem'),
20378            require_secret_store=d.get('require_secret_store'),
20379            saml_metadata_url=d.get('saml_metadata_url'),
20380            scim_provider=d.get('scim_provider'),
20381            sensitive_label=d.get('sensitive_label'),
20382            session_timeout=d.get('session_timeout'),
20383            session_timeout_enabled=d.get('session_timeout_enabled'),
20384            ssh_certificate_authority_public_key=d.get(
20385                'ssh_certificate_authority_public_key'),
20386            ssh_certificate_authority_updated_at=d.get(
20387                'ssh_certificate_authority_updated_at'),
20388            updated_at=d.get('updated_at'),
20389            websites_subdomain=d.get('websites_subdomain'),
20390        )
class OrganizationHistoryRecord:
20393class OrganizationHistoryRecord:
20394    '''
20395         OrganizationHistoryRecord records the state of an Organization at a given point in time,
20396     where every change to an Organization produces an OrganizationHistoryRecord.
20397    '''
20398    __slots__ = [
20399        'activity_id',
20400        'organization',
20401        'timestamp',
20402    ]
20403
20404    def __init__(
20405        self,
20406        activity_id=None,
20407        organization=None,
20408        timestamp=None,
20409    ):
20410        self.activity_id = activity_id if activity_id is not None else ''
20411        '''
20412         The unique identifier of the Activity that produced this change to the Organization.
20413         May be empty for some system-initiated organization updates.
20414        '''
20415        self.organization = organization if organization is not None else None
20416        '''
20417         The complete Organization state at this time.
20418        '''
20419        self.timestamp = timestamp if timestamp is not None else None
20420        '''
20421         The time at which the Organization state was recorded.
20422        '''
20423
20424    def __repr__(self):
20425        return '<sdm.OrganizationHistoryRecord ' + \
20426            'activity_id: ' + repr(self.activity_id) + ' ' +\
20427            'organization: ' + repr(self.organization) + ' ' +\
20428            'timestamp: ' + repr(self.timestamp) + ' ' +\
20429            '>'
20430
20431    def to_dict(self):
20432        return {
20433            'activity_id': self.activity_id,
20434            'organization': self.organization,
20435            'timestamp': self.timestamp,
20436        }
20437
20438    @classmethod
20439    def from_dict(cls, d):
20440        return cls(
20441            activity_id=d.get('activity_id'),
20442            organization=d.get('organization'),
20443            timestamp=d.get('timestamp'),
20444        )

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)
20404    def __init__(
20405        self,
20406        activity_id=None,
20407        organization=None,
20408        timestamp=None,
20409    ):
20410        self.activity_id = activity_id if activity_id is not None else ''
20411        '''
20412         The unique identifier of the Activity that produced this change to the Organization.
20413         May be empty for some system-initiated organization updates.
20414        '''
20415        self.organization = organization if organization is not None else None
20416        '''
20417         The complete Organization state at this time.
20418        '''
20419        self.timestamp = timestamp if timestamp is not None else None
20420        '''
20421         The time at which the Organization state was recorded.
20422        '''
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)
20431    def to_dict(self):
20432        return {
20433            'activity_id': self.activity_id,
20434            'organization': self.organization,
20435            'timestamp': self.timestamp,
20436        }
@classmethod
def from_dict(cls, d)
20438    @classmethod
20439    def from_dict(cls, d):
20440        return cls(
20441            activity_id=d.get('activity_id'),
20442            organization=d.get('organization'),
20443            timestamp=d.get('timestamp'),
20444        )
class PeeringGroup:
20447class PeeringGroup:
20448    '''
20449         PeeringGroups are the building blocks used for explicit network topology making.
20450     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
20451    '''
20452    __slots__ = [
20453        'id',
20454        'name',
20455    ]
20456
20457    def __init__(
20458        self,
20459        id=None,
20460        name=None,
20461    ):
20462        self.id = id if id is not None else ''
20463        '''
20464         Unique identifier of the PeeringGroup.
20465        '''
20466        self.name = name if name is not None else ''
20467        '''
20468         Unique human-readable name of the PeeringGroup.
20469        '''
20470
20471    def __repr__(self):
20472        return '<sdm.PeeringGroup ' + \
20473            'id: ' + repr(self.id) + ' ' +\
20474            'name: ' + repr(self.name) + ' ' +\
20475            '>'
20476
20477    def to_dict(self):
20478        return {
20479            'id': self.id,
20480            'name': self.name,
20481        }
20482
20483    @classmethod
20484    def from_dict(cls, d):
20485        return cls(
20486            id=d.get('id'),
20487            name=d.get('name'),
20488        )

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)
20457    def __init__(
20458        self,
20459        id=None,
20460        name=None,
20461    ):
20462        self.id = id if id is not None else ''
20463        '''
20464         Unique identifier of the PeeringGroup.
20465        '''
20466        self.name = name if name is not None else ''
20467        '''
20468         Unique human-readable name of the PeeringGroup.
20469        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
20477    def to_dict(self):
20478        return {
20479            'id': self.id,
20480            'name': self.name,
20481        }
@classmethod
def from_dict(cls, d)
20483    @classmethod
20484    def from_dict(cls, d):
20485        return cls(
20486            id=d.get('id'),
20487            name=d.get('name'),
20488        )
class PeeringGroupCreateResponse:
20491class PeeringGroupCreateResponse:
20492    '''
20493         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
20494    '''
20495    __slots__ = [
20496        'meta',
20497        'peering_group',
20498        'rate_limit',
20499    ]
20500
20501    def __init__(
20502        self,
20503        meta=None,
20504        peering_group=None,
20505        rate_limit=None,
20506    ):
20507        self.meta = meta if meta is not None else None
20508        '''
20509         Reserved for future use.
20510        '''
20511        self.peering_group = peering_group if peering_group is not None else None
20512        '''
20513         The created PeeringGroup.
20514        '''
20515        self.rate_limit = rate_limit if rate_limit is not None else None
20516        '''
20517         Rate limit information.
20518        '''
20519
20520    def __repr__(self):
20521        return '<sdm.PeeringGroupCreateResponse ' + \
20522            'meta: ' + repr(self.meta) + ' ' +\
20523            'peering_group: ' + repr(self.peering_group) + ' ' +\
20524            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20525            '>'
20526
20527    def to_dict(self):
20528        return {
20529            'meta': self.meta,
20530            'peering_group': self.peering_group,
20531            'rate_limit': self.rate_limit,
20532        }
20533
20534    @classmethod
20535    def from_dict(cls, d):
20536        return cls(
20537            meta=d.get('meta'),
20538            peering_group=d.get('peering_group'),
20539            rate_limit=d.get('rate_limit'),
20540        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
20501    def __init__(
20502        self,
20503        meta=None,
20504        peering_group=None,
20505        rate_limit=None,
20506    ):
20507        self.meta = meta if meta is not None else None
20508        '''
20509         Reserved for future use.
20510        '''
20511        self.peering_group = peering_group if peering_group is not None else None
20512        '''
20513         The created PeeringGroup.
20514        '''
20515        self.rate_limit = rate_limit if rate_limit is not None else None
20516        '''
20517         Rate limit information.
20518        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20527    def to_dict(self):
20528        return {
20529            'meta': self.meta,
20530            'peering_group': self.peering_group,
20531            'rate_limit': self.rate_limit,
20532        }
@classmethod
def from_dict(cls, d)
20534    @classmethod
20535    def from_dict(cls, d):
20536        return cls(
20537            meta=d.get('meta'),
20538            peering_group=d.get('peering_group'),
20539            rate_limit=d.get('rate_limit'),
20540        )
class PeeringGroupDeleteResponse:
20543class PeeringGroupDeleteResponse:
20544    '''
20545         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
20546    '''
20547    __slots__ = [
20548        'meta',
20549        'rate_limit',
20550    ]
20551
20552    def __init__(
20553        self,
20554        meta=None,
20555        rate_limit=None,
20556    ):
20557        self.meta = meta if meta is not None else None
20558        '''
20559         Reserved for future use.
20560        '''
20561        self.rate_limit = rate_limit if rate_limit is not None else None
20562        '''
20563         Rate limit information.
20564        '''
20565
20566    def __repr__(self):
20567        return '<sdm.PeeringGroupDeleteResponse ' + \
20568            'meta: ' + repr(self.meta) + ' ' +\
20569            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20570            '>'
20571
20572    def to_dict(self):
20573        return {
20574            'meta': self.meta,
20575            'rate_limit': self.rate_limit,
20576        }
20577
20578    @classmethod
20579    def from_dict(cls, d):
20580        return cls(
20581            meta=d.get('meta'),
20582            rate_limit=d.get('rate_limit'),
20583        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
20552    def __init__(
20553        self,
20554        meta=None,
20555        rate_limit=None,
20556    ):
20557        self.meta = meta if meta is not None else None
20558        '''
20559         Reserved for future use.
20560        '''
20561        self.rate_limit = rate_limit if rate_limit is not None else None
20562        '''
20563         Rate limit information.
20564        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20572    def to_dict(self):
20573        return {
20574            'meta': self.meta,
20575            'rate_limit': self.rate_limit,
20576        }
@classmethod
def from_dict(cls, d)
20578    @classmethod
20579    def from_dict(cls, d):
20580        return cls(
20581            meta=d.get('meta'),
20582            rate_limit=d.get('rate_limit'),
20583        )
class PeeringGroupGetResponse:
20586class PeeringGroupGetResponse:
20587    '''
20588         PeeringGroupGetResponse returns a requested PeeringGroup.
20589    '''
20590    __slots__ = [
20591        'meta',
20592        'peering_group',
20593        'rate_limit',
20594    ]
20595
20596    def __init__(
20597        self,
20598        meta=None,
20599        peering_group=None,
20600        rate_limit=None,
20601    ):
20602        self.meta = meta if meta is not None else None
20603        '''
20604         Reserved for future use.
20605        '''
20606        self.peering_group = peering_group if peering_group is not None else None
20607        '''
20608         The requested PeeringGroup.
20609        '''
20610        self.rate_limit = rate_limit if rate_limit is not None else None
20611        '''
20612         Rate limit information.
20613        '''
20614
20615    def __repr__(self):
20616        return '<sdm.PeeringGroupGetResponse ' + \
20617            'meta: ' + repr(self.meta) + ' ' +\
20618            'peering_group: ' + repr(self.peering_group) + ' ' +\
20619            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20620            '>'
20621
20622    def to_dict(self):
20623        return {
20624            'meta': self.meta,
20625            'peering_group': self.peering_group,
20626            'rate_limit': self.rate_limit,
20627        }
20628
20629    @classmethod
20630    def from_dict(cls, d):
20631        return cls(
20632            meta=d.get('meta'),
20633            peering_group=d.get('peering_group'),
20634            rate_limit=d.get('rate_limit'),
20635        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
20596    def __init__(
20597        self,
20598        meta=None,
20599        peering_group=None,
20600        rate_limit=None,
20601    ):
20602        self.meta = meta if meta is not None else None
20603        '''
20604         Reserved for future use.
20605        '''
20606        self.peering_group = peering_group if peering_group is not None else None
20607        '''
20608         The requested PeeringGroup.
20609        '''
20610        self.rate_limit = rate_limit if rate_limit is not None else None
20611        '''
20612         Rate limit information.
20613        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
20622    def to_dict(self):
20623        return {
20624            'meta': self.meta,
20625            'peering_group': self.peering_group,
20626            'rate_limit': self.rate_limit,
20627        }
@classmethod
def from_dict(cls, d)
20629    @classmethod
20630    def from_dict(cls, d):
20631        return cls(
20632            meta=d.get('meta'),
20633            peering_group=d.get('peering_group'),
20634            rate_limit=d.get('rate_limit'),
20635        )
class PeeringGroupNode:
20638class PeeringGroupNode:
20639    '''
20640         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
20641    '''
20642    __slots__ = [
20643        'group_id',
20644        'id',
20645        'node_id',
20646    ]
20647
20648    def __init__(
20649        self,
20650        group_id=None,
20651        id=None,
20652        node_id=None,
20653    ):
20654        self.group_id = group_id if group_id is not None else ''
20655        '''
20656         Peering Group ID to which the node will be attached to.
20657        '''
20658        self.id = id if id is not None else ''
20659        '''
20660         Unique identifier of the Attachment.
20661        '''
20662        self.node_id = node_id if node_id is not None else ''
20663        '''
20664         Node ID to be attached.
20665        '''
20666
20667    def __repr__(self):
20668        return '<sdm.PeeringGroupNode ' + \
20669            'group_id: ' + repr(self.group_id) + ' ' +\
20670            'id: ' + repr(self.id) + ' ' +\
20671            'node_id: ' + repr(self.node_id) + ' ' +\
20672            '>'
20673
20674    def to_dict(self):
20675        return {
20676            'group_id': self.group_id,
20677            'id': self.id,
20678            'node_id': self.node_id,
20679        }
20680
20681    @classmethod
20682    def from_dict(cls, d):
20683        return cls(
20684            group_id=d.get('group_id'),
20685            id=d.get('id'),
20686            node_id=d.get('node_id'),
20687        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
20648    def __init__(
20649        self,
20650        group_id=None,
20651        id=None,
20652        node_id=None,
20653    ):
20654        self.group_id = group_id if group_id is not None else ''
20655        '''
20656         Peering Group ID to which the node will be attached to.
20657        '''
20658        self.id = id if id is not None else ''
20659        '''
20660         Unique identifier of the Attachment.
20661        '''
20662        self.node_id = node_id if node_id is not None else ''
20663        '''
20664         Node ID to be attached.
20665        '''
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)
20674    def to_dict(self):
20675        return {
20676            'group_id': self.group_id,
20677            'id': self.id,
20678            'node_id': self.node_id,
20679        }
@classmethod
def from_dict(cls, d)
20681    @classmethod
20682    def from_dict(cls, d):
20683        return cls(
20684            group_id=d.get('group_id'),
20685            id=d.get('id'),
20686            node_id=d.get('node_id'),
20687        )
class PeeringGroupNodeCreateResponse:
20690class PeeringGroupNodeCreateResponse:
20691    '''
20692         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
20693    '''
20694    __slots__ = [
20695        'meta',
20696        'peering_group_node',
20697        'rate_limit',
20698    ]
20699
20700    def __init__(
20701        self,
20702        meta=None,
20703        peering_group_node=None,
20704        rate_limit=None,
20705    ):
20706        self.meta = meta if meta is not None else None
20707        '''
20708         Reserved for future use.
20709        '''
20710        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20711        '''
20712         The created PeeringGroupNode.
20713        '''
20714        self.rate_limit = rate_limit if rate_limit is not None else None
20715        '''
20716         Rate limit information.
20717        '''
20718
20719    def __repr__(self):
20720        return '<sdm.PeeringGroupNodeCreateResponse ' + \
20721            'meta: ' + repr(self.meta) + ' ' +\
20722            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20724            '>'
20725
20726    def to_dict(self):
20727        return {
20728            'meta': self.meta,
20729            'peering_group_node': self.peering_group_node,
20730            'rate_limit': self.rate_limit,
20731        }
20732
20733    @classmethod
20734    def from_dict(cls, d):
20735        return cls(
20736            meta=d.get('meta'),
20737            peering_group_node=d.get('peering_group_node'),
20738            rate_limit=d.get('rate_limit'),
20739        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
20700    def __init__(
20701        self,
20702        meta=None,
20703        peering_group_node=None,
20704        rate_limit=None,
20705    ):
20706        self.meta = meta if meta is not None else None
20707        '''
20708         Reserved for future use.
20709        '''
20710        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20711        '''
20712         The created PeeringGroupNode.
20713        '''
20714        self.rate_limit = rate_limit if rate_limit is not None else None
20715        '''
20716         Rate limit information.
20717        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
20726    def to_dict(self):
20727        return {
20728            'meta': self.meta,
20729            'peering_group_node': self.peering_group_node,
20730            'rate_limit': self.rate_limit,
20731        }
@classmethod
def from_dict(cls, d)
20733    @classmethod
20734    def from_dict(cls, d):
20735        return cls(
20736            meta=d.get('meta'),
20737            peering_group_node=d.get('peering_group_node'),
20738            rate_limit=d.get('rate_limit'),
20739        )
class PeeringGroupNodeDeleteResponse:
20742class PeeringGroupNodeDeleteResponse:
20743    '''
20744         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
20745    '''
20746    __slots__ = [
20747        'meta',
20748        'rate_limit',
20749    ]
20750
20751    def __init__(
20752        self,
20753        meta=None,
20754        rate_limit=None,
20755    ):
20756        self.meta = meta if meta is not None else None
20757        '''
20758         Reserved for future use.
20759        '''
20760        self.rate_limit = rate_limit if rate_limit is not None else None
20761        '''
20762         Rate limit information.
20763        '''
20764
20765    def __repr__(self):
20766        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
20767            'meta: ' + repr(self.meta) + ' ' +\
20768            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20769            '>'
20770
20771    def to_dict(self):
20772        return {
20773            'meta': self.meta,
20774            'rate_limit': self.rate_limit,
20775        }
20776
20777    @classmethod
20778    def from_dict(cls, d):
20779        return cls(
20780            meta=d.get('meta'),
20781            rate_limit=d.get('rate_limit'),
20782        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
20751    def __init__(
20752        self,
20753        meta=None,
20754        rate_limit=None,
20755    ):
20756        self.meta = meta if meta is not None else None
20757        '''
20758         Reserved for future use.
20759        '''
20760        self.rate_limit = rate_limit if rate_limit is not None else None
20761        '''
20762         Rate limit information.
20763        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20771    def to_dict(self):
20772        return {
20773            'meta': self.meta,
20774            'rate_limit': self.rate_limit,
20775        }
@classmethod
def from_dict(cls, d)
20777    @classmethod
20778    def from_dict(cls, d):
20779        return cls(
20780            meta=d.get('meta'),
20781            rate_limit=d.get('rate_limit'),
20782        )
class PeeringGroupNodeGetResponse:
20785class PeeringGroupNodeGetResponse:
20786    '''
20787         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
20788    '''
20789    __slots__ = [
20790        'meta',
20791        'peering_group_node',
20792        'rate_limit',
20793    ]
20794
20795    def __init__(
20796        self,
20797        meta=None,
20798        peering_group_node=None,
20799        rate_limit=None,
20800    ):
20801        self.meta = meta if meta is not None else None
20802        '''
20803         Reserved for future use.
20804        '''
20805        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20806        '''
20807         The requested PeeringGroupNode.
20808        '''
20809        self.rate_limit = rate_limit if rate_limit is not None else None
20810        '''
20811         Rate limit information.
20812        '''
20813
20814    def __repr__(self):
20815        return '<sdm.PeeringGroupNodeGetResponse ' + \
20816            'meta: ' + repr(self.meta) + ' ' +\
20817            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
20818            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20819            '>'
20820
20821    def to_dict(self):
20822        return {
20823            'meta': self.meta,
20824            'peering_group_node': self.peering_group_node,
20825            'rate_limit': self.rate_limit,
20826        }
20827
20828    @classmethod
20829    def from_dict(cls, d):
20830        return cls(
20831            meta=d.get('meta'),
20832            peering_group_node=d.get('peering_group_node'),
20833            rate_limit=d.get('rate_limit'),
20834        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
20795    def __init__(
20796        self,
20797        meta=None,
20798        peering_group_node=None,
20799        rate_limit=None,
20800    ):
20801        self.meta = meta if meta is not None else None
20802        '''
20803         Reserved for future use.
20804        '''
20805        self.peering_group_node = peering_group_node if peering_group_node is not None else None
20806        '''
20807         The requested PeeringGroupNode.
20808        '''
20809        self.rate_limit = rate_limit if rate_limit is not None else None
20810        '''
20811         Rate limit information.
20812        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
20821    def to_dict(self):
20822        return {
20823            'meta': self.meta,
20824            'peering_group_node': self.peering_group_node,
20825            'rate_limit': self.rate_limit,
20826        }
@classmethod
def from_dict(cls, d)
20828    @classmethod
20829    def from_dict(cls, d):
20830        return cls(
20831            meta=d.get('meta'),
20832            peering_group_node=d.get('peering_group_node'),
20833            rate_limit=d.get('rate_limit'),
20834        )
class PeeringGroupPeer:
20837class PeeringGroupPeer:
20838    '''
20839         PeeringGroupPeer represents the link between two PeeringGroups
20840    '''
20841    __slots__ = [
20842        'group_id',
20843        'id',
20844        'peers_with_group_id',
20845    ]
20846
20847    def __init__(
20848        self,
20849        group_id=None,
20850        id=None,
20851        peers_with_group_id=None,
20852    ):
20853        self.group_id = group_id if group_id is not None else ''
20854        '''
20855         Group ID from which the link will originate.
20856        '''
20857        self.id = id if id is not None else ''
20858        '''
20859         Unique identifier of the Attachment.
20860        '''
20861        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20862        '''
20863         Peering Group ID to which Group ID will link.
20864        '''
20865
20866    def __repr__(self):
20867        return '<sdm.PeeringGroupPeer ' + \
20868            'group_id: ' + repr(self.group_id) + ' ' +\
20869            'id: ' + repr(self.id) + ' ' +\
20870            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
20871            '>'
20872
20873    def to_dict(self):
20874        return {
20875            'group_id': self.group_id,
20876            'id': self.id,
20877            'peers_with_group_id': self.peers_with_group_id,
20878        }
20879
20880    @classmethod
20881    def from_dict(cls, d):
20882        return cls(
20883            group_id=d.get('group_id'),
20884            id=d.get('id'),
20885            peers_with_group_id=d.get('peers_with_group_id'),
20886        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
20847    def __init__(
20848        self,
20849        group_id=None,
20850        id=None,
20851        peers_with_group_id=None,
20852    ):
20853        self.group_id = group_id if group_id is not None else ''
20854        '''
20855         Group ID from which the link will originate.
20856        '''
20857        self.id = id if id is not None else ''
20858        '''
20859         Unique identifier of the Attachment.
20860        '''
20861        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
20862        '''
20863         Peering Group ID to which Group ID will link.
20864        '''
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)
20873    def to_dict(self):
20874        return {
20875            'group_id': self.group_id,
20876            'id': self.id,
20877            'peers_with_group_id': self.peers_with_group_id,
20878        }
@classmethod
def from_dict(cls, d)
20880    @classmethod
20881    def from_dict(cls, d):
20882        return cls(
20883            group_id=d.get('group_id'),
20884            id=d.get('id'),
20885            peers_with_group_id=d.get('peers_with_group_id'),
20886        )
class PeeringGroupPeerCreateResponse:
20889class PeeringGroupPeerCreateResponse:
20890    '''
20891         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
20892    '''
20893    __slots__ = [
20894        'meta',
20895        'peering_group_peer',
20896        'rate_limit',
20897    ]
20898
20899    def __init__(
20900        self,
20901        meta=None,
20902        peering_group_peer=None,
20903        rate_limit=None,
20904    ):
20905        self.meta = meta if meta is not None else None
20906        '''
20907         Reserved for future use.
20908        '''
20909        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20910        '''
20911         The created PeeringGroupPeer.
20912        '''
20913        self.rate_limit = rate_limit if rate_limit is not None else None
20914        '''
20915         Rate limit information.
20916        '''
20917
20918    def __repr__(self):
20919        return '<sdm.PeeringGroupPeerCreateResponse ' + \
20920            'meta: ' + repr(self.meta) + ' ' +\
20921            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
20922            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20923            '>'
20924
20925    def to_dict(self):
20926        return {
20927            'meta': self.meta,
20928            'peering_group_peer': self.peering_group_peer,
20929            'rate_limit': self.rate_limit,
20930        }
20931
20932    @classmethod
20933    def from_dict(cls, d):
20934        return cls(
20935            meta=d.get('meta'),
20936            peering_group_peer=d.get('peering_group_peer'),
20937            rate_limit=d.get('rate_limit'),
20938        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
20899    def __init__(
20900        self,
20901        meta=None,
20902        peering_group_peer=None,
20903        rate_limit=None,
20904    ):
20905        self.meta = meta if meta is not None else None
20906        '''
20907         Reserved for future use.
20908        '''
20909        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
20910        '''
20911         The created PeeringGroupPeer.
20912        '''
20913        self.rate_limit = rate_limit if rate_limit is not None else None
20914        '''
20915         Rate limit information.
20916        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
20925    def to_dict(self):
20926        return {
20927            'meta': self.meta,
20928            'peering_group_peer': self.peering_group_peer,
20929            'rate_limit': self.rate_limit,
20930        }
@classmethod
def from_dict(cls, d)
20932    @classmethod
20933    def from_dict(cls, d):
20934        return cls(
20935            meta=d.get('meta'),
20936            peering_group_peer=d.get('peering_group_peer'),
20937            rate_limit=d.get('rate_limit'),
20938        )
class PeeringGroupPeerDeleteResponse:
20941class PeeringGroupPeerDeleteResponse:
20942    '''
20943         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
20944    '''
20945    __slots__ = [
20946        'meta',
20947        'rate_limit',
20948    ]
20949
20950    def __init__(
20951        self,
20952        meta=None,
20953        rate_limit=None,
20954    ):
20955        self.meta = meta if meta is not None else None
20956        '''
20957         Reserved for future use.
20958        '''
20959        self.rate_limit = rate_limit if rate_limit is not None else None
20960        '''
20961         Rate limit information.
20962        '''
20963
20964    def __repr__(self):
20965        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
20966            'meta: ' + repr(self.meta) + ' ' +\
20967            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
20968            '>'
20969
20970    def to_dict(self):
20971        return {
20972            'meta': self.meta,
20973            'rate_limit': self.rate_limit,
20974        }
20975
20976    @classmethod
20977    def from_dict(cls, d):
20978        return cls(
20979            meta=d.get('meta'),
20980            rate_limit=d.get('rate_limit'),
20981        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
20950    def __init__(
20951        self,
20952        meta=None,
20953        rate_limit=None,
20954    ):
20955        self.meta = meta if meta is not None else None
20956        '''
20957         Reserved for future use.
20958        '''
20959        self.rate_limit = rate_limit if rate_limit is not None else None
20960        '''
20961         Rate limit information.
20962        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
20970    def to_dict(self):
20971        return {
20972            'meta': self.meta,
20973            'rate_limit': self.rate_limit,
20974        }
@classmethod
def from_dict(cls, d)
20976    @classmethod
20977    def from_dict(cls, d):
20978        return cls(
20979            meta=d.get('meta'),
20980            rate_limit=d.get('rate_limit'),
20981        )
class PeeringGroupPeerGetResponse:
20984class PeeringGroupPeerGetResponse:
20985    '''
20986         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
20987    '''
20988    __slots__ = [
20989        'meta',
20990        'peering_group_peer',
20991        'rate_limit',
20992    ]
20993
20994    def __init__(
20995        self,
20996        meta=None,
20997        peering_group_peer=None,
20998        rate_limit=None,
20999    ):
21000        self.meta = meta if meta is not None else None
21001        '''
21002         Reserved for future use.
21003        '''
21004        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21005        '''
21006         The requested PeeringGroupPeer.
21007        '''
21008        self.rate_limit = rate_limit if rate_limit is not None else None
21009        '''
21010         Rate limit information.
21011        '''
21012
21013    def __repr__(self):
21014        return '<sdm.PeeringGroupPeerGetResponse ' + \
21015            'meta: ' + repr(self.meta) + ' ' +\
21016            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
21017            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21018            '>'
21019
21020    def to_dict(self):
21021        return {
21022            'meta': self.meta,
21023            'peering_group_peer': self.peering_group_peer,
21024            'rate_limit': self.rate_limit,
21025        }
21026
21027    @classmethod
21028    def from_dict(cls, d):
21029        return cls(
21030            meta=d.get('meta'),
21031            peering_group_peer=d.get('peering_group_peer'),
21032            rate_limit=d.get('rate_limit'),
21033        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
20994    def __init__(
20995        self,
20996        meta=None,
20997        peering_group_peer=None,
20998        rate_limit=None,
20999    ):
21000        self.meta = meta if meta is not None else None
21001        '''
21002         Reserved for future use.
21003        '''
21004        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
21005        '''
21006         The requested PeeringGroupPeer.
21007        '''
21008        self.rate_limit = rate_limit if rate_limit is not None else None
21009        '''
21010         Rate limit information.
21011        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
21020    def to_dict(self):
21021        return {
21022            'meta': self.meta,
21023            'peering_group_peer': self.peering_group_peer,
21024            'rate_limit': self.rate_limit,
21025        }
@classmethod
def from_dict(cls, d)
21027    @classmethod
21028    def from_dict(cls, d):
21029        return cls(
21030            meta=d.get('meta'),
21031            peering_group_peer=d.get('peering_group_peer'),
21032            rate_limit=d.get('rate_limit'),
21033        )
class PeeringGroupResource:
21036class PeeringGroupResource:
21037    '''
21038         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
21039    '''
21040    __slots__ = [
21041        'group_id',
21042        'id',
21043        'resource_id',
21044    ]
21045
21046    def __init__(
21047        self,
21048        group_id=None,
21049        id=None,
21050        resource_id=None,
21051    ):
21052        self.group_id = group_id if group_id is not None else ''
21053        '''
21054         Peering Group ID to which the resource will be attached to.
21055        '''
21056        self.id = id if id is not None else ''
21057        '''
21058         Unique identifier of the Attachment.
21059        '''
21060        self.resource_id = resource_id if resource_id is not None else ''
21061        '''
21062         Resource ID to be attached.
21063        '''
21064
21065    def __repr__(self):
21066        return '<sdm.PeeringGroupResource ' + \
21067            'group_id: ' + repr(self.group_id) + ' ' +\
21068            'id: ' + repr(self.id) + ' ' +\
21069            'resource_id: ' + repr(self.resource_id) + ' ' +\
21070            '>'
21071
21072    def to_dict(self):
21073        return {
21074            'group_id': self.group_id,
21075            'id': self.id,
21076            'resource_id': self.resource_id,
21077        }
21078
21079    @classmethod
21080    def from_dict(cls, d):
21081        return cls(
21082            group_id=d.get('group_id'),
21083            id=d.get('id'),
21084            resource_id=d.get('resource_id'),
21085        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
21046    def __init__(
21047        self,
21048        group_id=None,
21049        id=None,
21050        resource_id=None,
21051    ):
21052        self.group_id = group_id if group_id is not None else ''
21053        '''
21054         Peering Group ID to which the resource will be attached to.
21055        '''
21056        self.id = id if id is not None else ''
21057        '''
21058         Unique identifier of the Attachment.
21059        '''
21060        self.resource_id = resource_id if resource_id is not None else ''
21061        '''
21062         Resource ID to be attached.
21063        '''
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)
21072    def to_dict(self):
21073        return {
21074            'group_id': self.group_id,
21075            'id': self.id,
21076            'resource_id': self.resource_id,
21077        }
@classmethod
def from_dict(cls, d)
21079    @classmethod
21080    def from_dict(cls, d):
21081        return cls(
21082            group_id=d.get('group_id'),
21083            id=d.get('id'),
21084            resource_id=d.get('resource_id'),
21085        )
class PeeringGroupResourceCreateResponse:
21088class PeeringGroupResourceCreateResponse:
21089    '''
21090         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
21091    '''
21092    __slots__ = [
21093        'meta',
21094        'peering_group_resource',
21095        'rate_limit',
21096    ]
21097
21098    def __init__(
21099        self,
21100        meta=None,
21101        peering_group_resource=None,
21102        rate_limit=None,
21103    ):
21104        self.meta = meta if meta is not None else None
21105        '''
21106         Reserved for future use.
21107        '''
21108        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21109        '''
21110         The created PeeringGroupResource.
21111        '''
21112        self.rate_limit = rate_limit if rate_limit is not None else None
21113        '''
21114         Rate limit information.
21115        '''
21116
21117    def __repr__(self):
21118        return '<sdm.PeeringGroupResourceCreateResponse ' + \
21119            'meta: ' + repr(self.meta) + ' ' +\
21120            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21121            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21122            '>'
21123
21124    def to_dict(self):
21125        return {
21126            'meta': self.meta,
21127            'peering_group_resource': self.peering_group_resource,
21128            'rate_limit': self.rate_limit,
21129        }
21130
21131    @classmethod
21132    def from_dict(cls, d):
21133        return cls(
21134            meta=d.get('meta'),
21135            peering_group_resource=d.get('peering_group_resource'),
21136            rate_limit=d.get('rate_limit'),
21137        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
21098    def __init__(
21099        self,
21100        meta=None,
21101        peering_group_resource=None,
21102        rate_limit=None,
21103    ):
21104        self.meta = meta if meta is not None else None
21105        '''
21106         Reserved for future use.
21107        '''
21108        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21109        '''
21110         The created PeeringGroupResource.
21111        '''
21112        self.rate_limit = rate_limit if rate_limit is not None else None
21113        '''
21114         Rate limit information.
21115        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21124    def to_dict(self):
21125        return {
21126            'meta': self.meta,
21127            'peering_group_resource': self.peering_group_resource,
21128            'rate_limit': self.rate_limit,
21129        }
@classmethod
def from_dict(cls, d)
21131    @classmethod
21132    def from_dict(cls, d):
21133        return cls(
21134            meta=d.get('meta'),
21135            peering_group_resource=d.get('peering_group_resource'),
21136            rate_limit=d.get('rate_limit'),
21137        )
class PeeringGroupResourceDeleteResponse:
21140class PeeringGroupResourceDeleteResponse:
21141    '''
21142         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
21143    '''
21144    __slots__ = [
21145        'meta',
21146        'rate_limit',
21147    ]
21148
21149    def __init__(
21150        self,
21151        meta=None,
21152        rate_limit=None,
21153    ):
21154        self.meta = meta if meta is not None else None
21155        '''
21156         Reserved for future use.
21157        '''
21158        self.rate_limit = rate_limit if rate_limit is not None else None
21159        '''
21160         Rate limit information.
21161        '''
21162
21163    def __repr__(self):
21164        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
21165            'meta: ' + repr(self.meta) + ' ' +\
21166            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21167            '>'
21168
21169    def to_dict(self):
21170        return {
21171            'meta': self.meta,
21172            'rate_limit': self.rate_limit,
21173        }
21174
21175    @classmethod
21176    def from_dict(cls, d):
21177        return cls(
21178            meta=d.get('meta'),
21179            rate_limit=d.get('rate_limit'),
21180        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
21149    def __init__(
21150        self,
21151        meta=None,
21152        rate_limit=None,
21153    ):
21154        self.meta = meta if meta is not None else None
21155        '''
21156         Reserved for future use.
21157        '''
21158        self.rate_limit = rate_limit if rate_limit is not None else None
21159        '''
21160         Rate limit information.
21161        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21169    def to_dict(self):
21170        return {
21171            'meta': self.meta,
21172            'rate_limit': self.rate_limit,
21173        }
@classmethod
def from_dict(cls, d)
21175    @classmethod
21176    def from_dict(cls, d):
21177        return cls(
21178            meta=d.get('meta'),
21179            rate_limit=d.get('rate_limit'),
21180        )
class PeeringGroupResourceGetResponse:
21183class PeeringGroupResourceGetResponse:
21184    '''
21185         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
21186    '''
21187    __slots__ = [
21188        'meta',
21189        'peering_group_resource',
21190        'rate_limit',
21191    ]
21192
21193    def __init__(
21194        self,
21195        meta=None,
21196        peering_group_resource=None,
21197        rate_limit=None,
21198    ):
21199        self.meta = meta if meta is not None else None
21200        '''
21201         Reserved for future use.
21202        '''
21203        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21204        '''
21205         The requested PeeringGroupResource.
21206        '''
21207        self.rate_limit = rate_limit if rate_limit is not None else None
21208        '''
21209         Rate limit information.
21210        '''
21211
21212    def __repr__(self):
21213        return '<sdm.PeeringGroupResourceGetResponse ' + \
21214            'meta: ' + repr(self.meta) + ' ' +\
21215            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
21216            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21217            '>'
21218
21219    def to_dict(self):
21220        return {
21221            'meta': self.meta,
21222            'peering_group_resource': self.peering_group_resource,
21223            'rate_limit': self.rate_limit,
21224        }
21225
21226    @classmethod
21227    def from_dict(cls, d):
21228        return cls(
21229            meta=d.get('meta'),
21230            peering_group_resource=d.get('peering_group_resource'),
21231            rate_limit=d.get('rate_limit'),
21232        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
21193    def __init__(
21194        self,
21195        meta=None,
21196        peering_group_resource=None,
21197        rate_limit=None,
21198    ):
21199        self.meta = meta if meta is not None else None
21200        '''
21201         Reserved for future use.
21202        '''
21203        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
21204        '''
21205         The requested PeeringGroupResource.
21206        '''
21207        self.rate_limit = rate_limit if rate_limit is not None else None
21208        '''
21209         Rate limit information.
21210        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
21219    def to_dict(self):
21220        return {
21221            'meta': self.meta,
21222            'peering_group_resource': self.peering_group_resource,
21223            'rate_limit': self.rate_limit,
21224        }
@classmethod
def from_dict(cls, d)
21226    @classmethod
21227    def from_dict(cls, d):
21228        return cls(
21229            meta=d.get('meta'),
21230            peering_group_resource=d.get('peering_group_resource'),
21231            rate_limit=d.get('rate_limit'),
21232        )
class Policy:
21235class Policy:
21236    '''
21237         Policy is a collection of one or more statements that enforce fine-grained access control
21238     for the users of an organization.
21239    '''
21240    __slots__ = [
21241        'description',
21242        'id',
21243        'name',
21244        'policy',
21245    ]
21246
21247    def __init__(
21248        self,
21249        description=None,
21250        id=None,
21251        name=None,
21252        policy=None,
21253    ):
21254        self.description = description if description is not None else ''
21255        '''
21256         Optional description of the Policy.
21257        '''
21258        self.id = id if id is not None else ''
21259        '''
21260         Unique identifier of the Policy.
21261        '''
21262        self.name = name if name is not None else ''
21263        '''
21264         Unique human-readable name of the Policy.
21265        '''
21266        self.policy = policy if policy is not None else ''
21267        '''
21268         The content of the Policy, in Cedar policy language.
21269        '''
21270
21271    def __repr__(self):
21272        return '<sdm.Policy ' + \
21273            'description: ' + repr(self.description) + ' ' +\
21274            'id: ' + repr(self.id) + ' ' +\
21275            'name: ' + repr(self.name) + ' ' +\
21276            'policy: ' + repr(self.policy) + ' ' +\
21277            '>'
21278
21279    def to_dict(self):
21280        return {
21281            'description': self.description,
21282            'id': self.id,
21283            'name': self.name,
21284            'policy': self.policy,
21285        }
21286
21287    @classmethod
21288    def from_dict(cls, d):
21289        return cls(
21290            description=d.get('description'),
21291            id=d.get('id'),
21292            name=d.get('name'),
21293            policy=d.get('policy'),
21294        )

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)
21247    def __init__(
21248        self,
21249        description=None,
21250        id=None,
21251        name=None,
21252        policy=None,
21253    ):
21254        self.description = description if description is not None else ''
21255        '''
21256         Optional description of the Policy.
21257        '''
21258        self.id = id if id is not None else ''
21259        '''
21260         Unique identifier of the Policy.
21261        '''
21262        self.name = name if name is not None else ''
21263        '''
21264         Unique human-readable name of the Policy.
21265        '''
21266        self.policy = policy if policy is not None else ''
21267        '''
21268         The content of the Policy, in Cedar policy language.
21269        '''
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)
21279    def to_dict(self):
21280        return {
21281            'description': self.description,
21282            'id': self.id,
21283            'name': self.name,
21284            'policy': self.policy,
21285        }
@classmethod
def from_dict(cls, d)
21287    @classmethod
21288    def from_dict(cls, d):
21289        return cls(
21290            description=d.get('description'),
21291            id=d.get('id'),
21292            name=d.get('name'),
21293            policy=d.get('policy'),
21294        )
class PolicyCreateResponse:
21297class PolicyCreateResponse:
21298    '''
21299         PolicyCreateResponse reports how the Policy was created in the system.
21300    '''
21301    __slots__ = [
21302        'policy',
21303        'rate_limit',
21304    ]
21305
21306    def __init__(
21307        self,
21308        policy=None,
21309        rate_limit=None,
21310    ):
21311        self.policy = policy if policy is not None else None
21312        '''
21313         The created Policy.
21314        '''
21315        self.rate_limit = rate_limit if rate_limit is not None else None
21316        '''
21317         Rate limit information.
21318        '''
21319
21320    def __repr__(self):
21321        return '<sdm.PolicyCreateResponse ' + \
21322            'policy: ' + repr(self.policy) + ' ' +\
21323            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21324            '>'
21325
21326    def to_dict(self):
21327        return {
21328            'policy': self.policy,
21329            'rate_limit': self.rate_limit,
21330        }
21331
21332    @classmethod
21333    def from_dict(cls, d):
21334        return cls(
21335            policy=d.get('policy'),
21336            rate_limit=d.get('rate_limit'),
21337        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
21306    def __init__(
21307        self,
21308        policy=None,
21309        rate_limit=None,
21310    ):
21311        self.policy = policy if policy is not None else None
21312        '''
21313         The created Policy.
21314        '''
21315        self.rate_limit = rate_limit if rate_limit is not None else None
21316        '''
21317         Rate limit information.
21318        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
21326    def to_dict(self):
21327        return {
21328            'policy': self.policy,
21329            'rate_limit': self.rate_limit,
21330        }
@classmethod
def from_dict(cls, d)
21332    @classmethod
21333    def from_dict(cls, d):
21334        return cls(
21335            policy=d.get('policy'),
21336            rate_limit=d.get('rate_limit'),
21337        )
class PolicyDeleteResponse:
21340class PolicyDeleteResponse:
21341    '''
21342         PolicyDeleteResponse returns information about a Policy that was deleted.
21343    '''
21344    __slots__ = [
21345        'rate_limit',
21346    ]
21347
21348    def __init__(
21349        self,
21350        rate_limit=None,
21351    ):
21352        self.rate_limit = rate_limit if rate_limit is not None else None
21353        '''
21354         Rate limit information.
21355        '''
21356
21357    def __repr__(self):
21358        return '<sdm.PolicyDeleteResponse ' + \
21359            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21360            '>'
21361
21362    def to_dict(self):
21363        return {
21364            'rate_limit': self.rate_limit,
21365        }
21366
21367    @classmethod
21368    def from_dict(cls, d):
21369        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
21348    def __init__(
21349        self,
21350        rate_limit=None,
21351    ):
21352        self.rate_limit = rate_limit if rate_limit is not None else None
21353        '''
21354         Rate limit information.
21355        '''
rate_limit

Rate limit information.

def to_dict(self)
21362    def to_dict(self):
21363        return {
21364            'rate_limit': self.rate_limit,
21365        }
@classmethod
def from_dict(cls, d)
21367    @classmethod
21368    def from_dict(cls, d):
21369        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
21372class PolicyGetResponse:
21373    '''
21374         PolicyGetResponse returns a requested Policy.
21375    '''
21376    __slots__ = [
21377        'meta',
21378        'policy',
21379        'rate_limit',
21380    ]
21381
21382    def __init__(
21383        self,
21384        meta=None,
21385        policy=None,
21386        rate_limit=None,
21387    ):
21388        self.meta = meta if meta is not None else None
21389        '''
21390         Reserved for future use.
21391        '''
21392        self.policy = policy if policy is not None else None
21393        '''
21394         The requested Policy.
21395        '''
21396        self.rate_limit = rate_limit if rate_limit is not None else None
21397        '''
21398         Rate limit information.
21399        '''
21400
21401    def __repr__(self):
21402        return '<sdm.PolicyGetResponse ' + \
21403            'meta: ' + repr(self.meta) + ' ' +\
21404            'policy: ' + repr(self.policy) + ' ' +\
21405            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21406            '>'
21407
21408    def to_dict(self):
21409        return {
21410            'meta': self.meta,
21411            'policy': self.policy,
21412            'rate_limit': self.rate_limit,
21413        }
21414
21415    @classmethod
21416    def from_dict(cls, d):
21417        return cls(
21418            meta=d.get('meta'),
21419            policy=d.get('policy'),
21420            rate_limit=d.get('rate_limit'),
21421        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
21382    def __init__(
21383        self,
21384        meta=None,
21385        policy=None,
21386        rate_limit=None,
21387    ):
21388        self.meta = meta if meta is not None else None
21389        '''
21390         Reserved for future use.
21391        '''
21392        self.policy = policy if policy is not None else None
21393        '''
21394         The requested Policy.
21395        '''
21396        self.rate_limit = rate_limit if rate_limit is not None else None
21397        '''
21398         Rate limit information.
21399        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
21408    def to_dict(self):
21409        return {
21410            'meta': self.meta,
21411            'policy': self.policy,
21412            'rate_limit': self.rate_limit,
21413        }
@classmethod
def from_dict(cls, d)
21415    @classmethod
21416    def from_dict(cls, d):
21417        return cls(
21418            meta=d.get('meta'),
21419            policy=d.get('policy'),
21420            rate_limit=d.get('rate_limit'),
21421        )
class PolicyHistory:
21424class PolicyHistory:
21425    '''
21426         PolicyHistory records the state of a Policy at a given point in time,
21427     where every change (create, update and delete) to a Policy produces a
21428     PolicyHistory record.
21429    '''
21430    __slots__ = [
21431        'activity_id',
21432        'deleted_at',
21433        'policy',
21434        'timestamp',
21435    ]
21436
21437    def __init__(
21438        self,
21439        activity_id=None,
21440        deleted_at=None,
21441        policy=None,
21442        timestamp=None,
21443    ):
21444        self.activity_id = activity_id if activity_id is not None else ''
21445        '''
21446         The unique identifier of the Activity that produced this change to the Policy.
21447         May be empty for some system-initiated updates.
21448        '''
21449        self.deleted_at = deleted_at if deleted_at is not None else None
21450        '''
21451         If this Policy was deleted, the time it was deleted.
21452        '''
21453        self.policy = policy if policy is not None else None
21454        '''
21455         The complete Policy state at this time.
21456        '''
21457        self.timestamp = timestamp if timestamp is not None else None
21458        '''
21459         The time at which the Policy state was recorded.
21460        '''
21461
21462    def __repr__(self):
21463        return '<sdm.PolicyHistory ' + \
21464            'activity_id: ' + repr(self.activity_id) + ' ' +\
21465            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21466            'policy: ' + repr(self.policy) + ' ' +\
21467            'timestamp: ' + repr(self.timestamp) + ' ' +\
21468            '>'
21469
21470    def to_dict(self):
21471        return {
21472            'activity_id': self.activity_id,
21473            'deleted_at': self.deleted_at,
21474            'policy': self.policy,
21475            'timestamp': self.timestamp,
21476        }
21477
21478    @classmethod
21479    def from_dict(cls, d):
21480        return cls(
21481            activity_id=d.get('activity_id'),
21482            deleted_at=d.get('deleted_at'),
21483            policy=d.get('policy'),
21484            timestamp=d.get('timestamp'),
21485        )

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)
21437    def __init__(
21438        self,
21439        activity_id=None,
21440        deleted_at=None,
21441        policy=None,
21442        timestamp=None,
21443    ):
21444        self.activity_id = activity_id if activity_id is not None else ''
21445        '''
21446         The unique identifier of the Activity that produced this change to the Policy.
21447         May be empty for some system-initiated updates.
21448        '''
21449        self.deleted_at = deleted_at if deleted_at is not None else None
21450        '''
21451         If this Policy was deleted, the time it was deleted.
21452        '''
21453        self.policy = policy if policy is not None else None
21454        '''
21455         The complete Policy state at this time.
21456        '''
21457        self.timestamp = timestamp if timestamp is not None else None
21458        '''
21459         The time at which the Policy state was recorded.
21460        '''
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)
21470    def to_dict(self):
21471        return {
21472            'activity_id': self.activity_id,
21473            'deleted_at': self.deleted_at,
21474            'policy': self.policy,
21475            'timestamp': self.timestamp,
21476        }
@classmethod
def from_dict(cls, d)
21478    @classmethod
21479    def from_dict(cls, d):
21480        return cls(
21481            activity_id=d.get('activity_id'),
21482            deleted_at=d.get('deleted_at'),
21483            policy=d.get('policy'),
21484            timestamp=d.get('timestamp'),
21485        )
class PolicyListResponse:
21488class PolicyListResponse:
21489    '''
21490         PolicyListResponse returns a list of Policy records that meet
21491     the criteria of a PolicyListRequest.
21492    '''
21493    __slots__ = [
21494        'rate_limit',
21495    ]
21496
21497    def __init__(
21498        self,
21499        rate_limit=None,
21500    ):
21501        self.rate_limit = rate_limit if rate_limit is not None else None
21502        '''
21503         Rate limit information.
21504        '''
21505
21506    def __repr__(self):
21507        return '<sdm.PolicyListResponse ' + \
21508            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21509            '>'
21510
21511    def to_dict(self):
21512        return {
21513            'rate_limit': self.rate_limit,
21514        }
21515
21516    @classmethod
21517    def from_dict(cls, d):
21518        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)
21497    def __init__(
21498        self,
21499        rate_limit=None,
21500    ):
21501        self.rate_limit = rate_limit if rate_limit is not None else None
21502        '''
21503         Rate limit information.
21504        '''
rate_limit

Rate limit information.

def to_dict(self)
21511    def to_dict(self):
21512        return {
21513            'rate_limit': self.rate_limit,
21514        }
@classmethod
def from_dict(cls, d)
21516    @classmethod
21517    def from_dict(cls, d):
21518        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
21521class PolicyUpdateResponse:
21522    '''
21523         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
21524     a PolicyUpdateRequest.
21525    '''
21526    __slots__ = [
21527        'policy',
21528        'rate_limit',
21529    ]
21530
21531    def __init__(
21532        self,
21533        policy=None,
21534        rate_limit=None,
21535    ):
21536        self.policy = policy if policy is not None else None
21537        '''
21538         The updated Policy.
21539        '''
21540        self.rate_limit = rate_limit if rate_limit is not None else None
21541        '''
21542         Rate limit information.
21543        '''
21544
21545    def __repr__(self):
21546        return '<sdm.PolicyUpdateResponse ' + \
21547            'policy: ' + repr(self.policy) + ' ' +\
21548            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21549            '>'
21550
21551    def to_dict(self):
21552        return {
21553            'policy': self.policy,
21554            'rate_limit': self.rate_limit,
21555        }
21556
21557    @classmethod
21558    def from_dict(cls, d):
21559        return cls(
21560            policy=d.get('policy'),
21561            rate_limit=d.get('rate_limit'),
21562        )

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

PolicyUpdateResponse(policy=None, rate_limit=None)
21531    def __init__(
21532        self,
21533        policy=None,
21534        rate_limit=None,
21535    ):
21536        self.policy = policy if policy is not None else None
21537        '''
21538         The updated Policy.
21539        '''
21540        self.rate_limit = rate_limit if rate_limit is not None else None
21541        '''
21542         Rate limit information.
21543        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
21551    def to_dict(self):
21552        return {
21553            'policy': self.policy,
21554            'rate_limit': self.rate_limit,
21555        }
@classmethod
def from_dict(cls, d)
21557    @classmethod
21558    def from_dict(cls, d):
21559        return cls(
21560            policy=d.get('policy'),
21561            rate_limit=d.get('rate_limit'),
21562        )
class Postgres:
21565class Postgres:
21566    __slots__ = [
21567        'bind_interface',
21568        'database',
21569        'egress_filter',
21570        'healthy',
21571        'hostname',
21572        'id',
21573        'name',
21574        'override_database',
21575        'password',
21576        'port',
21577        'port_override',
21578        'proxy_cluster_id',
21579        'secret_store_id',
21580        'subdomain',
21581        'tags',
21582        'username',
21583    ]
21584
21585    def __init__(
21586        self,
21587        bind_interface=None,
21588        database=None,
21589        egress_filter=None,
21590        healthy=None,
21591        hostname=None,
21592        id=None,
21593        name=None,
21594        override_database=None,
21595        password=None,
21596        port=None,
21597        port_override=None,
21598        proxy_cluster_id=None,
21599        secret_store_id=None,
21600        subdomain=None,
21601        tags=None,
21602        username=None,
21603    ):
21604        self.bind_interface = bind_interface if bind_interface is not None else ''
21605        '''
21606         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21607        '''
21608        self.database = database if database is not None else ''
21609        '''
21610         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21611        '''
21612        self.egress_filter = egress_filter if egress_filter is not None else ''
21613        '''
21614         A filter applied to the routing logic to pin datasource to nodes.
21615        '''
21616        self.healthy = healthy if healthy is not None else False
21617        '''
21618         True if the datasource is reachable and the credentials are valid.
21619        '''
21620        self.hostname = hostname if hostname is not None else ''
21621        '''
21622         The host to dial to initiate a connection from the egress node to this resource.
21623        '''
21624        self.id = id if id is not None else ''
21625        '''
21626         Unique identifier of the Resource.
21627        '''
21628        self.name = name if name is not None else ''
21629        '''
21630         Unique human-readable name of the Resource.
21631        '''
21632        self.override_database = override_database if override_database is not None else False
21633        '''
21634         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.
21635        '''
21636        self.password = password if password is not None else ''
21637        '''
21638         The password to authenticate with.
21639        '''
21640        self.port = port if port is not None else 0
21641        '''
21642         The port to dial to initiate a connection from the egress node to this resource.
21643        '''
21644        self.port_override = port_override if port_override is not None else 0
21645        '''
21646         The local port used by clients to connect to this resource.
21647        '''
21648        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21649        '''
21650         ID of the proxy cluster for this resource, if any.
21651        '''
21652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21653        '''
21654         ID of the secret store containing credentials for this resource, if any.
21655        '''
21656        self.subdomain = subdomain if subdomain is not None else ''
21657        '''
21658         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21659        '''
21660        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21661        '''
21662         Tags is a map of key, value pairs.
21663        '''
21664        self.username = username if username is not None else ''
21665        '''
21666         The username to authenticate with.
21667        '''
21668
21669    def __repr__(self):
21670        return '<sdm.Postgres ' + \
21671            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21672            'database: ' + repr(self.database) + ' ' +\
21673            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21674            'healthy: ' + repr(self.healthy) + ' ' +\
21675            'hostname: ' + repr(self.hostname) + ' ' +\
21676            'id: ' + repr(self.id) + ' ' +\
21677            'name: ' + repr(self.name) + ' ' +\
21678            'override_database: ' + repr(self.override_database) + ' ' +\
21679            'password: ' + repr(self.password) + ' ' +\
21680            'port: ' + repr(self.port) + ' ' +\
21681            'port_override: ' + repr(self.port_override) + ' ' +\
21682            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21683            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21684            'subdomain: ' + repr(self.subdomain) + ' ' +\
21685            'tags: ' + repr(self.tags) + ' ' +\
21686            'username: ' + repr(self.username) + ' ' +\
21687            '>'
21688
21689    def to_dict(self):
21690        return {
21691            'bind_interface': self.bind_interface,
21692            'database': self.database,
21693            'egress_filter': self.egress_filter,
21694            'healthy': self.healthy,
21695            'hostname': self.hostname,
21696            'id': self.id,
21697            'name': self.name,
21698            'override_database': self.override_database,
21699            'password': self.password,
21700            'port': self.port,
21701            'port_override': self.port_override,
21702            'proxy_cluster_id': self.proxy_cluster_id,
21703            'secret_store_id': self.secret_store_id,
21704            'subdomain': self.subdomain,
21705            'tags': self.tags,
21706            'username': self.username,
21707        }
21708
21709    @classmethod
21710    def from_dict(cls, d):
21711        return cls(
21712            bind_interface=d.get('bind_interface'),
21713            database=d.get('database'),
21714            egress_filter=d.get('egress_filter'),
21715            healthy=d.get('healthy'),
21716            hostname=d.get('hostname'),
21717            id=d.get('id'),
21718            name=d.get('name'),
21719            override_database=d.get('override_database'),
21720            password=d.get('password'),
21721            port=d.get('port'),
21722            port_override=d.get('port_override'),
21723            proxy_cluster_id=d.get('proxy_cluster_id'),
21724            secret_store_id=d.get('secret_store_id'),
21725            subdomain=d.get('subdomain'),
21726            tags=d.get('tags'),
21727            username=d.get('username'),
21728        )
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)
21585    def __init__(
21586        self,
21587        bind_interface=None,
21588        database=None,
21589        egress_filter=None,
21590        healthy=None,
21591        hostname=None,
21592        id=None,
21593        name=None,
21594        override_database=None,
21595        password=None,
21596        port=None,
21597        port_override=None,
21598        proxy_cluster_id=None,
21599        secret_store_id=None,
21600        subdomain=None,
21601        tags=None,
21602        username=None,
21603    ):
21604        self.bind_interface = bind_interface if bind_interface is not None else ''
21605        '''
21606         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21607        '''
21608        self.database = database if database is not None else ''
21609        '''
21610         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21611        '''
21612        self.egress_filter = egress_filter if egress_filter is not None else ''
21613        '''
21614         A filter applied to the routing logic to pin datasource to nodes.
21615        '''
21616        self.healthy = healthy if healthy is not None else False
21617        '''
21618         True if the datasource is reachable and the credentials are valid.
21619        '''
21620        self.hostname = hostname if hostname is not None else ''
21621        '''
21622         The host to dial to initiate a connection from the egress node to this resource.
21623        '''
21624        self.id = id if id is not None else ''
21625        '''
21626         Unique identifier of the Resource.
21627        '''
21628        self.name = name if name is not None else ''
21629        '''
21630         Unique human-readable name of the Resource.
21631        '''
21632        self.override_database = override_database if override_database is not None else False
21633        '''
21634         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.
21635        '''
21636        self.password = password if password is not None else ''
21637        '''
21638         The password to authenticate with.
21639        '''
21640        self.port = port if port is not None else 0
21641        '''
21642         The port to dial to initiate a connection from the egress node to this resource.
21643        '''
21644        self.port_override = port_override if port_override is not None else 0
21645        '''
21646         The local port used by clients to connect to this resource.
21647        '''
21648        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21649        '''
21650         ID of the proxy cluster for this resource, if any.
21651        '''
21652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21653        '''
21654         ID of the secret store containing credentials for this resource, if any.
21655        '''
21656        self.subdomain = subdomain if subdomain is not None else ''
21657        '''
21658         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21659        '''
21660        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21661        '''
21662         Tags is a map of key, value pairs.
21663        '''
21664        self.username = username if username is not None else ''
21665        '''
21666         The username to authenticate with.
21667        '''
bind_interface

The bind interface is the IP 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)
21689    def to_dict(self):
21690        return {
21691            'bind_interface': self.bind_interface,
21692            'database': self.database,
21693            'egress_filter': self.egress_filter,
21694            'healthy': self.healthy,
21695            'hostname': self.hostname,
21696            'id': self.id,
21697            'name': self.name,
21698            'override_database': self.override_database,
21699            'password': self.password,
21700            'port': self.port,
21701            'port_override': self.port_override,
21702            'proxy_cluster_id': self.proxy_cluster_id,
21703            'secret_store_id': self.secret_store_id,
21704            'subdomain': self.subdomain,
21705            'tags': self.tags,
21706            'username': self.username,
21707        }
@classmethod
def from_dict(cls, d)
21709    @classmethod
21710    def from_dict(cls, d):
21711        return cls(
21712            bind_interface=d.get('bind_interface'),
21713            database=d.get('database'),
21714            egress_filter=d.get('egress_filter'),
21715            healthy=d.get('healthy'),
21716            hostname=d.get('hostname'),
21717            id=d.get('id'),
21718            name=d.get('name'),
21719            override_database=d.get('override_database'),
21720            password=d.get('password'),
21721            port=d.get('port'),
21722            port_override=d.get('port_override'),
21723            proxy_cluster_id=d.get('proxy_cluster_id'),
21724            secret_store_id=d.get('secret_store_id'),
21725            subdomain=d.get('subdomain'),
21726            tags=d.get('tags'),
21727            username=d.get('username'),
21728        )
class Presto:
21731class Presto:
21732    __slots__ = [
21733        'bind_interface',
21734        'database',
21735        'egress_filter',
21736        'healthy',
21737        'hostname',
21738        'id',
21739        'name',
21740        'password',
21741        'port',
21742        'port_override',
21743        'proxy_cluster_id',
21744        'secret_store_id',
21745        'subdomain',
21746        'tags',
21747        'tls_required',
21748        'username',
21749    ]
21750
21751    def __init__(
21752        self,
21753        bind_interface=None,
21754        database=None,
21755        egress_filter=None,
21756        healthy=None,
21757        hostname=None,
21758        id=None,
21759        name=None,
21760        password=None,
21761        port=None,
21762        port_override=None,
21763        proxy_cluster_id=None,
21764        secret_store_id=None,
21765        subdomain=None,
21766        tags=None,
21767        tls_required=None,
21768        username=None,
21769    ):
21770        self.bind_interface = bind_interface if bind_interface is not None else ''
21771        '''
21772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21773        '''
21774        self.database = database if database is not None else ''
21775        '''
21776         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21777        '''
21778        self.egress_filter = egress_filter if egress_filter is not None else ''
21779        '''
21780         A filter applied to the routing logic to pin datasource to nodes.
21781        '''
21782        self.healthy = healthy if healthy is not None else False
21783        '''
21784         True if the datasource is reachable and the credentials are valid.
21785        '''
21786        self.hostname = hostname if hostname is not None else ''
21787        '''
21788         The host to dial to initiate a connection from the egress node to this resource.
21789        '''
21790        self.id = id if id is not None else ''
21791        '''
21792         Unique identifier of the Resource.
21793        '''
21794        self.name = name if name is not None else ''
21795        '''
21796         Unique human-readable name of the Resource.
21797        '''
21798        self.password = password if password is not None else ''
21799        '''
21800         The password to authenticate with.
21801        '''
21802        self.port = port if port is not None else 0
21803        '''
21804         The port to dial to initiate a connection from the egress node to this resource.
21805        '''
21806        self.port_override = port_override if port_override is not None else 0
21807        '''
21808         The local port used by clients to connect to this resource.
21809        '''
21810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21811        '''
21812         ID of the proxy cluster for this resource, if any.
21813        '''
21814        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21815        '''
21816         ID of the secret store containing credentials for this resource, if any.
21817        '''
21818        self.subdomain = subdomain if subdomain is not None else ''
21819        '''
21820         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21821        '''
21822        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21823        '''
21824         Tags is a map of key, value pairs.
21825        '''
21826        self.tls_required = tls_required if tls_required is not None else False
21827        '''
21828         If set, TLS must be used to connect to this resource.
21829        '''
21830        self.username = username if username is not None else ''
21831        '''
21832         The username to authenticate with.
21833        '''
21834
21835    def __repr__(self):
21836        return '<sdm.Presto ' + \
21837            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21838            'database: ' + repr(self.database) + ' ' +\
21839            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21840            'healthy: ' + repr(self.healthy) + ' ' +\
21841            'hostname: ' + repr(self.hostname) + ' ' +\
21842            'id: ' + repr(self.id) + ' ' +\
21843            'name: ' + repr(self.name) + ' ' +\
21844            'password: ' + repr(self.password) + ' ' +\
21845            'port: ' + repr(self.port) + ' ' +\
21846            'port_override: ' + repr(self.port_override) + ' ' +\
21847            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21848            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21849            'subdomain: ' + repr(self.subdomain) + ' ' +\
21850            'tags: ' + repr(self.tags) + ' ' +\
21851            'tls_required: ' + repr(self.tls_required) + ' ' +\
21852            'username: ' + repr(self.username) + ' ' +\
21853            '>'
21854
21855    def to_dict(self):
21856        return {
21857            'bind_interface': self.bind_interface,
21858            'database': self.database,
21859            'egress_filter': self.egress_filter,
21860            'healthy': self.healthy,
21861            'hostname': self.hostname,
21862            'id': self.id,
21863            'name': self.name,
21864            'password': self.password,
21865            'port': self.port,
21866            'port_override': self.port_override,
21867            'proxy_cluster_id': self.proxy_cluster_id,
21868            'secret_store_id': self.secret_store_id,
21869            'subdomain': self.subdomain,
21870            'tags': self.tags,
21871            'tls_required': self.tls_required,
21872            'username': self.username,
21873        }
21874
21875    @classmethod
21876    def from_dict(cls, d):
21877        return cls(
21878            bind_interface=d.get('bind_interface'),
21879            database=d.get('database'),
21880            egress_filter=d.get('egress_filter'),
21881            healthy=d.get('healthy'),
21882            hostname=d.get('hostname'),
21883            id=d.get('id'),
21884            name=d.get('name'),
21885            password=d.get('password'),
21886            port=d.get('port'),
21887            port_override=d.get('port_override'),
21888            proxy_cluster_id=d.get('proxy_cluster_id'),
21889            secret_store_id=d.get('secret_store_id'),
21890            subdomain=d.get('subdomain'),
21891            tags=d.get('tags'),
21892            tls_required=d.get('tls_required'),
21893            username=d.get('username'),
21894        )
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)
21751    def __init__(
21752        self,
21753        bind_interface=None,
21754        database=None,
21755        egress_filter=None,
21756        healthy=None,
21757        hostname=None,
21758        id=None,
21759        name=None,
21760        password=None,
21761        port=None,
21762        port_override=None,
21763        proxy_cluster_id=None,
21764        secret_store_id=None,
21765        subdomain=None,
21766        tags=None,
21767        tls_required=None,
21768        username=None,
21769    ):
21770        self.bind_interface = bind_interface if bind_interface is not None else ''
21771        '''
21772         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
21773        '''
21774        self.database = database if database is not None else ''
21775        '''
21776         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
21777        '''
21778        self.egress_filter = egress_filter if egress_filter is not None else ''
21779        '''
21780         A filter applied to the routing logic to pin datasource to nodes.
21781        '''
21782        self.healthy = healthy if healthy is not None else False
21783        '''
21784         True if the datasource is reachable and the credentials are valid.
21785        '''
21786        self.hostname = hostname if hostname is not None else ''
21787        '''
21788         The host to dial to initiate a connection from the egress node to this resource.
21789        '''
21790        self.id = id if id is not None else ''
21791        '''
21792         Unique identifier of the Resource.
21793        '''
21794        self.name = name if name is not None else ''
21795        '''
21796         Unique human-readable name of the Resource.
21797        '''
21798        self.password = password if password is not None else ''
21799        '''
21800         The password to authenticate with.
21801        '''
21802        self.port = port if port is not None else 0
21803        '''
21804         The port to dial to initiate a connection from the egress node to this resource.
21805        '''
21806        self.port_override = port_override if port_override is not None else 0
21807        '''
21808         The local port used by clients to connect to this resource.
21809        '''
21810        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21811        '''
21812         ID of the proxy cluster for this resource, if any.
21813        '''
21814        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21815        '''
21816         ID of the secret store containing credentials for this resource, if any.
21817        '''
21818        self.subdomain = subdomain if subdomain is not None else ''
21819        '''
21820         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
21821        '''
21822        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21823        '''
21824         Tags is a map of key, value pairs.
21825        '''
21826        self.tls_required = tls_required if tls_required is not None else False
21827        '''
21828         If set, TLS must be used to connect to this resource.
21829        '''
21830        self.username = username if username is not None else ''
21831        '''
21832         The username to authenticate with.
21833        '''
bind_interface

The bind interface is the IP 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)
21855    def to_dict(self):
21856        return {
21857            'bind_interface': self.bind_interface,
21858            'database': self.database,
21859            'egress_filter': self.egress_filter,
21860            'healthy': self.healthy,
21861            'hostname': self.hostname,
21862            'id': self.id,
21863            'name': self.name,
21864            'password': self.password,
21865            'port': self.port,
21866            'port_override': self.port_override,
21867            'proxy_cluster_id': self.proxy_cluster_id,
21868            'secret_store_id': self.secret_store_id,
21869            'subdomain': self.subdomain,
21870            'tags': self.tags,
21871            'tls_required': self.tls_required,
21872            'username': self.username,
21873        }
@classmethod
def from_dict(cls, d)
21875    @classmethod
21876    def from_dict(cls, d):
21877        return cls(
21878            bind_interface=d.get('bind_interface'),
21879            database=d.get('database'),
21880            egress_filter=d.get('egress_filter'),
21881            healthy=d.get('healthy'),
21882            hostname=d.get('hostname'),
21883            id=d.get('id'),
21884            name=d.get('name'),
21885            password=d.get('password'),
21886            port=d.get('port'),
21887            port_override=d.get('port_override'),
21888            proxy_cluster_id=d.get('proxy_cluster_id'),
21889            secret_store_id=d.get('secret_store_id'),
21890            subdomain=d.get('subdomain'),
21891            tags=d.get('tags'),
21892            tls_required=d.get('tls_required'),
21893            username=d.get('username'),
21894        )
class ProxyCluster:
21897class ProxyCluster:
21898    '''
21899         ProxyCluster represents a cluster of StrongDM proxies.
21900    '''
21901    __slots__ = [
21902        'address',
21903        'id',
21904        'maintenance_windows',
21905        'name',
21906        'tags',
21907    ]
21908
21909    def __init__(
21910        self,
21911        address=None,
21912        id=None,
21913        maintenance_windows=None,
21914        name=None,
21915        tags=None,
21916    ):
21917        self.address = address if address is not None else ''
21918        '''
21919         The public hostname/port tuple at which the proxy cluster will be
21920         accessible to clients.
21921        '''
21922        self.id = id if id is not None else ''
21923        '''
21924         Unique identifier of the Proxy Cluster.
21925        '''
21926        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21927        '''
21928         Maintenance Windows define when this node is allowed to restart. If a node
21929         is requested to restart, it will check each window to determine if any of
21930         them permit it to restart, and if any do, it will. This check is repeated
21931         per window until the restart is successfully completed.
21932         
21933         If not set here, may be set on the command line or via an environment variable
21934         on the process itself; any server setting will take precedence over local
21935         settings. This setting is ineffective for nodes below version 38.44.0.
21936         
21937         If this setting is not applied via this remote configuration or via local
21938         configuration, the default setting is used: always allow restarts if serving
21939         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21940        '''
21941        self.name = name if name is not None else ''
21942        '''
21943         Unique human-readable name of the proxy cluster. Names must
21944         include only letters, numbers, and hyphens (no spaces, underscores, or
21945         other special characters). Generated if not provided on create.
21946        '''
21947        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21948        '''
21949         Tags is a map of key, value pairs.
21950        '''
21951
21952    def __repr__(self):
21953        return '<sdm.ProxyCluster ' + \
21954            'address: ' + repr(self.address) + ' ' +\
21955            'id: ' + repr(self.id) + ' ' +\
21956            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
21957            'name: ' + repr(self.name) + ' ' +\
21958            'tags: ' + repr(self.tags) + ' ' +\
21959            '>'
21960
21961    def to_dict(self):
21962        return {
21963            'address': self.address,
21964            'id': self.id,
21965            'maintenance_windows': self.maintenance_windows,
21966            'name': self.name,
21967            'tags': self.tags,
21968        }
21969
21970    @classmethod
21971    def from_dict(cls, d):
21972        return cls(
21973            address=d.get('address'),
21974            id=d.get('id'),
21975            maintenance_windows=d.get('maintenance_windows'),
21976            name=d.get('name'),
21977            tags=d.get('tags'),
21978        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
21909    def __init__(
21910        self,
21911        address=None,
21912        id=None,
21913        maintenance_windows=None,
21914        name=None,
21915        tags=None,
21916    ):
21917        self.address = address if address is not None else ''
21918        '''
21919         The public hostname/port tuple at which the proxy cluster will be
21920         accessible to clients.
21921        '''
21922        self.id = id if id is not None else ''
21923        '''
21924         Unique identifier of the Proxy Cluster.
21925        '''
21926        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
21927        '''
21928         Maintenance Windows define when this node is allowed to restart. If a node
21929         is requested to restart, it will check each window to determine if any of
21930         them permit it to restart, and if any do, it will. This check is repeated
21931         per window until the restart is successfully completed.
21932         
21933         If not set here, may be set on the command line or via an environment variable
21934         on the process itself; any server setting will take precedence over local
21935         settings. This setting is ineffective for nodes below version 38.44.0.
21936         
21937         If this setting is not applied via this remote configuration or via local
21938         configuration, the default setting is used: always allow restarts if serving
21939         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
21940        '''
21941        self.name = name if name is not None else ''
21942        '''
21943         Unique human-readable name of the proxy cluster. Names must
21944         include only letters, numbers, and hyphens (no spaces, underscores, or
21945         other special characters). Generated if not provided on create.
21946        '''
21947        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21948        '''
21949         Tags is a map of key, value pairs.
21950        '''
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)
21961    def to_dict(self):
21962        return {
21963            'address': self.address,
21964            'id': self.id,
21965            'maintenance_windows': self.maintenance_windows,
21966            'name': self.name,
21967            'tags': self.tags,
21968        }
@classmethod
def from_dict(cls, d)
21970    @classmethod
21971    def from_dict(cls, d):
21972        return cls(
21973            address=d.get('address'),
21974            id=d.get('id'),
21975            maintenance_windows=d.get('maintenance_windows'),
21976            name=d.get('name'),
21977            tags=d.get('tags'),
21978        )
class ProxyClusterKey:
21981class ProxyClusterKey:
21982    '''
21983         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
21984     The proxies within a cluster share the same key. One cluster can have
21985     multiple keys in order to facilitate key rotation.
21986    '''
21987    __slots__ = [
21988        'created_at',
21989        'id',
21990        'last_used_at',
21991        'proxy_cluster_id',
21992    ]
21993
21994    def __init__(
21995        self,
21996        created_at=None,
21997        id=None,
21998        last_used_at=None,
21999        proxy_cluster_id=None,
22000    ):
22001        self.created_at = created_at if created_at is not None else None
22002        '''
22003         The timestamp when this key was created.
22004        '''
22005        self.id = id if id is not None else ''
22006        '''
22007         Unique identifier of the Relay.
22008        '''
22009        self.last_used_at = last_used_at if last_used_at is not None else None
22010        '''
22011         The timestamp when this key was last used, if at all.
22012        '''
22013        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22014        '''
22015         The ID of the proxy cluster which this key authenticates to.
22016        '''
22017
22018    def __repr__(self):
22019        return '<sdm.ProxyClusterKey ' + \
22020            'created_at: ' + repr(self.created_at) + ' ' +\
22021            'id: ' + repr(self.id) + ' ' +\
22022            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
22023            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22024            '>'
22025
22026    def to_dict(self):
22027        return {
22028            'created_at': self.created_at,
22029            'id': self.id,
22030            'last_used_at': self.last_used_at,
22031            'proxy_cluster_id': self.proxy_cluster_id,
22032        }
22033
22034    @classmethod
22035    def from_dict(cls, d):
22036        return cls(
22037            created_at=d.get('created_at'),
22038            id=d.get('id'),
22039            last_used_at=d.get('last_used_at'),
22040            proxy_cluster_id=d.get('proxy_cluster_id'),
22041        )

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)
21994    def __init__(
21995        self,
21996        created_at=None,
21997        id=None,
21998        last_used_at=None,
21999        proxy_cluster_id=None,
22000    ):
22001        self.created_at = created_at if created_at is not None else None
22002        '''
22003         The timestamp when this key was created.
22004        '''
22005        self.id = id if id is not None else ''
22006        '''
22007         Unique identifier of the Relay.
22008        '''
22009        self.last_used_at = last_used_at if last_used_at is not None else None
22010        '''
22011         The timestamp when this key was last used, if at all.
22012        '''
22013        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22014        '''
22015         The ID of the proxy cluster which this key authenticates to.
22016        '''
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)
22026    def to_dict(self):
22027        return {
22028            'created_at': self.created_at,
22029            'id': self.id,
22030            'last_used_at': self.last_used_at,
22031            'proxy_cluster_id': self.proxy_cluster_id,
22032        }
@classmethod
def from_dict(cls, d)
22034    @classmethod
22035    def from_dict(cls, d):
22036        return cls(
22037            created_at=d.get('created_at'),
22038            id=d.get('id'),
22039            last_used_at=d.get('last_used_at'),
22040            proxy_cluster_id=d.get('proxy_cluster_id'),
22041        )
class ProxyClusterKeyCreateResponse:
22044class ProxyClusterKeyCreateResponse:
22045    '''
22046         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
22047    '''
22048    __slots__ = [
22049        'meta',
22050        'proxy_cluster_key',
22051        'rate_limit',
22052        'secret_key',
22053    ]
22054
22055    def __init__(
22056        self,
22057        meta=None,
22058        proxy_cluster_key=None,
22059        rate_limit=None,
22060        secret_key=None,
22061    ):
22062        self.meta = meta if meta is not None else None
22063        '''
22064         Reserved for future use.
22065        '''
22066        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22067        '''
22068         The created ProxyClusterKey.
22069        '''
22070        self.rate_limit = rate_limit if rate_limit is not None else None
22071        '''
22072         Rate limit information.
22073        '''
22074        self.secret_key = secret_key if secret_key is not None else ''
22075        '''
22076         The secret key component of this key. It must be saved upon creation
22077         because it will not be available for retrieval later.
22078        '''
22079
22080    def __repr__(self):
22081        return '<sdm.ProxyClusterKeyCreateResponse ' + \
22082            'meta: ' + repr(self.meta) + ' ' +\
22083            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22084            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22085            'secret_key: ' + repr(self.secret_key) + ' ' +\
22086            '>'
22087
22088    def to_dict(self):
22089        return {
22090            'meta': self.meta,
22091            'proxy_cluster_key': self.proxy_cluster_key,
22092            'rate_limit': self.rate_limit,
22093            'secret_key': self.secret_key,
22094        }
22095
22096    @classmethod
22097    def from_dict(cls, d):
22098        return cls(
22099            meta=d.get('meta'),
22100            proxy_cluster_key=d.get('proxy_cluster_key'),
22101            rate_limit=d.get('rate_limit'),
22102            secret_key=d.get('secret_key'),
22103        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
22055    def __init__(
22056        self,
22057        meta=None,
22058        proxy_cluster_key=None,
22059        rate_limit=None,
22060        secret_key=None,
22061    ):
22062        self.meta = meta if meta is not None else None
22063        '''
22064         Reserved for future use.
22065        '''
22066        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22067        '''
22068         The created ProxyClusterKey.
22069        '''
22070        self.rate_limit = rate_limit if rate_limit is not None else None
22071        '''
22072         Rate limit information.
22073        '''
22074        self.secret_key = secret_key if secret_key is not None else ''
22075        '''
22076         The secret key component of this key. It must be saved upon creation
22077         because it will not be available for retrieval later.
22078        '''
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)
22088    def to_dict(self):
22089        return {
22090            'meta': self.meta,
22091            'proxy_cluster_key': self.proxy_cluster_key,
22092            'rate_limit': self.rate_limit,
22093            'secret_key': self.secret_key,
22094        }
@classmethod
def from_dict(cls, d)
22096    @classmethod
22097    def from_dict(cls, d):
22098        return cls(
22099            meta=d.get('meta'),
22100            proxy_cluster_key=d.get('proxy_cluster_key'),
22101            rate_limit=d.get('rate_limit'),
22102            secret_key=d.get('secret_key'),
22103        )
class ProxyClusterKeyDeleteResponse:
22106class ProxyClusterKeyDeleteResponse:
22107    '''
22108         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
22109    '''
22110    __slots__ = [
22111        'meta',
22112        'rate_limit',
22113    ]
22114
22115    def __init__(
22116        self,
22117        meta=None,
22118        rate_limit=None,
22119    ):
22120        self.meta = meta if meta is not None else None
22121        '''
22122         Reserved for future use.
22123        '''
22124        self.rate_limit = rate_limit if rate_limit is not None else None
22125        '''
22126         Rate limit information.
22127        '''
22128
22129    def __repr__(self):
22130        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
22131            'meta: ' + repr(self.meta) + ' ' +\
22132            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22133            '>'
22134
22135    def to_dict(self):
22136        return {
22137            'meta': self.meta,
22138            'rate_limit': self.rate_limit,
22139        }
22140
22141    @classmethod
22142    def from_dict(cls, d):
22143        return cls(
22144            meta=d.get('meta'),
22145            rate_limit=d.get('rate_limit'),
22146        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
22115    def __init__(
22116        self,
22117        meta=None,
22118        rate_limit=None,
22119    ):
22120        self.meta = meta if meta is not None else None
22121        '''
22122         Reserved for future use.
22123        '''
22124        self.rate_limit = rate_limit if rate_limit is not None else None
22125        '''
22126         Rate limit information.
22127        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22135    def to_dict(self):
22136        return {
22137            'meta': self.meta,
22138            'rate_limit': self.rate_limit,
22139        }
@classmethod
def from_dict(cls, d)
22141    @classmethod
22142    def from_dict(cls, d):
22143        return cls(
22144            meta=d.get('meta'),
22145            rate_limit=d.get('rate_limit'),
22146        )
class ProxyClusterKeyGetResponse:
22149class ProxyClusterKeyGetResponse:
22150    '''
22151         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
22152    '''
22153    __slots__ = [
22154        'meta',
22155        'proxy_cluster_key',
22156        'rate_limit',
22157    ]
22158
22159    def __init__(
22160        self,
22161        meta=None,
22162        proxy_cluster_key=None,
22163        rate_limit=None,
22164    ):
22165        self.meta = meta if meta is not None else None
22166        '''
22167         Reserved for future use.
22168        '''
22169        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22170        '''
22171         The requested ProxyClusterKey.
22172        '''
22173        self.rate_limit = rate_limit if rate_limit is not None else None
22174        '''
22175         Rate limit information.
22176        '''
22177
22178    def __repr__(self):
22179        return '<sdm.ProxyClusterKeyGetResponse ' + \
22180            'meta: ' + repr(self.meta) + ' ' +\
22181            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
22182            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22183            '>'
22184
22185    def to_dict(self):
22186        return {
22187            'meta': self.meta,
22188            'proxy_cluster_key': self.proxy_cluster_key,
22189            'rate_limit': self.rate_limit,
22190        }
22191
22192    @classmethod
22193    def from_dict(cls, d):
22194        return cls(
22195            meta=d.get('meta'),
22196            proxy_cluster_key=d.get('proxy_cluster_key'),
22197            rate_limit=d.get('rate_limit'),
22198        )

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
22159    def __init__(
22160        self,
22161        meta=None,
22162        proxy_cluster_key=None,
22163        rate_limit=None,
22164    ):
22165        self.meta = meta if meta is not None else None
22166        '''
22167         Reserved for future use.
22168        '''
22169        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
22170        '''
22171         The requested ProxyClusterKey.
22172        '''
22173        self.rate_limit = rate_limit if rate_limit is not None else None
22174        '''
22175         Rate limit information.
22176        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
22185    def to_dict(self):
22186        return {
22187            'meta': self.meta,
22188            'proxy_cluster_key': self.proxy_cluster_key,
22189            'rate_limit': self.rate_limit,
22190        }
@classmethod
def from_dict(cls, d)
22192    @classmethod
22193    def from_dict(cls, d):
22194        return cls(
22195            meta=d.get('meta'),
22196            proxy_cluster_key=d.get('proxy_cluster_key'),
22197            rate_limit=d.get('rate_limit'),
22198        )
class Query:
22201class Query:
22202    '''
22203         A Query is a record of a single client request to a resource, such as a SQL query.
22204     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
22205     interactive sessions will return two Query records with the same identifier, one record
22206     at the start of the query and a second record upon the completion of the query with
22207     additional detail.
22208    '''
22209    __slots__ = [
22210        'account_email',
22211        'account_first_name',
22212        'account_id',
22213        'account_last_name',
22214        'account_tags',
22215        'authzjson',
22216        'capture',
22217        'client_ip',
22218        'completed_at',
22219        'duration',
22220        'egress_node_id',
22221        'encrypted',
22222        'id',
22223        'identity_alias_username',
22224        'metadata_json',
22225        'query_body',
22226        'query_category',
22227        'query_hash',
22228        'query_key',
22229        'record_count',
22230        'remote_identity_username',
22231        'replayable',
22232        'resource_id',
22233        'resource_name',
22234        'resource_tags',
22235        'resource_type',
22236        'source_ip',
22237        'target',
22238        'timestamp',
22239    ]
22240
22241    def __init__(
22242        self,
22243        account_email=None,
22244        account_first_name=None,
22245        account_id=None,
22246        account_last_name=None,
22247        account_tags=None,
22248        authzjson=None,
22249        capture=None,
22250        client_ip=None,
22251        completed_at=None,
22252        duration=None,
22253        egress_node_id=None,
22254        encrypted=None,
22255        id=None,
22256        identity_alias_username=None,
22257        metadata_json=None,
22258        query_body=None,
22259        query_category=None,
22260        query_hash=None,
22261        query_key=None,
22262        record_count=None,
22263        remote_identity_username=None,
22264        replayable=None,
22265        resource_id=None,
22266        resource_name=None,
22267        resource_tags=None,
22268        resource_type=None,
22269        source_ip=None,
22270        target=None,
22271        timestamp=None,
22272    ):
22273        self.account_email = account_email if account_email is not None else ''
22274        '''
22275         The email of the account performing this query, at the time the query was executed.
22276         If the account email is later changed, that change will not be reflected via this field.
22277        '''
22278        self.account_first_name = account_first_name if account_first_name is not None else ''
22279        '''
22280         The given name of the account performing this query, at the time the query was executed.
22281         If the account is later renamed, that change will not be reflected via this field.
22282        '''
22283        self.account_id = account_id if account_id is not None else ''
22284        '''
22285         Unique identifier of the Account that performed the Query.
22286        '''
22287        self.account_last_name = account_last_name if account_last_name is not None else ''
22288        '''
22289         The family name of the account performing this query, at the time the query was executed.
22290         If the account is later renamed, that change will not be reflected via this field.
22291        '''
22292        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22293        )
22294        '''
22295         The tags of the account accessed, at the time the query was executed. If the account
22296         tags are later changed, that change will not be reflected via this field.
22297        '''
22298        self.authzjson = authzjson if authzjson is not None else ''
22299        '''
22300         Authorization metadata associated with this query.
22301        '''
22302        self.capture = capture if capture is not None else None
22303        '''
22304         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22305         about the captured query.
22306        '''
22307        self.client_ip = client_ip if client_ip is not None else ''
22308        '''
22309         The IP address the Query was performed from, as detected at the StrongDM control plane.
22310        '''
22311        self.completed_at = completed_at if completed_at is not None else None
22312        '''
22313         The time at which the Query was completed.
22314         Empty if this record indicates the start of a long-running query.
22315        '''
22316        self.duration = duration if duration is not None else None
22317        '''
22318         The duration of the Query.
22319        '''
22320        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22321        '''
22322         The unique ID of the node through which the Resource was accessed.
22323        '''
22324        self.encrypted = encrypted if encrypted is not None else False
22325        '''
22326         Indicates that the body of the Query is encrypted.
22327        '''
22328        self.id = id if id is not None else ''
22329        '''
22330         Unique identifier of the Query.
22331        '''
22332        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22333        '''
22334         The username of the IdentityAlias used to access the Resource.
22335        '''
22336        self.metadata_json = metadata_json if metadata_json is not None else ''
22337        '''
22338         Driver specific metadata associated with this query.
22339        '''
22340        self.query_body = query_body if query_body is not None else ''
22341        '''
22342         The captured content of the Query.
22343         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22344        '''
22345        self.query_category = query_category if query_category is not None else ''
22346        '''
22347         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22348        '''
22349        self.query_hash = query_hash if query_hash is not None else ''
22350        '''
22351         The hash of the body of the Query.
22352        '''
22353        self.query_key = query_key if query_key is not None else ''
22354        '''
22355         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22356         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22357         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22358         If the Query is not encrypted, this field is empty.
22359        '''
22360        self.record_count = record_count if record_count is not None else 0
22361        '''
22362         The number of records returned by the Query, for a database Resource.
22363        '''
22364        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22365        '''
22366         The username of the RemoteIdentity used to access the Resource.
22367        '''
22368        self.replayable = replayable if replayable is not None else False
22369        '''
22370         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22371        '''
22372        self.resource_id = resource_id if resource_id is not None else ''
22373        '''
22374         Unique identifier of the Resource against which the Query was performed.
22375        '''
22376        self.resource_name = resource_name if resource_name is not None else ''
22377        '''
22378         The name of the resource accessed, at the time the query was executed. If the resource
22379         is later renamed, that change will not be reflected via this field.
22380        '''
22381        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22382        )
22383        '''
22384         The tags of the resource accessed, at the time the query was executed. If the resource
22385         tags are later changed, that change will not be reflected via this field.
22386        '''
22387        self.resource_type = resource_type if resource_type is not None else ''
22388        '''
22389         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22390        '''
22391        self.source_ip = source_ip if source_ip is not None else ''
22392        '''
22393         The IP address the Query was performed from, as detected at the ingress gateway.
22394        '''
22395        self.target = target if target is not None else ''
22396        '''
22397         The target destination of the query, in host:port format.
22398        '''
22399        self.timestamp = timestamp if timestamp is not None else None
22400        '''
22401         The time at which the Query was started.
22402        '''
22403
22404    def __repr__(self):
22405        return '<sdm.Query ' + \
22406            'account_email: ' + repr(self.account_email) + ' ' +\
22407            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
22408            'account_id: ' + repr(self.account_id) + ' ' +\
22409            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
22410            'account_tags: ' + repr(self.account_tags) + ' ' +\
22411            'authzjson: ' + repr(self.authzjson) + ' ' +\
22412            'capture: ' + repr(self.capture) + ' ' +\
22413            'client_ip: ' + repr(self.client_ip) + ' ' +\
22414            'completed_at: ' + repr(self.completed_at) + ' ' +\
22415            'duration: ' + repr(self.duration) + ' ' +\
22416            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
22417            'encrypted: ' + repr(self.encrypted) + ' ' +\
22418            'id: ' + repr(self.id) + ' ' +\
22419            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
22420            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
22421            'query_body: ' + repr(self.query_body) + ' ' +\
22422            'query_category: ' + repr(self.query_category) + ' ' +\
22423            'query_hash: ' + repr(self.query_hash) + ' ' +\
22424            'query_key: ' + repr(self.query_key) + ' ' +\
22425            'record_count: ' + repr(self.record_count) + ' ' +\
22426            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
22427            'replayable: ' + repr(self.replayable) + ' ' +\
22428            'resource_id: ' + repr(self.resource_id) + ' ' +\
22429            'resource_name: ' + repr(self.resource_name) + ' ' +\
22430            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
22431            'resource_type: ' + repr(self.resource_type) + ' ' +\
22432            'source_ip: ' + repr(self.source_ip) + ' ' +\
22433            'target: ' + repr(self.target) + ' ' +\
22434            'timestamp: ' + repr(self.timestamp) + ' ' +\
22435            '>'
22436
22437    def to_dict(self):
22438        return {
22439            'account_email': self.account_email,
22440            'account_first_name': self.account_first_name,
22441            'account_id': self.account_id,
22442            'account_last_name': self.account_last_name,
22443            'account_tags': self.account_tags,
22444            'authzjson': self.authzjson,
22445            'capture': self.capture,
22446            'client_ip': self.client_ip,
22447            'completed_at': self.completed_at,
22448            'duration': self.duration,
22449            'egress_node_id': self.egress_node_id,
22450            'encrypted': self.encrypted,
22451            'id': self.id,
22452            'identity_alias_username': self.identity_alias_username,
22453            'metadata_json': self.metadata_json,
22454            'query_body': self.query_body,
22455            'query_category': self.query_category,
22456            'query_hash': self.query_hash,
22457            'query_key': self.query_key,
22458            'record_count': self.record_count,
22459            'remote_identity_username': self.remote_identity_username,
22460            'replayable': self.replayable,
22461            'resource_id': self.resource_id,
22462            'resource_name': self.resource_name,
22463            'resource_tags': self.resource_tags,
22464            'resource_type': self.resource_type,
22465            'source_ip': self.source_ip,
22466            'target': self.target,
22467            'timestamp': self.timestamp,
22468        }
22469
22470    @classmethod
22471    def from_dict(cls, d):
22472        return cls(
22473            account_email=d.get('account_email'),
22474            account_first_name=d.get('account_first_name'),
22475            account_id=d.get('account_id'),
22476            account_last_name=d.get('account_last_name'),
22477            account_tags=d.get('account_tags'),
22478            authzjson=d.get('authzjson'),
22479            capture=d.get('capture'),
22480            client_ip=d.get('client_ip'),
22481            completed_at=d.get('completed_at'),
22482            duration=d.get('duration'),
22483            egress_node_id=d.get('egress_node_id'),
22484            encrypted=d.get('encrypted'),
22485            id=d.get('id'),
22486            identity_alias_username=d.get('identity_alias_username'),
22487            metadata_json=d.get('metadata_json'),
22488            query_body=d.get('query_body'),
22489            query_category=d.get('query_category'),
22490            query_hash=d.get('query_hash'),
22491            query_key=d.get('query_key'),
22492            record_count=d.get('record_count'),
22493            remote_identity_username=d.get('remote_identity_username'),
22494            replayable=d.get('replayable'),
22495            resource_id=d.get('resource_id'),
22496            resource_name=d.get('resource_name'),
22497            resource_tags=d.get('resource_tags'),
22498            resource_type=d.get('resource_type'),
22499            source_ip=d.get('source_ip'),
22500            target=d.get('target'),
22501            timestamp=d.get('timestamp'),
22502        )

A Query is a record of a single client request to a resource, such as a SQL query. Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes interactive sessions will return two Query records with the same identifier, one record at the start of the query and a second record upon the completion of the query with additional detail.

Query( account_email=None, account_first_name=None, account_id=None, account_last_name=None, account_tags=None, authzjson=None, capture=None, client_ip=None, completed_at=None, duration=None, egress_node_id=None, encrypted=None, id=None, identity_alias_username=None, metadata_json=None, query_body=None, query_category=None, query_hash=None, query_key=None, record_count=None, remote_identity_username=None, replayable=None, resource_id=None, resource_name=None, resource_tags=None, resource_type=None, source_ip=None, target=None, timestamp=None)
22241    def __init__(
22242        self,
22243        account_email=None,
22244        account_first_name=None,
22245        account_id=None,
22246        account_last_name=None,
22247        account_tags=None,
22248        authzjson=None,
22249        capture=None,
22250        client_ip=None,
22251        completed_at=None,
22252        duration=None,
22253        egress_node_id=None,
22254        encrypted=None,
22255        id=None,
22256        identity_alias_username=None,
22257        metadata_json=None,
22258        query_body=None,
22259        query_category=None,
22260        query_hash=None,
22261        query_key=None,
22262        record_count=None,
22263        remote_identity_username=None,
22264        replayable=None,
22265        resource_id=None,
22266        resource_name=None,
22267        resource_tags=None,
22268        resource_type=None,
22269        source_ip=None,
22270        target=None,
22271        timestamp=None,
22272    ):
22273        self.account_email = account_email if account_email is not None else ''
22274        '''
22275         The email of the account performing this query, at the time the query was executed.
22276         If the account email is later changed, that change will not be reflected via this field.
22277        '''
22278        self.account_first_name = account_first_name if account_first_name is not None else ''
22279        '''
22280         The given name of the account performing this query, at the time the query was executed.
22281         If the account is later renamed, that change will not be reflected via this field.
22282        '''
22283        self.account_id = account_id if account_id is not None else ''
22284        '''
22285         Unique identifier of the Account that performed the Query.
22286        '''
22287        self.account_last_name = account_last_name if account_last_name is not None else ''
22288        '''
22289         The family name of the account performing this query, at the time the query was executed.
22290         If the account is later renamed, that change will not be reflected via this field.
22291        '''
22292        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
22293        )
22294        '''
22295         The tags of the account accessed, at the time the query was executed. If the account
22296         tags are later changed, that change will not be reflected via this field.
22297        '''
22298        self.authzjson = authzjson if authzjson is not None else ''
22299        '''
22300         Authorization metadata associated with this query.
22301        '''
22302        self.capture = capture if capture is not None else None
22303        '''
22304         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
22305         about the captured query.
22306        '''
22307        self.client_ip = client_ip if client_ip is not None else ''
22308        '''
22309         The IP address the Query was performed from, as detected at the StrongDM control plane.
22310        '''
22311        self.completed_at = completed_at if completed_at is not None else None
22312        '''
22313         The time at which the Query was completed.
22314         Empty if this record indicates the start of a long-running query.
22315        '''
22316        self.duration = duration if duration is not None else None
22317        '''
22318         The duration of the Query.
22319        '''
22320        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
22321        '''
22322         The unique ID of the node through which the Resource was accessed.
22323        '''
22324        self.encrypted = encrypted if encrypted is not None else False
22325        '''
22326         Indicates that the body of the Query is encrypted.
22327        '''
22328        self.id = id if id is not None else ''
22329        '''
22330         Unique identifier of the Query.
22331        '''
22332        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
22333        '''
22334         The username of the IdentityAlias used to access the Resource.
22335        '''
22336        self.metadata_json = metadata_json if metadata_json is not None else ''
22337        '''
22338         Driver specific metadata associated with this query.
22339        '''
22340        self.query_body = query_body if query_body is not None else ''
22341        '''
22342         The captured content of the Query.
22343         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
22344        '''
22345        self.query_category = query_category if query_category is not None else ''
22346        '''
22347         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
22348        '''
22349        self.query_hash = query_hash if query_hash is not None else ''
22350        '''
22351         The hash of the body of the Query.
22352        '''
22353        self.query_key = query_key if query_key is not None else ''
22354        '''
22355         The symmetric key used to encrypt the body of this Query and its replay if replayable.
22356         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
22357         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
22358         If the Query is not encrypted, this field is empty.
22359        '''
22360        self.record_count = record_count if record_count is not None else 0
22361        '''
22362         The number of records returned by the Query, for a database Resource.
22363        '''
22364        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
22365        '''
22366         The username of the RemoteIdentity used to access the Resource.
22367        '''
22368        self.replayable = replayable if replayable is not None else False
22369        '''
22370         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
22371        '''
22372        self.resource_id = resource_id if resource_id is not None else ''
22373        '''
22374         Unique identifier of the Resource against which the Query was performed.
22375        '''
22376        self.resource_name = resource_name if resource_name is not None else ''
22377        '''
22378         The name of the resource accessed, at the time the query was executed. If the resource
22379         is later renamed, that change will not be reflected via this field.
22380        '''
22381        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
22382        )
22383        '''
22384         The tags of the resource accessed, at the time the query was executed. If the resource
22385         tags are later changed, that change will not be reflected via this field.
22386        '''
22387        self.resource_type = resource_type if resource_type is not None else ''
22388        '''
22389         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
22390        '''
22391        self.source_ip = source_ip if source_ip is not None else ''
22392        '''
22393         The IP address the Query was performed from, as detected at the ingress gateway.
22394        '''
22395        self.target = target if target is not None else ''
22396        '''
22397         The target destination of the query, in host:port format.
22398        '''
22399        self.timestamp = timestamp if timestamp is not None else None
22400        '''
22401         The time at which the Query was started.
22402        '''
account_email

The email of the account performing this query, at the time the query was executed. If the account email is later changed, that change will not be reflected via this field.

account_first_name

The given name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.

account_id

Unique identifier of the Account that performed the Query.

account_last_name

The family name of the account performing this query, at the time the query was executed. If the account is later renamed, that change will not be reflected via this field.

account_tags

The tags of the account accessed, at the time the query was executed. If the account tags are later changed, that change will not be reflected via this field.

authzjson

Authorization metadata associated with this query.

capture

For queries against SSH, Kubernetes, and RDP resources, this contains additional information about the captured query.

client_ip

The IP address the Query was performed from, as detected at the StrongDM control plane.

completed_at

The time at which the Query was completed. Empty if this record indicates the start of a long-running query.

duration

The duration of the Query.

egress_node_id

The unique ID of the node through which the Resource was accessed.

encrypted

Indicates that the body of the Query is encrypted.

id

Unique identifier of the Query.

identity_alias_username

The username of the IdentityAlias used to access the Resource.

metadata_json

Driver specific metadata associated with this query.

query_body

The captured content of the Query. For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.

query_category

The general category of Resource against which Query was performed, e.g. "web" or "cloud".

query_hash

The hash of the body of the Query.

query_key

The symmetric key used to encrypt the body of this Query and its replay if replayable. If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding. This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body. If the Query is not encrypted, this field is empty.

record_count

The number of records returned by the Query, for a database Resource.

remote_identity_username

The username of the RemoteIdentity used to access the Resource.

replayable

Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.

resource_id

Unique identifier of the Resource against which the Query was performed.

resource_name

The name of the resource accessed, at the time the query was executed. If the resource is later renamed, that change will not be reflected via this field.

resource_tags

The tags of the resource accessed, at the time the query was executed. If the resource tags are later changed, that change will not be reflected via this field.

resource_type

The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".

source_ip

The IP address the Query was performed from, as detected at the ingress gateway.

target

The target destination of the query, in host:port format.

timestamp

The time at which the Query was started.

def to_dict(self)
22437    def to_dict(self):
22438        return {
22439            'account_email': self.account_email,
22440            'account_first_name': self.account_first_name,
22441            'account_id': self.account_id,
22442            'account_last_name': self.account_last_name,
22443            'account_tags': self.account_tags,
22444            'authzjson': self.authzjson,
22445            'capture': self.capture,
22446            'client_ip': self.client_ip,
22447            'completed_at': self.completed_at,
22448            'duration': self.duration,
22449            'egress_node_id': self.egress_node_id,
22450            'encrypted': self.encrypted,
22451            'id': self.id,
22452            'identity_alias_username': self.identity_alias_username,
22453            'metadata_json': self.metadata_json,
22454            'query_body': self.query_body,
22455            'query_category': self.query_category,
22456            'query_hash': self.query_hash,
22457            'query_key': self.query_key,
22458            'record_count': self.record_count,
22459            'remote_identity_username': self.remote_identity_username,
22460            'replayable': self.replayable,
22461            'resource_id': self.resource_id,
22462            'resource_name': self.resource_name,
22463            'resource_tags': self.resource_tags,
22464            'resource_type': self.resource_type,
22465            'source_ip': self.source_ip,
22466            'target': self.target,
22467            'timestamp': self.timestamp,
22468        }
@classmethod
def from_dict(cls, d)
22470    @classmethod
22471    def from_dict(cls, d):
22472        return cls(
22473            account_email=d.get('account_email'),
22474            account_first_name=d.get('account_first_name'),
22475            account_id=d.get('account_id'),
22476            account_last_name=d.get('account_last_name'),
22477            account_tags=d.get('account_tags'),
22478            authzjson=d.get('authzjson'),
22479            capture=d.get('capture'),
22480            client_ip=d.get('client_ip'),
22481            completed_at=d.get('completed_at'),
22482            duration=d.get('duration'),
22483            egress_node_id=d.get('egress_node_id'),
22484            encrypted=d.get('encrypted'),
22485            id=d.get('id'),
22486            identity_alias_username=d.get('identity_alias_username'),
22487            metadata_json=d.get('metadata_json'),
22488            query_body=d.get('query_body'),
22489            query_category=d.get('query_category'),
22490            query_hash=d.get('query_hash'),
22491            query_key=d.get('query_key'),
22492            record_count=d.get('record_count'),
22493            remote_identity_username=d.get('remote_identity_username'),
22494            replayable=d.get('replayable'),
22495            resource_id=d.get('resource_id'),
22496            resource_name=d.get('resource_name'),
22497            resource_tags=d.get('resource_tags'),
22498            resource_type=d.get('resource_type'),
22499            source_ip=d.get('source_ip'),
22500            target=d.get('target'),
22501            timestamp=d.get('timestamp'),
22502        )
class QueryCapture:
22505class QueryCapture:
22506    '''
22507         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
22508    '''
22509    __slots__ = [
22510        'client_command',
22511        'command',
22512        'container',
22513        'env',
22514        'file_name',
22515        'file_size',
22516        'height',
22517        'impersonation_groups',
22518        'impersonation_user',
22519        'pod',
22520        'privilege_groups',
22521        'request_body',
22522        'request_method',
22523        'request_uri',
22524        'type',
22525        'width',
22526    ]
22527
22528    def __init__(
22529        self,
22530        client_command=None,
22531        command=None,
22532        container=None,
22533        env=None,
22534        file_name=None,
22535        file_size=None,
22536        height=None,
22537        impersonation_groups=None,
22538        impersonation_user=None,
22539        pod=None,
22540        privilege_groups=None,
22541        request_body=None,
22542        request_method=None,
22543        request_uri=None,
22544        type=None,
22545        width=None,
22546    ):
22547        self.client_command = client_command if client_command is not None else ''
22548        '''
22549         The command executed on the client for a Kubernetes session.
22550        '''
22551        self.command = command if command is not None else ''
22552        '''
22553         The command executed over an SSH or Kubernetes session.
22554        '''
22555        self.container = container if container is not None else ''
22556        '''
22557         The target container of a Kubernetes operation.
22558        '''
22559        self.env = env if env is not None else {}
22560        '''
22561         The environment variables for an SSH or Kubernetes session.
22562        '''
22563        self.file_name = file_name if file_name is not None else ''
22564        '''
22565         The remote file name of an SCP operation.
22566        '''
22567        self.file_size = file_size if file_size is not None else 0
22568        '''
22569         The file size transferred for an SCP operation.
22570        '''
22571        self.height = height if height is not None else 0
22572        '''
22573         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22574        '''
22575        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22576        '''
22577         The impersonation groups of a Kubernetes operation.
22578        '''
22579        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22580        '''
22581         The impersonation user of a Kubernetes operation.
22582        '''
22583        self.pod = pod if pod is not None else ''
22584        '''
22585         The target pod of a Kubernetes operation.
22586        '''
22587        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22588        '''
22589         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22590        '''
22591        self.request_body = request_body if request_body is not None else b''
22592        '''
22593         The HTTP request body of a Kubernetes operation.
22594        '''
22595        self.request_method = request_method if request_method is not None else ''
22596        '''
22597         The HTTP request method of a Kubernetes operation.
22598        '''
22599        self.request_uri = request_uri if request_uri is not None else ''
22600        '''
22601         The HTTP request URI of a Kubernetes operation.
22602        '''
22603        self.type = type if type is not None else ''
22604        '''
22605         The CaptureType of this query capture, one of the CaptureType constants.
22606        '''
22607        self.width = width if width is not None else 0
22608        '''
22609         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22610        '''
22611
22612    def __repr__(self):
22613        return '<sdm.QueryCapture ' + \
22614            'client_command: ' + repr(self.client_command) + ' ' +\
22615            'command: ' + repr(self.command) + ' ' +\
22616            'container: ' + repr(self.container) + ' ' +\
22617            'env: ' + repr(self.env) + ' ' +\
22618            'file_name: ' + repr(self.file_name) + ' ' +\
22619            'file_size: ' + repr(self.file_size) + ' ' +\
22620            'height: ' + repr(self.height) + ' ' +\
22621            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
22622            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
22623            'pod: ' + repr(self.pod) + ' ' +\
22624            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
22625            'request_body: ' + repr(self.request_body) + ' ' +\
22626            'request_method: ' + repr(self.request_method) + ' ' +\
22627            'request_uri: ' + repr(self.request_uri) + ' ' +\
22628            'type: ' + repr(self.type) + ' ' +\
22629            'width: ' + repr(self.width) + ' ' +\
22630            '>'
22631
22632    def to_dict(self):
22633        return {
22634            'client_command': self.client_command,
22635            'command': self.command,
22636            'container': self.container,
22637            'env': self.env,
22638            'file_name': self.file_name,
22639            'file_size': self.file_size,
22640            'height': self.height,
22641            'impersonation_groups': self.impersonation_groups,
22642            'impersonation_user': self.impersonation_user,
22643            'pod': self.pod,
22644            'privilege_groups': self.privilege_groups,
22645            'request_body': self.request_body,
22646            'request_method': self.request_method,
22647            'request_uri': self.request_uri,
22648            'type': self.type,
22649            'width': self.width,
22650        }
22651
22652    @classmethod
22653    def from_dict(cls, d):
22654        return cls(
22655            client_command=d.get('client_command'),
22656            command=d.get('command'),
22657            container=d.get('container'),
22658            env=d.get('env'),
22659            file_name=d.get('file_name'),
22660            file_size=d.get('file_size'),
22661            height=d.get('height'),
22662            impersonation_groups=d.get('impersonation_groups'),
22663            impersonation_user=d.get('impersonation_user'),
22664            pod=d.get('pod'),
22665            privilege_groups=d.get('privilege_groups'),
22666            request_body=d.get('request_body'),
22667            request_method=d.get('request_method'),
22668            request_uri=d.get('request_uri'),
22669            type=d.get('type'),
22670            width=d.get('width'),
22671        )

A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.

QueryCapture( client_command=None, command=None, container=None, env=None, file_name=None, file_size=None, height=None, impersonation_groups=None, impersonation_user=None, pod=None, privilege_groups=None, request_body=None, request_method=None, request_uri=None, type=None, width=None)
22528    def __init__(
22529        self,
22530        client_command=None,
22531        command=None,
22532        container=None,
22533        env=None,
22534        file_name=None,
22535        file_size=None,
22536        height=None,
22537        impersonation_groups=None,
22538        impersonation_user=None,
22539        pod=None,
22540        privilege_groups=None,
22541        request_body=None,
22542        request_method=None,
22543        request_uri=None,
22544        type=None,
22545        width=None,
22546    ):
22547        self.client_command = client_command if client_command is not None else ''
22548        '''
22549         The command executed on the client for a Kubernetes session.
22550        '''
22551        self.command = command if command is not None else ''
22552        '''
22553         The command executed over an SSH or Kubernetes session.
22554        '''
22555        self.container = container if container is not None else ''
22556        '''
22557         The target container of a Kubernetes operation.
22558        '''
22559        self.env = env if env is not None else {}
22560        '''
22561         The environment variables for an SSH or Kubernetes session.
22562        '''
22563        self.file_name = file_name if file_name is not None else ''
22564        '''
22565         The remote file name of an SCP operation.
22566        '''
22567        self.file_size = file_size if file_size is not None else 0
22568        '''
22569         The file size transferred for an SCP operation.
22570        '''
22571        self.height = height if height is not None else 0
22572        '''
22573         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22574        '''
22575        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
22576        '''
22577         The impersonation groups of a Kubernetes operation.
22578        '''
22579        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
22580        '''
22581         The impersonation user of a Kubernetes operation.
22582        '''
22583        self.pod = pod if pod is not None else ''
22584        '''
22585         The target pod of a Kubernetes operation.
22586        '''
22587        self.privilege_groups = privilege_groups if privilege_groups is not None else []
22588        '''
22589         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
22590        '''
22591        self.request_body = request_body if request_body is not None else b''
22592        '''
22593         The HTTP request body of a Kubernetes operation.
22594        '''
22595        self.request_method = request_method if request_method is not None else ''
22596        '''
22597         The HTTP request method of a Kubernetes operation.
22598        '''
22599        self.request_uri = request_uri if request_uri is not None else ''
22600        '''
22601         The HTTP request URI of a Kubernetes operation.
22602        '''
22603        self.type = type if type is not None else ''
22604        '''
22605         The CaptureType of this query capture, one of the CaptureType constants.
22606        '''
22607        self.width = width if width is not None else 0
22608        '''
22609         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
22610        '''
client_command

The command executed on the client for a Kubernetes session.

command

The command executed over an SSH or Kubernetes session.

container

The target container of a Kubernetes operation.

env

The environment variables for an SSH or Kubernetes session.

file_name

The remote file name of an SCP operation.

file_size

The file size transferred for an SCP operation.

height

The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.

impersonation_groups

The impersonation groups of a Kubernetes operation.

impersonation_user

The impersonation user of a Kubernetes operation.

pod

The target pod of a Kubernetes operation.

privilege_groups

The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.

request_body

The HTTP request body of a Kubernetes operation.

request_method

The HTTP request method of a Kubernetes operation.

request_uri

The HTTP request URI of a Kubernetes operation.

type

The CaptureType of this query capture, one of the CaptureType constants.

width

The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.

def to_dict(self)
22632    def to_dict(self):
22633        return {
22634            'client_command': self.client_command,
22635            'command': self.command,
22636            'container': self.container,
22637            'env': self.env,
22638            'file_name': self.file_name,
22639            'file_size': self.file_size,
22640            'height': self.height,
22641            'impersonation_groups': self.impersonation_groups,
22642            'impersonation_user': self.impersonation_user,
22643            'pod': self.pod,
22644            'privilege_groups': self.privilege_groups,
22645            'request_body': self.request_body,
22646            'request_method': self.request_method,
22647            'request_uri': self.request_uri,
22648            'type': self.type,
22649            'width': self.width,
22650        }
@classmethod
def from_dict(cls, d)
22652    @classmethod
22653    def from_dict(cls, d):
22654        return cls(
22655            client_command=d.get('client_command'),
22656            command=d.get('command'),
22657            container=d.get('container'),
22658            env=d.get('env'),
22659            file_name=d.get('file_name'),
22660            file_size=d.get('file_size'),
22661            height=d.get('height'),
22662            impersonation_groups=d.get('impersonation_groups'),
22663            impersonation_user=d.get('impersonation_user'),
22664            pod=d.get('pod'),
22665            privilege_groups=d.get('privilege_groups'),
22666            request_body=d.get('request_body'),
22667            request_method=d.get('request_method'),
22668            request_uri=d.get('request_uri'),
22669            type=d.get('type'),
22670            width=d.get('width'),
22671        )
class RDP:
22674class RDP:
22675    __slots__ = [
22676        'bind_interface',
22677        'downgrade_nla_connections',
22678        'egress_filter',
22679        'healthy',
22680        'hostname',
22681        'id',
22682        'lock_required',
22683        'name',
22684        'password',
22685        'port',
22686        'port_override',
22687        'proxy_cluster_id',
22688        'secret_store_id',
22689        'subdomain',
22690        'tags',
22691        'username',
22692    ]
22693
22694    def __init__(
22695        self,
22696        bind_interface=None,
22697        downgrade_nla_connections=None,
22698        egress_filter=None,
22699        healthy=None,
22700        hostname=None,
22701        id=None,
22702        lock_required=None,
22703        name=None,
22704        password=None,
22705        port=None,
22706        port_override=None,
22707        proxy_cluster_id=None,
22708        secret_store_id=None,
22709        subdomain=None,
22710        tags=None,
22711        username=None,
22712    ):
22713        self.bind_interface = bind_interface if bind_interface is not None else ''
22714        '''
22715         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22716        '''
22717        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22718        '''
22719         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.
22720        '''
22721        self.egress_filter = egress_filter if egress_filter is not None else ''
22722        '''
22723         A filter applied to the routing logic to pin datasource to nodes.
22724        '''
22725        self.healthy = healthy if healthy is not None else False
22726        '''
22727         True if the datasource is reachable and the credentials are valid.
22728        '''
22729        self.hostname = hostname if hostname is not None else ''
22730        '''
22731         The host to dial to initiate a connection from the egress node to this resource.
22732        '''
22733        self.id = id if id is not None else ''
22734        '''
22735         Unique identifier of the Resource.
22736        '''
22737        self.lock_required = lock_required if lock_required is not None else False
22738        '''
22739         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22740        '''
22741        self.name = name if name is not None else ''
22742        '''
22743         Unique human-readable name of the Resource.
22744        '''
22745        self.password = password if password is not None else ''
22746        '''
22747         The password to authenticate with.
22748        '''
22749        self.port = port if port is not None else 0
22750        '''
22751         The port to dial to initiate a connection from the egress node to this resource.
22752        '''
22753        self.port_override = port_override if port_override is not None else 0
22754        '''
22755         The local port used by clients to connect to this resource.
22756        '''
22757        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22758        '''
22759         ID of the proxy cluster for this resource, if any.
22760        '''
22761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22762        '''
22763         ID of the secret store containing credentials for this resource, if any.
22764        '''
22765        self.subdomain = subdomain if subdomain is not None else ''
22766        '''
22767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22768        '''
22769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22770        '''
22771         Tags is a map of key, value pairs.
22772        '''
22773        self.username = username if username is not None else ''
22774        '''
22775         The username to authenticate with.
22776        '''
22777
22778    def __repr__(self):
22779        return '<sdm.RDP ' + \
22780            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22781            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
22782            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22783            'healthy: ' + repr(self.healthy) + ' ' +\
22784            'hostname: ' + repr(self.hostname) + ' ' +\
22785            'id: ' + repr(self.id) + ' ' +\
22786            'lock_required: ' + repr(self.lock_required) + ' ' +\
22787            'name: ' + repr(self.name) + ' ' +\
22788            'password: ' + repr(self.password) + ' ' +\
22789            'port: ' + repr(self.port) + ' ' +\
22790            'port_override: ' + repr(self.port_override) + ' ' +\
22791            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22792            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22793            'subdomain: ' + repr(self.subdomain) + ' ' +\
22794            'tags: ' + repr(self.tags) + ' ' +\
22795            'username: ' + repr(self.username) + ' ' +\
22796            '>'
22797
22798    def to_dict(self):
22799        return {
22800            'bind_interface': self.bind_interface,
22801            'downgrade_nla_connections': self.downgrade_nla_connections,
22802            'egress_filter': self.egress_filter,
22803            'healthy': self.healthy,
22804            'hostname': self.hostname,
22805            'id': self.id,
22806            'lock_required': self.lock_required,
22807            'name': self.name,
22808            'password': self.password,
22809            'port': self.port,
22810            'port_override': self.port_override,
22811            'proxy_cluster_id': self.proxy_cluster_id,
22812            'secret_store_id': self.secret_store_id,
22813            'subdomain': self.subdomain,
22814            'tags': self.tags,
22815            'username': self.username,
22816        }
22817
22818    @classmethod
22819    def from_dict(cls, d):
22820        return cls(
22821            bind_interface=d.get('bind_interface'),
22822            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22823            egress_filter=d.get('egress_filter'),
22824            healthy=d.get('healthy'),
22825            hostname=d.get('hostname'),
22826            id=d.get('id'),
22827            lock_required=d.get('lock_required'),
22828            name=d.get('name'),
22829            password=d.get('password'),
22830            port=d.get('port'),
22831            port_override=d.get('port_override'),
22832            proxy_cluster_id=d.get('proxy_cluster_id'),
22833            secret_store_id=d.get('secret_store_id'),
22834            subdomain=d.get('subdomain'),
22835            tags=d.get('tags'),
22836            username=d.get('username'),
22837        )
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)
22694    def __init__(
22695        self,
22696        bind_interface=None,
22697        downgrade_nla_connections=None,
22698        egress_filter=None,
22699        healthy=None,
22700        hostname=None,
22701        id=None,
22702        lock_required=None,
22703        name=None,
22704        password=None,
22705        port=None,
22706        port_override=None,
22707        proxy_cluster_id=None,
22708        secret_store_id=None,
22709        subdomain=None,
22710        tags=None,
22711        username=None,
22712    ):
22713        self.bind_interface = bind_interface if bind_interface is not None else ''
22714        '''
22715         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22716        '''
22717        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
22718        '''
22719         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.
22720        '''
22721        self.egress_filter = egress_filter if egress_filter is not None else ''
22722        '''
22723         A filter applied to the routing logic to pin datasource to nodes.
22724        '''
22725        self.healthy = healthy if healthy is not None else False
22726        '''
22727         True if the datasource is reachable and the credentials are valid.
22728        '''
22729        self.hostname = hostname if hostname is not None else ''
22730        '''
22731         The host to dial to initiate a connection from the egress node to this resource.
22732        '''
22733        self.id = id if id is not None else ''
22734        '''
22735         Unique identifier of the Resource.
22736        '''
22737        self.lock_required = lock_required if lock_required is not None else False
22738        '''
22739         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22740        '''
22741        self.name = name if name is not None else ''
22742        '''
22743         Unique human-readable name of the Resource.
22744        '''
22745        self.password = password if password is not None else ''
22746        '''
22747         The password to authenticate with.
22748        '''
22749        self.port = port if port is not None else 0
22750        '''
22751         The port to dial to initiate a connection from the egress node to this resource.
22752        '''
22753        self.port_override = port_override if port_override is not None else 0
22754        '''
22755         The local port used by clients to connect to this resource.
22756        '''
22757        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22758        '''
22759         ID of the proxy cluster for this resource, if any.
22760        '''
22761        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22762        '''
22763         ID of the secret store containing credentials for this resource, if any.
22764        '''
22765        self.subdomain = subdomain if subdomain is not None else ''
22766        '''
22767         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22768        '''
22769        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22770        '''
22771         Tags is a map of key, value pairs.
22772        '''
22773        self.username = username if username is not None else ''
22774        '''
22775         The username to authenticate with.
22776        '''
bind_interface

The bind interface is the IP 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)
22798    def to_dict(self):
22799        return {
22800            'bind_interface': self.bind_interface,
22801            'downgrade_nla_connections': self.downgrade_nla_connections,
22802            'egress_filter': self.egress_filter,
22803            'healthy': self.healthy,
22804            'hostname': self.hostname,
22805            'id': self.id,
22806            'lock_required': self.lock_required,
22807            'name': self.name,
22808            'password': self.password,
22809            'port': self.port,
22810            'port_override': self.port_override,
22811            'proxy_cluster_id': self.proxy_cluster_id,
22812            'secret_store_id': self.secret_store_id,
22813            'subdomain': self.subdomain,
22814            'tags': self.tags,
22815            'username': self.username,
22816        }
@classmethod
def from_dict(cls, d)
22818    @classmethod
22819    def from_dict(cls, d):
22820        return cls(
22821            bind_interface=d.get('bind_interface'),
22822            downgrade_nla_connections=d.get('downgrade_nla_connections'),
22823            egress_filter=d.get('egress_filter'),
22824            healthy=d.get('healthy'),
22825            hostname=d.get('hostname'),
22826            id=d.get('id'),
22827            lock_required=d.get('lock_required'),
22828            name=d.get('name'),
22829            password=d.get('password'),
22830            port=d.get('port'),
22831            port_override=d.get('port_override'),
22832            proxy_cluster_id=d.get('proxy_cluster_id'),
22833            secret_store_id=d.get('secret_store_id'),
22834            subdomain=d.get('subdomain'),
22835            tags=d.get('tags'),
22836            username=d.get('username'),
22837        )
class RDPCert:
22840class RDPCert:
22841    __slots__ = [
22842        'bind_interface',
22843        'egress_filter',
22844        'healthy',
22845        'hostname',
22846        'id',
22847        'identity_alias_healthcheck_username',
22848        'identity_set_id',
22849        'lock_required',
22850        'name',
22851        'port',
22852        'port_override',
22853        'proxy_cluster_id',
22854        'secret_store_id',
22855        'subdomain',
22856        'tags',
22857        'username',
22858    ]
22859
22860    def __init__(
22861        self,
22862        bind_interface=None,
22863        egress_filter=None,
22864        healthy=None,
22865        hostname=None,
22866        id=None,
22867        identity_alias_healthcheck_username=None,
22868        identity_set_id=None,
22869        lock_required=None,
22870        name=None,
22871        port=None,
22872        port_override=None,
22873        proxy_cluster_id=None,
22874        secret_store_id=None,
22875        subdomain=None,
22876        tags=None,
22877        username=None,
22878    ):
22879        self.bind_interface = bind_interface if bind_interface is not None else ''
22880        '''
22881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22882        '''
22883        self.egress_filter = egress_filter if egress_filter is not None else ''
22884        '''
22885         A filter applied to the routing logic to pin datasource to nodes.
22886        '''
22887        self.healthy = healthy if healthy is not None else False
22888        '''
22889         True if the datasource is reachable and the credentials are valid.
22890        '''
22891        self.hostname = hostname if hostname is not None else ''
22892        '''
22893         The host to dial to initiate a connection from the egress node to this resource.
22894        '''
22895        self.id = id if id is not None else ''
22896        '''
22897         Unique identifier of the Resource.
22898        '''
22899        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22900        '''
22901         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22902        '''
22903        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22904        '''
22905         The ID of the identity set to use for identity connections.
22906        '''
22907        self.lock_required = lock_required if lock_required is not None else False
22908        '''
22909         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22910        '''
22911        self.name = name if name is not None else ''
22912        '''
22913         Unique human-readable name of the Resource.
22914        '''
22915        self.port = port if port is not None else 0
22916        '''
22917         The port to dial to initiate a connection from the egress node to this resource.
22918        '''
22919        self.port_override = port_override if port_override is not None else 0
22920        '''
22921         The local port used by clients to connect to this resource.
22922        '''
22923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22924        '''
22925         ID of the proxy cluster for this resource, if any.
22926        '''
22927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22928        '''
22929         ID of the secret store containing credentials for this resource, if any.
22930        '''
22931        self.subdomain = subdomain if subdomain is not None else ''
22932        '''
22933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22934        '''
22935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22936        '''
22937         Tags is a map of key, value pairs.
22938        '''
22939        self.username = username if username is not None else ''
22940        '''
22941         The username to authenticate with.
22942        '''
22943
22944    def __repr__(self):
22945        return '<sdm.RDPCert ' + \
22946            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22948            'healthy: ' + repr(self.healthy) + ' ' +\
22949            'hostname: ' + repr(self.hostname) + ' ' +\
22950            'id: ' + repr(self.id) + ' ' +\
22951            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
22952            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
22953            'lock_required: ' + repr(self.lock_required) + ' ' +\
22954            'name: ' + repr(self.name) + ' ' +\
22955            'port: ' + repr(self.port) + ' ' +\
22956            'port_override: ' + repr(self.port_override) + ' ' +\
22957            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22958            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22959            'subdomain: ' + repr(self.subdomain) + ' ' +\
22960            'tags: ' + repr(self.tags) + ' ' +\
22961            'username: ' + repr(self.username) + ' ' +\
22962            '>'
22963
22964    def to_dict(self):
22965        return {
22966            'bind_interface': self.bind_interface,
22967            'egress_filter': self.egress_filter,
22968            'healthy': self.healthy,
22969            'hostname': self.hostname,
22970            'id': self.id,
22971            'identity_alias_healthcheck_username':
22972            self.identity_alias_healthcheck_username,
22973            'identity_set_id': self.identity_set_id,
22974            'lock_required': self.lock_required,
22975            'name': self.name,
22976            'port': self.port,
22977            'port_override': self.port_override,
22978            'proxy_cluster_id': self.proxy_cluster_id,
22979            'secret_store_id': self.secret_store_id,
22980            'subdomain': self.subdomain,
22981            'tags': self.tags,
22982            'username': self.username,
22983        }
22984
22985    @classmethod
22986    def from_dict(cls, d):
22987        return cls(
22988            bind_interface=d.get('bind_interface'),
22989            egress_filter=d.get('egress_filter'),
22990            healthy=d.get('healthy'),
22991            hostname=d.get('hostname'),
22992            id=d.get('id'),
22993            identity_alias_healthcheck_username=d.get(
22994                'identity_alias_healthcheck_username'),
22995            identity_set_id=d.get('identity_set_id'),
22996            lock_required=d.get('lock_required'),
22997            name=d.get('name'),
22998            port=d.get('port'),
22999            port_override=d.get('port_override'),
23000            proxy_cluster_id=d.get('proxy_cluster_id'),
23001            secret_store_id=d.get('secret_store_id'),
23002            subdomain=d.get('subdomain'),
23003            tags=d.get('tags'),
23004            username=d.get('username'),
23005        )
RDPCert( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, lock_required=None, name=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
22860    def __init__(
22861        self,
22862        bind_interface=None,
22863        egress_filter=None,
22864        healthy=None,
22865        hostname=None,
22866        id=None,
22867        identity_alias_healthcheck_username=None,
22868        identity_set_id=None,
22869        lock_required=None,
22870        name=None,
22871        port=None,
22872        port_override=None,
22873        proxy_cluster_id=None,
22874        secret_store_id=None,
22875        subdomain=None,
22876        tags=None,
22877        username=None,
22878    ):
22879        self.bind_interface = bind_interface if bind_interface is not None else ''
22880        '''
22881         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
22882        '''
22883        self.egress_filter = egress_filter if egress_filter is not None else ''
22884        '''
22885         A filter applied to the routing logic to pin datasource to nodes.
22886        '''
22887        self.healthy = healthy if healthy is not None else False
22888        '''
22889         True if the datasource is reachable and the credentials are valid.
22890        '''
22891        self.hostname = hostname if hostname is not None else ''
22892        '''
22893         The host to dial to initiate a connection from the egress node to this resource.
22894        '''
22895        self.id = id if id is not None else ''
22896        '''
22897         Unique identifier of the Resource.
22898        '''
22899        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
22900        '''
22901         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
22902        '''
22903        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
22904        '''
22905         The ID of the identity set to use for identity connections.
22906        '''
22907        self.lock_required = lock_required if lock_required is not None else False
22908        '''
22909         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
22910        '''
22911        self.name = name if name is not None else ''
22912        '''
22913         Unique human-readable name of the Resource.
22914        '''
22915        self.port = port if port is not None else 0
22916        '''
22917         The port to dial to initiate a connection from the egress node to this resource.
22918        '''
22919        self.port_override = port_override if port_override is not None else 0
22920        '''
22921         The local port used by clients to connect to this resource.
22922        '''
22923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22924        '''
22925         ID of the proxy cluster for this resource, if any.
22926        '''
22927        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22928        '''
22929         ID of the secret store containing credentials for this resource, if any.
22930        '''
22931        self.subdomain = subdomain if subdomain is not None else ''
22932        '''
22933         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
22934        '''
22935        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22936        '''
22937         Tags is a map of key, value pairs.
22938        '''
22939        self.username = username if username is not None else ''
22940        '''
22941         The username to authenticate with.
22942        '''
bind_interface

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

lock_required

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.

name

Unique human-readable name of the Resource.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
22964    def to_dict(self):
22965        return {
22966            'bind_interface': self.bind_interface,
22967            'egress_filter': self.egress_filter,
22968            'healthy': self.healthy,
22969            'hostname': self.hostname,
22970            'id': self.id,
22971            'identity_alias_healthcheck_username':
22972            self.identity_alias_healthcheck_username,
22973            'identity_set_id': self.identity_set_id,
22974            'lock_required': self.lock_required,
22975            'name': self.name,
22976            'port': self.port,
22977            'port_override': self.port_override,
22978            'proxy_cluster_id': self.proxy_cluster_id,
22979            'secret_store_id': self.secret_store_id,
22980            'subdomain': self.subdomain,
22981            'tags': self.tags,
22982            'username': self.username,
22983        }
@classmethod
def from_dict(cls, d)
22985    @classmethod
22986    def from_dict(cls, d):
22987        return cls(
22988            bind_interface=d.get('bind_interface'),
22989            egress_filter=d.get('egress_filter'),
22990            healthy=d.get('healthy'),
22991            hostname=d.get('hostname'),
22992            id=d.get('id'),
22993            identity_alias_healthcheck_username=d.get(
22994                'identity_alias_healthcheck_username'),
22995            identity_set_id=d.get('identity_set_id'),
22996            lock_required=d.get('lock_required'),
22997            name=d.get('name'),
22998            port=d.get('port'),
22999            port_override=d.get('port_override'),
23000            proxy_cluster_id=d.get('proxy_cluster_id'),
23001            secret_store_id=d.get('secret_store_id'),
23002            subdomain=d.get('subdomain'),
23003            tags=d.get('tags'),
23004            username=d.get('username'),
23005        )
class RDSPostgresIAM:
23008class RDSPostgresIAM:
23009    __slots__ = [
23010        'bind_interface',
23011        'database',
23012        'egress_filter',
23013        'healthy',
23014        'hostname',
23015        'id',
23016        'name',
23017        'override_database',
23018        'port',
23019        'port_override',
23020        'proxy_cluster_id',
23021        'region',
23022        'role_assumption_arn',
23023        'secret_store_id',
23024        'subdomain',
23025        'tags',
23026        'username',
23027    ]
23028
23029    def __init__(
23030        self,
23031        bind_interface=None,
23032        database=None,
23033        egress_filter=None,
23034        healthy=None,
23035        hostname=None,
23036        id=None,
23037        name=None,
23038        override_database=None,
23039        port=None,
23040        port_override=None,
23041        proxy_cluster_id=None,
23042        region=None,
23043        role_assumption_arn=None,
23044        secret_store_id=None,
23045        subdomain=None,
23046        tags=None,
23047        username=None,
23048    ):
23049        self.bind_interface = bind_interface if bind_interface is not None else ''
23050        '''
23051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23052        '''
23053        self.database = database if database is not None else ''
23054        '''
23055         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23056        '''
23057        self.egress_filter = egress_filter if egress_filter is not None else ''
23058        '''
23059         A filter applied to the routing logic to pin datasource to nodes.
23060        '''
23061        self.healthy = healthy if healthy is not None else False
23062        '''
23063         True if the datasource is reachable and the credentials are valid.
23064        '''
23065        self.hostname = hostname if hostname is not None else ''
23066        '''
23067         The host to dial to initiate a connection from the egress node to this resource.
23068        '''
23069        self.id = id if id is not None else ''
23070        '''
23071         Unique identifier of the Resource.
23072        '''
23073        self.name = name if name is not None else ''
23074        '''
23075         Unique human-readable name of the Resource.
23076        '''
23077        self.override_database = override_database if override_database is not None else False
23078        '''
23079         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.
23080        '''
23081        self.port = port if port is not None else 0
23082        '''
23083         The port to dial to initiate a connection from the egress node to this resource.
23084        '''
23085        self.port_override = port_override if port_override is not None else 0
23086        '''
23087         The local port used by clients to connect to this resource.
23088        '''
23089        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23090        '''
23091         ID of the proxy cluster for this resource, if any.
23092        '''
23093        self.region = region if region is not None else ''
23094        '''
23095         The AWS region to connect to.
23096        '''
23097        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23098        '''
23099         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23100        '''
23101        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23102        '''
23103         ID of the secret store containing credentials for this resource, if any.
23104        '''
23105        self.subdomain = subdomain if subdomain is not None else ''
23106        '''
23107         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23108        '''
23109        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23110        '''
23111         Tags is a map of key, value pairs.
23112        '''
23113        self.username = username if username is not None else ''
23114        '''
23115         The username to authenticate with.
23116        '''
23117
23118    def __repr__(self):
23119        return '<sdm.RDSPostgresIAM ' + \
23120            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23121            'database: ' + repr(self.database) + ' ' +\
23122            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23123            'healthy: ' + repr(self.healthy) + ' ' +\
23124            'hostname: ' + repr(self.hostname) + ' ' +\
23125            'id: ' + repr(self.id) + ' ' +\
23126            'name: ' + repr(self.name) + ' ' +\
23127            'override_database: ' + repr(self.override_database) + ' ' +\
23128            'port: ' + repr(self.port) + ' ' +\
23129            'port_override: ' + repr(self.port_override) + ' ' +\
23130            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23131            'region: ' + repr(self.region) + ' ' +\
23132            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
23133            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23134            'subdomain: ' + repr(self.subdomain) + ' ' +\
23135            'tags: ' + repr(self.tags) + ' ' +\
23136            'username: ' + repr(self.username) + ' ' +\
23137            '>'
23138
23139    def to_dict(self):
23140        return {
23141            'bind_interface': self.bind_interface,
23142            'database': self.database,
23143            'egress_filter': self.egress_filter,
23144            'healthy': self.healthy,
23145            'hostname': self.hostname,
23146            'id': self.id,
23147            'name': self.name,
23148            'override_database': self.override_database,
23149            'port': self.port,
23150            'port_override': self.port_override,
23151            'proxy_cluster_id': self.proxy_cluster_id,
23152            'region': self.region,
23153            'role_assumption_arn': self.role_assumption_arn,
23154            'secret_store_id': self.secret_store_id,
23155            'subdomain': self.subdomain,
23156            'tags': self.tags,
23157            'username': self.username,
23158        }
23159
23160    @classmethod
23161    def from_dict(cls, d):
23162        return cls(
23163            bind_interface=d.get('bind_interface'),
23164            database=d.get('database'),
23165            egress_filter=d.get('egress_filter'),
23166            healthy=d.get('healthy'),
23167            hostname=d.get('hostname'),
23168            id=d.get('id'),
23169            name=d.get('name'),
23170            override_database=d.get('override_database'),
23171            port=d.get('port'),
23172            port_override=d.get('port_override'),
23173            proxy_cluster_id=d.get('proxy_cluster_id'),
23174            region=d.get('region'),
23175            role_assumption_arn=d.get('role_assumption_arn'),
23176            secret_store_id=d.get('secret_store_id'),
23177            subdomain=d.get('subdomain'),
23178            tags=d.get('tags'),
23179            username=d.get('username'),
23180        )
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)
23029    def __init__(
23030        self,
23031        bind_interface=None,
23032        database=None,
23033        egress_filter=None,
23034        healthy=None,
23035        hostname=None,
23036        id=None,
23037        name=None,
23038        override_database=None,
23039        port=None,
23040        port_override=None,
23041        proxy_cluster_id=None,
23042        region=None,
23043        role_assumption_arn=None,
23044        secret_store_id=None,
23045        subdomain=None,
23046        tags=None,
23047        username=None,
23048    ):
23049        self.bind_interface = bind_interface if bind_interface is not None else ''
23050        '''
23051         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23052        '''
23053        self.database = database if database is not None else ''
23054        '''
23055         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23056        '''
23057        self.egress_filter = egress_filter if egress_filter is not None else ''
23058        '''
23059         A filter applied to the routing logic to pin datasource to nodes.
23060        '''
23061        self.healthy = healthy if healthy is not None else False
23062        '''
23063         True if the datasource is reachable and the credentials are valid.
23064        '''
23065        self.hostname = hostname if hostname is not None else ''
23066        '''
23067         The host to dial to initiate a connection from the egress node to this resource.
23068        '''
23069        self.id = id if id is not None else ''
23070        '''
23071         Unique identifier of the Resource.
23072        '''
23073        self.name = name if name is not None else ''
23074        '''
23075         Unique human-readable name of the Resource.
23076        '''
23077        self.override_database = override_database if override_database is not None else False
23078        '''
23079         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.
23080        '''
23081        self.port = port if port is not None else 0
23082        '''
23083         The port to dial to initiate a connection from the egress node to this resource.
23084        '''
23085        self.port_override = port_override if port_override is not None else 0
23086        '''
23087         The local port used by clients to connect to this resource.
23088        '''
23089        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23090        '''
23091         ID of the proxy cluster for this resource, if any.
23092        '''
23093        self.region = region if region is not None else ''
23094        '''
23095         The AWS region to connect to.
23096        '''
23097        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
23098        '''
23099         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
23100        '''
23101        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23102        '''
23103         ID of the secret store containing credentials for this resource, if any.
23104        '''
23105        self.subdomain = subdomain if subdomain is not None else ''
23106        '''
23107         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23108        '''
23109        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23110        '''
23111         Tags is a map of key, value pairs.
23112        '''
23113        self.username = username if username is not None else ''
23114        '''
23115         The username to authenticate with.
23116        '''
bind_interface

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

The bind interface is the IP 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)
23300    def to_dict(self):
23301        return {
23302            'bind_interface': self.bind_interface,
23303            'egress_filter': self.egress_filter,
23304            'healthy': self.healthy,
23305            'hostname': self.hostname,
23306            'id': self.id,
23307            'name': self.name,
23308            'password': self.password,
23309            'port': self.port,
23310            'port_override': self.port_override,
23311            'proxy_cluster_id': self.proxy_cluster_id,
23312            'secret_store_id': self.secret_store_id,
23313            'subdomain': self.subdomain,
23314            'tags': self.tags,
23315            'tls_required': self.tls_required,
23316            'username': self.username,
23317        }
@classmethod
def from_dict(cls, d)
23319    @classmethod
23320    def from_dict(cls, d):
23321        return cls(
23322            bind_interface=d.get('bind_interface'),
23323            egress_filter=d.get('egress_filter'),
23324            healthy=d.get('healthy'),
23325            hostname=d.get('hostname'),
23326            id=d.get('id'),
23327            name=d.get('name'),
23328            password=d.get('password'),
23329            port=d.get('port'),
23330            port_override=d.get('port_override'),
23331            proxy_cluster_id=d.get('proxy_cluster_id'),
23332            secret_store_id=d.get('secret_store_id'),
23333            subdomain=d.get('subdomain'),
23334            tags=d.get('tags'),
23335            tls_required=d.get('tls_required'),
23336            username=d.get('username'),
23337        )
class RateLimitMetadata:
23340class RateLimitMetadata:
23341    '''
23342         RateLimitMetadata contains information about remaining requests avaialable
23343     to the user over some timeframe.
23344    '''
23345    __slots__ = [
23346        'bucket',
23347        'limit',
23348        'remaining',
23349        'reset_at',
23350    ]
23351
23352    def __init__(
23353        self,
23354        bucket=None,
23355        limit=None,
23356        remaining=None,
23357        reset_at=None,
23358    ):
23359        self.bucket = bucket if bucket is not None else ''
23360        '''
23361         The bucket this user/token is associated with, which may be shared between
23362         multiple users/tokens.
23363        '''
23364        self.limit = limit if limit is not None else 0
23365        '''
23366         How many total requests the user/token is authorized to make before being
23367         rate limited.
23368        '''
23369        self.remaining = remaining if remaining is not None else 0
23370        '''
23371         How many remaining requests out of the limit are still avaialable.
23372        '''
23373        self.reset_at = reset_at if reset_at is not None else None
23374        '''
23375         The time when remaining will be reset to limit.
23376        '''
23377
23378    def __repr__(self):
23379        return '<sdm.RateLimitMetadata ' + \
23380            'bucket: ' + repr(self.bucket) + ' ' +\
23381            'limit: ' + repr(self.limit) + ' ' +\
23382            'remaining: ' + repr(self.remaining) + ' ' +\
23383            'reset_at: ' + repr(self.reset_at) + ' ' +\
23384            '>'
23385
23386    def to_dict(self):
23387        return {
23388            'bucket': self.bucket,
23389            'limit': self.limit,
23390            'remaining': self.remaining,
23391            'reset_at': self.reset_at,
23392        }
23393
23394    @classmethod
23395    def from_dict(cls, d):
23396        return cls(
23397            bucket=d.get('bucket'),
23398            limit=d.get('limit'),
23399            remaining=d.get('remaining'),
23400            reset_at=d.get('reset_at'),
23401        )

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

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
23352    def __init__(
23353        self,
23354        bucket=None,
23355        limit=None,
23356        remaining=None,
23357        reset_at=None,
23358    ):
23359        self.bucket = bucket if bucket is not None else ''
23360        '''
23361         The bucket this user/token is associated with, which may be shared between
23362         multiple users/tokens.
23363        '''
23364        self.limit = limit if limit is not None else 0
23365        '''
23366         How many total requests the user/token is authorized to make before being
23367         rate limited.
23368        '''
23369        self.remaining = remaining if remaining is not None else 0
23370        '''
23371         How many remaining requests out of the limit are still avaialable.
23372        '''
23373        self.reset_at = reset_at if reset_at is not None else None
23374        '''
23375         The time when remaining will be reset to limit.
23376        '''
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)
23386    def to_dict(self):
23387        return {
23388            'bucket': self.bucket,
23389            'limit': self.limit,
23390            'remaining': self.remaining,
23391            'reset_at': self.reset_at,
23392        }
@classmethod
def from_dict(cls, d)
23394    @classmethod
23395    def from_dict(cls, d):
23396        return cls(
23397            bucket=d.get('bucket'),
23398            limit=d.get('limit'),
23399            remaining=d.get('remaining'),
23400            reset_at=d.get('reset_at'),
23401        )
class RawTCP:
23404class RawTCP:
23405    __slots__ = [
23406        'bind_interface',
23407        'egress_filter',
23408        'healthy',
23409        'hostname',
23410        'id',
23411        'name',
23412        'port',
23413        'port_override',
23414        'proxy_cluster_id',
23415        'secret_store_id',
23416        'subdomain',
23417        'tags',
23418    ]
23419
23420    def __init__(
23421        self,
23422        bind_interface=None,
23423        egress_filter=None,
23424        healthy=None,
23425        hostname=None,
23426        id=None,
23427        name=None,
23428        port=None,
23429        port_override=None,
23430        proxy_cluster_id=None,
23431        secret_store_id=None,
23432        subdomain=None,
23433        tags=None,
23434    ):
23435        self.bind_interface = bind_interface if bind_interface is not None else ''
23436        '''
23437         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23438        '''
23439        self.egress_filter = egress_filter if egress_filter is not None else ''
23440        '''
23441         A filter applied to the routing logic to pin datasource to nodes.
23442        '''
23443        self.healthy = healthy if healthy is not None else False
23444        '''
23445         True if the datasource is reachable and the credentials are valid.
23446        '''
23447        self.hostname = hostname if hostname is not None else ''
23448        '''
23449         The host to dial to initiate a connection from the egress node to this resource.
23450        '''
23451        self.id = id if id is not None else ''
23452        '''
23453         Unique identifier of the Resource.
23454        '''
23455        self.name = name if name is not None else ''
23456        '''
23457         Unique human-readable name of the Resource.
23458        '''
23459        self.port = port if port is not None else 0
23460        '''
23461         The port to dial to initiate a connection from the egress node to this resource.
23462        '''
23463        self.port_override = port_override if port_override is not None else 0
23464        '''
23465         The local port used by clients to connect to this resource.
23466        '''
23467        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23468        '''
23469         ID of the proxy cluster for this resource, if any.
23470        '''
23471        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23472        '''
23473         ID of the secret store containing credentials for this resource, if any.
23474        '''
23475        self.subdomain = subdomain if subdomain is not None else ''
23476        '''
23477         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23478        '''
23479        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23480        '''
23481         Tags is a map of key, value pairs.
23482        '''
23483
23484    def __repr__(self):
23485        return '<sdm.RawTCP ' + \
23486            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23487            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23488            'healthy: ' + repr(self.healthy) + ' ' +\
23489            'hostname: ' + repr(self.hostname) + ' ' +\
23490            'id: ' + repr(self.id) + ' ' +\
23491            'name: ' + repr(self.name) + ' ' +\
23492            'port: ' + repr(self.port) + ' ' +\
23493            'port_override: ' + repr(self.port_override) + ' ' +\
23494            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23495            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23496            'subdomain: ' + repr(self.subdomain) + ' ' +\
23497            'tags: ' + repr(self.tags) + ' ' +\
23498            '>'
23499
23500    def to_dict(self):
23501        return {
23502            'bind_interface': self.bind_interface,
23503            'egress_filter': self.egress_filter,
23504            'healthy': self.healthy,
23505            'hostname': self.hostname,
23506            'id': self.id,
23507            'name': self.name,
23508            'port': self.port,
23509            'port_override': self.port_override,
23510            'proxy_cluster_id': self.proxy_cluster_id,
23511            'secret_store_id': self.secret_store_id,
23512            'subdomain': self.subdomain,
23513            'tags': self.tags,
23514        }
23515
23516    @classmethod
23517    def from_dict(cls, d):
23518        return cls(
23519            bind_interface=d.get('bind_interface'),
23520            egress_filter=d.get('egress_filter'),
23521            healthy=d.get('healthy'),
23522            hostname=d.get('hostname'),
23523            id=d.get('id'),
23524            name=d.get('name'),
23525            port=d.get('port'),
23526            port_override=d.get('port_override'),
23527            proxy_cluster_id=d.get('proxy_cluster_id'),
23528            secret_store_id=d.get('secret_store_id'),
23529            subdomain=d.get('subdomain'),
23530            tags=d.get('tags'),
23531        )
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)
23420    def __init__(
23421        self,
23422        bind_interface=None,
23423        egress_filter=None,
23424        healthy=None,
23425        hostname=None,
23426        id=None,
23427        name=None,
23428        port=None,
23429        port_override=None,
23430        proxy_cluster_id=None,
23431        secret_store_id=None,
23432        subdomain=None,
23433        tags=None,
23434    ):
23435        self.bind_interface = bind_interface if bind_interface is not None else ''
23436        '''
23437         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23438        '''
23439        self.egress_filter = egress_filter if egress_filter is not None else ''
23440        '''
23441         A filter applied to the routing logic to pin datasource to nodes.
23442        '''
23443        self.healthy = healthy if healthy is not None else False
23444        '''
23445         True if the datasource is reachable and the credentials are valid.
23446        '''
23447        self.hostname = hostname if hostname is not None else ''
23448        '''
23449         The host to dial to initiate a connection from the egress node to this resource.
23450        '''
23451        self.id = id if id is not None else ''
23452        '''
23453         Unique identifier of the Resource.
23454        '''
23455        self.name = name if name is not None else ''
23456        '''
23457         Unique human-readable name of the Resource.
23458        '''
23459        self.port = port if port is not None else 0
23460        '''
23461         The port to dial to initiate a connection from the egress node to this resource.
23462        '''
23463        self.port_override = port_override if port_override is not None else 0
23464        '''
23465         The local port used by clients to connect to this resource.
23466        '''
23467        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23468        '''
23469         ID of the proxy cluster for this resource, if any.
23470        '''
23471        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23472        '''
23473         ID of the secret store containing credentials for this resource, if any.
23474        '''
23475        self.subdomain = subdomain if subdomain is not None else ''
23476        '''
23477         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23478        '''
23479        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23480        '''
23481         Tags is a map of key, value pairs.
23482        '''
bind_interface

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

The bind interface is the IP 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)
23651    def to_dict(self):
23652        return {
23653            'bind_interface': self.bind_interface,
23654            'egress_filter': self.egress_filter,
23655            'healthy': self.healthy,
23656            'hostname': self.hostname,
23657            'id': self.id,
23658            'name': self.name,
23659            'password': self.password,
23660            'port': self.port,
23661            'port_override': self.port_override,
23662            'proxy_cluster_id': self.proxy_cluster_id,
23663            'secret_store_id': self.secret_store_id,
23664            'subdomain': self.subdomain,
23665            'tags': self.tags,
23666            'tls_required': self.tls_required,
23667            'username': self.username,
23668        }
@classmethod
def from_dict(cls, d)
23670    @classmethod
23671    def from_dict(cls, d):
23672        return cls(
23673            bind_interface=d.get('bind_interface'),
23674            egress_filter=d.get('egress_filter'),
23675            healthy=d.get('healthy'),
23676            hostname=d.get('hostname'),
23677            id=d.get('id'),
23678            name=d.get('name'),
23679            password=d.get('password'),
23680            port=d.get('port'),
23681            port_override=d.get('port_override'),
23682            proxy_cluster_id=d.get('proxy_cluster_id'),
23683            secret_store_id=d.get('secret_store_id'),
23684            subdomain=d.get('subdomain'),
23685            tags=d.get('tags'),
23686            tls_required=d.get('tls_required'),
23687            username=d.get('username'),
23688        )
class RedisCluster:
23691class RedisCluster:
23692    __slots__ = [
23693        'bind_interface',
23694        'egress_filter',
23695        'healthy',
23696        'hostname',
23697        'id',
23698        'name',
23699        'password',
23700        'port',
23701        'port_override',
23702        'proxy_cluster_id',
23703        'secret_store_id',
23704        'subdomain',
23705        'tags',
23706        'tls_required',
23707        'username',
23708    ]
23709
23710    def __init__(
23711        self,
23712        bind_interface=None,
23713        egress_filter=None,
23714        healthy=None,
23715        hostname=None,
23716        id=None,
23717        name=None,
23718        password=None,
23719        port=None,
23720        port_override=None,
23721        proxy_cluster_id=None,
23722        secret_store_id=None,
23723        subdomain=None,
23724        tags=None,
23725        tls_required=None,
23726        username=None,
23727    ):
23728        self.bind_interface = bind_interface if bind_interface is not None else ''
23729        '''
23730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23731        '''
23732        self.egress_filter = egress_filter if egress_filter is not None else ''
23733        '''
23734         A filter applied to the routing logic to pin datasource to nodes.
23735        '''
23736        self.healthy = healthy if healthy is not None else False
23737        '''
23738         True if the datasource is reachable and the credentials are valid.
23739        '''
23740        self.hostname = hostname if hostname is not None else ''
23741        '''
23742         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23743        '''
23744        self.id = id if id is not None else ''
23745        '''
23746         Unique identifier of the Resource.
23747        '''
23748        self.name = name if name is not None else ''
23749        '''
23750         Unique human-readable name of the Resource.
23751        '''
23752        self.password = password if password is not None else ''
23753        '''
23754         The password to authenticate with.
23755        '''
23756        self.port = port if port is not None else 0
23757        '''
23758         The port to dial to initiate a connection from the egress node to this resource.
23759        '''
23760        self.port_override = port_override if port_override is not None else 0
23761        '''
23762         The local port used by clients to connect to this resource.
23763        '''
23764        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23765        '''
23766         ID of the proxy cluster for this resource, if any.
23767        '''
23768        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23769        '''
23770         ID of the secret store containing credentials for this resource, if any.
23771        '''
23772        self.subdomain = subdomain if subdomain is not None else ''
23773        '''
23774         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23775        '''
23776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23777        '''
23778         Tags is a map of key, value pairs.
23779        '''
23780        self.tls_required = tls_required if tls_required is not None else False
23781        '''
23782         If set, TLS must be used to connect to this resource.
23783        '''
23784        self.username = username if username is not None else ''
23785        '''
23786         The username to authenticate with.
23787        '''
23788
23789    def __repr__(self):
23790        return '<sdm.RedisCluster ' + \
23791            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
23792            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
23793            'healthy: ' + repr(self.healthy) + ' ' +\
23794            'hostname: ' + repr(self.hostname) + ' ' +\
23795            'id: ' + repr(self.id) + ' ' +\
23796            'name: ' + repr(self.name) + ' ' +\
23797            'password: ' + repr(self.password) + ' ' +\
23798            'port: ' + repr(self.port) + ' ' +\
23799            'port_override: ' + repr(self.port_override) + ' ' +\
23800            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
23801            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
23802            'subdomain: ' + repr(self.subdomain) + ' ' +\
23803            'tags: ' + repr(self.tags) + ' ' +\
23804            'tls_required: ' + repr(self.tls_required) + ' ' +\
23805            'username: ' + repr(self.username) + ' ' +\
23806            '>'
23807
23808    def to_dict(self):
23809        return {
23810            'bind_interface': self.bind_interface,
23811            'egress_filter': self.egress_filter,
23812            'healthy': self.healthy,
23813            'hostname': self.hostname,
23814            'id': self.id,
23815            'name': self.name,
23816            'password': self.password,
23817            'port': self.port,
23818            'port_override': self.port_override,
23819            'proxy_cluster_id': self.proxy_cluster_id,
23820            'secret_store_id': self.secret_store_id,
23821            'subdomain': self.subdomain,
23822            'tags': self.tags,
23823            'tls_required': self.tls_required,
23824            'username': self.username,
23825        }
23826
23827    @classmethod
23828    def from_dict(cls, d):
23829        return cls(
23830            bind_interface=d.get('bind_interface'),
23831            egress_filter=d.get('egress_filter'),
23832            healthy=d.get('healthy'),
23833            hostname=d.get('hostname'),
23834            id=d.get('id'),
23835            name=d.get('name'),
23836            password=d.get('password'),
23837            port=d.get('port'),
23838            port_override=d.get('port_override'),
23839            proxy_cluster_id=d.get('proxy_cluster_id'),
23840            secret_store_id=d.get('secret_store_id'),
23841            subdomain=d.get('subdomain'),
23842            tags=d.get('tags'),
23843            tls_required=d.get('tls_required'),
23844            username=d.get('username'),
23845        )
RedisCluster( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
23710    def __init__(
23711        self,
23712        bind_interface=None,
23713        egress_filter=None,
23714        healthy=None,
23715        hostname=None,
23716        id=None,
23717        name=None,
23718        password=None,
23719        port=None,
23720        port_override=None,
23721        proxy_cluster_id=None,
23722        secret_store_id=None,
23723        subdomain=None,
23724        tags=None,
23725        tls_required=None,
23726        username=None,
23727    ):
23728        self.bind_interface = bind_interface if bind_interface is not None else ''
23729        '''
23730         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
23731        '''
23732        self.egress_filter = egress_filter if egress_filter is not None else ''
23733        '''
23734         A filter applied to the routing logic to pin datasource to nodes.
23735        '''
23736        self.healthy = healthy if healthy is not None else False
23737        '''
23738         True if the datasource is reachable and the credentials are valid.
23739        '''
23740        self.hostname = hostname if hostname is not None else ''
23741        '''
23742         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
23743        '''
23744        self.id = id if id is not None else ''
23745        '''
23746         Unique identifier of the Resource.
23747        '''
23748        self.name = name if name is not None else ''
23749        '''
23750         Unique human-readable name of the Resource.
23751        '''
23752        self.password = password if password is not None else ''
23753        '''
23754         The password to authenticate with.
23755        '''
23756        self.port = port if port is not None else 0
23757        '''
23758         The port to dial to initiate a connection from the egress node to this resource.
23759        '''
23760        self.port_override = port_override if port_override is not None else 0
23761        '''
23762         The local port used by clients to connect to this resource.
23763        '''
23764        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
23765        '''
23766         ID of the proxy cluster for this resource, if any.
23767        '''
23768        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
23769        '''
23770         ID of the secret store containing credentials for this resource, if any.
23771        '''
23772        self.subdomain = subdomain if subdomain is not None else ''
23773        '''
23774         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
23775        '''
23776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
23777        '''
23778         Tags is a map of key, value pairs.
23779        '''
23780        self.tls_required = tls_required if tls_required is not None else False
23781        '''
23782         If set, TLS must be used to connect to this resource.
23783        '''
23784        self.username = username if username is not None else ''
23785        '''
23786         The username to authenticate with.
23787        '''
bind_interface

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

egress_filter

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

healthy

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

hostname

Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

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

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

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

cluster_id

Cluster Identified of Redshift cluster

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_assumption_arn

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

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

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

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

override_database

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

port

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

port_override

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

proxy_cluster_id

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

region

The AWS region to connect to.

role_assumption_arn

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

workgroup

Workgroup name in the serverless Redshift

def to_dict(self)
24320    def to_dict(self):
24321        return {
24322            'bind_interface': self.bind_interface,
24323            'database': self.database,
24324            'egress_filter': self.egress_filter,
24325            'healthy': self.healthy,
24326            'hostname': self.hostname,
24327            'id': self.id,
24328            'name': self.name,
24329            'override_database': self.override_database,
24330            'port': self.port,
24331            'port_override': self.port_override,
24332            'proxy_cluster_id': self.proxy_cluster_id,
24333            'region': self.region,
24334            'role_assumption_arn': self.role_assumption_arn,
24335            'secret_store_id': self.secret_store_id,
24336            'subdomain': self.subdomain,
24337            'tags': self.tags,
24338            'workgroup': self.workgroup,
24339        }
@classmethod
def from_dict(cls, d)
24341    @classmethod
24342    def from_dict(cls, d):
24343        return cls(
24344            bind_interface=d.get('bind_interface'),
24345            database=d.get('database'),
24346            egress_filter=d.get('egress_filter'),
24347            healthy=d.get('healthy'),
24348            hostname=d.get('hostname'),
24349            id=d.get('id'),
24350            name=d.get('name'),
24351            override_database=d.get('override_database'),
24352            port=d.get('port'),
24353            port_override=d.get('port_override'),
24354            proxy_cluster_id=d.get('proxy_cluster_id'),
24355            region=d.get('region'),
24356            role_assumption_arn=d.get('role_assumption_arn'),
24357            secret_store_id=d.get('secret_store_id'),
24358            subdomain=d.get('subdomain'),
24359            tags=d.get('tags'),
24360            workgroup=d.get('workgroup'),
24361        )
class Relay:
24364class Relay:
24365    '''
24366         Relay represents a StrongDM CLI installation running in relay mode.
24367    '''
24368    __slots__ = [
24369        'device',
24370        'gateway_filter',
24371        'id',
24372        'location',
24373        'maintenance_windows',
24374        'name',
24375        'state',
24376        'tags',
24377        'version',
24378    ]
24379
24380    def __init__(
24381        self,
24382        device=None,
24383        gateway_filter=None,
24384        id=None,
24385        location=None,
24386        maintenance_windows=None,
24387        name=None,
24388        state=None,
24389        tags=None,
24390        version=None,
24391    ):
24392        self.device = device if device is not None else ''
24393        '''
24394         Device is a read only device name uploaded by the gateway process when
24395         it comes online.
24396        '''
24397        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24398        '''
24399         GatewayFilter can be used to restrict the peering between relays and
24400         gateways. Deprecated.
24401        '''
24402        self.id = id if id is not None else ''
24403        '''
24404         Unique identifier of the Relay.
24405        '''
24406        self.location = location if location is not None else ''
24407        '''
24408         Location is a read only network location uploaded by the gateway process
24409         when it comes online.
24410        '''
24411        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24412        '''
24413         Maintenance Windows define when this node is allowed to restart. If a node
24414         is requested to restart, it will check each window to determine if any of
24415         them permit it to restart, and if any do, it will. This check is repeated
24416         per window until the restart is successfully completed.
24417         
24418         If not set here, may be set on the command line or via an environment variable
24419         on the process itself; any server setting will take precedence over local
24420         settings. This setting is ineffective for nodes below version 38.44.0.
24421         
24422         If this setting is not applied via this remote configuration or via local
24423         configuration, the default setting is used: always allow restarts if serving
24424         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24425        '''
24426        self.name = name if name is not None else ''
24427        '''
24428         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.
24429        '''
24430        self.state = state if state is not None else ''
24431        '''
24432         The current state of the relay, one of the NodeState constants.
24433        '''
24434        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24435        '''
24436         Tags is a map of key, value pairs.
24437        '''
24438        self.version = version if version is not None else ''
24439        '''
24440         Version is a read only sdm binary version uploaded by the gateway process
24441         when it comes online.
24442        '''
24443
24444    def __repr__(self):
24445        return '<sdm.Relay ' + \
24446            'device: ' + repr(self.device) + ' ' +\
24447            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
24448            'id: ' + repr(self.id) + ' ' +\
24449            'location: ' + repr(self.location) + ' ' +\
24450            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24451            'name: ' + repr(self.name) + ' ' +\
24452            'state: ' + repr(self.state) + ' ' +\
24453            'tags: ' + repr(self.tags) + ' ' +\
24454            'version: ' + repr(self.version) + ' ' +\
24455            '>'
24456
24457    def to_dict(self):
24458        return {
24459            'device': self.device,
24460            'gateway_filter': self.gateway_filter,
24461            'id': self.id,
24462            'location': self.location,
24463            'maintenance_windows': self.maintenance_windows,
24464            'name': self.name,
24465            'state': self.state,
24466            'tags': self.tags,
24467            'version': self.version,
24468        }
24469
24470    @classmethod
24471    def from_dict(cls, d):
24472        return cls(
24473            device=d.get('device'),
24474            gateway_filter=d.get('gateway_filter'),
24475            id=d.get('id'),
24476            location=d.get('location'),
24477            maintenance_windows=d.get('maintenance_windows'),
24478            name=d.get('name'),
24479            state=d.get('state'),
24480            tags=d.get('tags'),
24481            version=d.get('version'),
24482        )

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)
24380    def __init__(
24381        self,
24382        device=None,
24383        gateway_filter=None,
24384        id=None,
24385        location=None,
24386        maintenance_windows=None,
24387        name=None,
24388        state=None,
24389        tags=None,
24390        version=None,
24391    ):
24392        self.device = device if device is not None else ''
24393        '''
24394         Device is a read only device name uploaded by the gateway process when
24395         it comes online.
24396        '''
24397        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
24398        '''
24399         GatewayFilter can be used to restrict the peering between relays and
24400         gateways. Deprecated.
24401        '''
24402        self.id = id if id is not None else ''
24403        '''
24404         Unique identifier of the Relay.
24405        '''
24406        self.location = location if location is not None else ''
24407        '''
24408         Location is a read only network location uploaded by the gateway process
24409         when it comes online.
24410        '''
24411        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24412        '''
24413         Maintenance Windows define when this node is allowed to restart. If a node
24414         is requested to restart, it will check each window to determine if any of
24415         them permit it to restart, and if any do, it will. This check is repeated
24416         per window until the restart is successfully completed.
24417         
24418         If not set here, may be set on the command line or via an environment variable
24419         on the process itself; any server setting will take precedence over local
24420         settings. This setting is ineffective for nodes below version 38.44.0.
24421         
24422         If this setting is not applied via this remote configuration or via local
24423         configuration, the default setting is used: always allow restarts if serving
24424         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24425        '''
24426        self.name = name if name is not None else ''
24427        '''
24428         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.
24429        '''
24430        self.state = state if state is not None else ''
24431        '''
24432         The current state of the relay, one of the NodeState constants.
24433        '''
24434        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24435        '''
24436         Tags is a map of key, value pairs.
24437        '''
24438        self.version = version if version is not None else ''
24439        '''
24440         Version is a read only sdm binary version uploaded by the gateway process
24441         when it comes online.
24442        '''
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)
24457    def to_dict(self):
24458        return {
24459            'device': self.device,
24460            'gateway_filter': self.gateway_filter,
24461            'id': self.id,
24462            'location': self.location,
24463            'maintenance_windows': self.maintenance_windows,
24464            'name': self.name,
24465            'state': self.state,
24466            'tags': self.tags,
24467            'version': self.version,
24468        }
@classmethod
def from_dict(cls, d)
24470    @classmethod
24471    def from_dict(cls, d):
24472        return cls(
24473            device=d.get('device'),
24474            gateway_filter=d.get('gateway_filter'),
24475            id=d.get('id'),
24476            location=d.get('location'),
24477            maintenance_windows=d.get('maintenance_windows'),
24478            name=d.get('name'),
24479            state=d.get('state'),
24480            tags=d.get('tags'),
24481            version=d.get('version'),
24482        )
class RemoteIdentity:
24485class RemoteIdentity:
24486    '''
24487         RemoteIdentities define the username to be used for a specific account
24488     when connecting to a remote resource using that group.
24489    '''
24490    __slots__ = [
24491        'account_id',
24492        'id',
24493        'remote_identity_group_id',
24494        'username',
24495    ]
24496
24497    def __init__(
24498        self,
24499        account_id=None,
24500        id=None,
24501        remote_identity_group_id=None,
24502        username=None,
24503    ):
24504        self.account_id = account_id if account_id is not None else ''
24505        '''
24506         The account for this remote identity.
24507        '''
24508        self.id = id if id is not None else ''
24509        '''
24510         Unique identifier of the RemoteIdentity.
24511        '''
24512        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24513        '''
24514         The remote identity group.
24515        '''
24516        self.username = username if username is not None else ''
24517        '''
24518         The username to be used as the remote identity for this account.
24519        '''
24520
24521    def __repr__(self):
24522        return '<sdm.RemoteIdentity ' + \
24523            'account_id: ' + repr(self.account_id) + ' ' +\
24524            'id: ' + repr(self.id) + ' ' +\
24525            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
24526            'username: ' + repr(self.username) + ' ' +\
24527            '>'
24528
24529    def to_dict(self):
24530        return {
24531            'account_id': self.account_id,
24532            'id': self.id,
24533            'remote_identity_group_id': self.remote_identity_group_id,
24534            'username': self.username,
24535        }
24536
24537    @classmethod
24538    def from_dict(cls, d):
24539        return cls(
24540            account_id=d.get('account_id'),
24541            id=d.get('id'),
24542            remote_identity_group_id=d.get('remote_identity_group_id'),
24543            username=d.get('username'),
24544        )

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)
24497    def __init__(
24498        self,
24499        account_id=None,
24500        id=None,
24501        remote_identity_group_id=None,
24502        username=None,
24503    ):
24504        self.account_id = account_id if account_id is not None else ''
24505        '''
24506         The account for this remote identity.
24507        '''
24508        self.id = id if id is not None else ''
24509        '''
24510         Unique identifier of the RemoteIdentity.
24511        '''
24512        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
24513        '''
24514         The remote identity group.
24515        '''
24516        self.username = username if username is not None else ''
24517        '''
24518         The username to be used as the remote identity for this account.
24519        '''
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)
24529    def to_dict(self):
24530        return {
24531            'account_id': self.account_id,
24532            'id': self.id,
24533            'remote_identity_group_id': self.remote_identity_group_id,
24534            'username': self.username,
24535        }
@classmethod
def from_dict(cls, d)
24537    @classmethod
24538    def from_dict(cls, d):
24539        return cls(
24540            account_id=d.get('account_id'),
24541            id=d.get('id'),
24542            remote_identity_group_id=d.get('remote_identity_group_id'),
24543            username=d.get('username'),
24544        )
class RemoteIdentityCreateResponse:
24547class RemoteIdentityCreateResponse:
24548    '''
24549         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
24550    '''
24551    __slots__ = [
24552        'meta',
24553        'rate_limit',
24554        'remote_identity',
24555    ]
24556
24557    def __init__(
24558        self,
24559        meta=None,
24560        rate_limit=None,
24561        remote_identity=None,
24562    ):
24563        self.meta = meta if meta is not None else None
24564        '''
24565         Reserved for future use.
24566        '''
24567        self.rate_limit = rate_limit if rate_limit is not None else None
24568        '''
24569         Rate limit information.
24570        '''
24571        self.remote_identity = remote_identity if remote_identity is not None else None
24572        '''
24573         The created RemoteIdentity.
24574        '''
24575
24576    def __repr__(self):
24577        return '<sdm.RemoteIdentityCreateResponse ' + \
24578            'meta: ' + repr(self.meta) + ' ' +\
24579            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24580            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24581            '>'
24582
24583    def to_dict(self):
24584        return {
24585            'meta': self.meta,
24586            'rate_limit': self.rate_limit,
24587            'remote_identity': self.remote_identity,
24588        }
24589
24590    @classmethod
24591    def from_dict(cls, d):
24592        return cls(
24593            meta=d.get('meta'),
24594            rate_limit=d.get('rate_limit'),
24595            remote_identity=d.get('remote_identity'),
24596        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
24557    def __init__(
24558        self,
24559        meta=None,
24560        rate_limit=None,
24561        remote_identity=None,
24562    ):
24563        self.meta = meta if meta is not None else None
24564        '''
24565         Reserved for future use.
24566        '''
24567        self.rate_limit = rate_limit if rate_limit is not None else None
24568        '''
24569         Rate limit information.
24570        '''
24571        self.remote_identity = remote_identity if remote_identity is not None else None
24572        '''
24573         The created RemoteIdentity.
24574        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
24583    def to_dict(self):
24584        return {
24585            'meta': self.meta,
24586            'rate_limit': self.rate_limit,
24587            'remote_identity': self.remote_identity,
24588        }
@classmethod
def from_dict(cls, d)
24590    @classmethod
24591    def from_dict(cls, d):
24592        return cls(
24593            meta=d.get('meta'),
24594            rate_limit=d.get('rate_limit'),
24595            remote_identity=d.get('remote_identity'),
24596        )
class RemoteIdentityDeleteResponse:
24599class RemoteIdentityDeleteResponse:
24600    '''
24601         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
24602    '''
24603    __slots__ = [
24604        'meta',
24605        'rate_limit',
24606    ]
24607
24608    def __init__(
24609        self,
24610        meta=None,
24611        rate_limit=None,
24612    ):
24613        self.meta = meta if meta is not None else None
24614        '''
24615         Reserved for future use.
24616        '''
24617        self.rate_limit = rate_limit if rate_limit is not None else None
24618        '''
24619         Rate limit information.
24620        '''
24621
24622    def __repr__(self):
24623        return '<sdm.RemoteIdentityDeleteResponse ' + \
24624            'meta: ' + repr(self.meta) + ' ' +\
24625            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24626            '>'
24627
24628    def to_dict(self):
24629        return {
24630            'meta': self.meta,
24631            'rate_limit': self.rate_limit,
24632        }
24633
24634    @classmethod
24635    def from_dict(cls, d):
24636        return cls(
24637            meta=d.get('meta'),
24638            rate_limit=d.get('rate_limit'),
24639        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
24608    def __init__(
24609        self,
24610        meta=None,
24611        rate_limit=None,
24612    ):
24613        self.meta = meta if meta is not None else None
24614        '''
24615         Reserved for future use.
24616        '''
24617        self.rate_limit = rate_limit if rate_limit is not None else None
24618        '''
24619         Rate limit information.
24620        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
24628    def to_dict(self):
24629        return {
24630            'meta': self.meta,
24631            'rate_limit': self.rate_limit,
24632        }
@classmethod
def from_dict(cls, d)
24634    @classmethod
24635    def from_dict(cls, d):
24636        return cls(
24637            meta=d.get('meta'),
24638            rate_limit=d.get('rate_limit'),
24639        )
class RemoteIdentityGetResponse:
24642class RemoteIdentityGetResponse:
24643    '''
24644         RemoteIdentityGetResponse returns a requested RemoteIdentity.
24645    '''
24646    __slots__ = [
24647        'meta',
24648        'rate_limit',
24649        'remote_identity',
24650    ]
24651
24652    def __init__(
24653        self,
24654        meta=None,
24655        rate_limit=None,
24656        remote_identity=None,
24657    ):
24658        self.meta = meta if meta is not None else None
24659        '''
24660         Reserved for future use.
24661        '''
24662        self.rate_limit = rate_limit if rate_limit is not None else None
24663        '''
24664         Rate limit information.
24665        '''
24666        self.remote_identity = remote_identity if remote_identity is not None else None
24667        '''
24668         The requested RemoteIdentity.
24669        '''
24670
24671    def __repr__(self):
24672        return '<sdm.RemoteIdentityGetResponse ' + \
24673            'meta: ' + repr(self.meta) + ' ' +\
24674            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24675            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24676            '>'
24677
24678    def to_dict(self):
24679        return {
24680            'meta': self.meta,
24681            'rate_limit': self.rate_limit,
24682            'remote_identity': self.remote_identity,
24683        }
24684
24685    @classmethod
24686    def from_dict(cls, d):
24687        return cls(
24688            meta=d.get('meta'),
24689            rate_limit=d.get('rate_limit'),
24690            remote_identity=d.get('remote_identity'),
24691        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
24652    def __init__(
24653        self,
24654        meta=None,
24655        rate_limit=None,
24656        remote_identity=None,
24657    ):
24658        self.meta = meta if meta is not None else None
24659        '''
24660         Reserved for future use.
24661        '''
24662        self.rate_limit = rate_limit if rate_limit is not None else None
24663        '''
24664         Rate limit information.
24665        '''
24666        self.remote_identity = remote_identity if remote_identity is not None else None
24667        '''
24668         The requested RemoteIdentity.
24669        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
24678    def to_dict(self):
24679        return {
24680            'meta': self.meta,
24681            'rate_limit': self.rate_limit,
24682            'remote_identity': self.remote_identity,
24683        }
@classmethod
def from_dict(cls, d)
24685    @classmethod
24686    def from_dict(cls, d):
24687        return cls(
24688            meta=d.get('meta'),
24689            rate_limit=d.get('rate_limit'),
24690            remote_identity=d.get('remote_identity'),
24691        )
class RemoteIdentityGroup:
24694class RemoteIdentityGroup:
24695    '''
24696         A RemoteIdentityGroup defines a group of remote identities.
24697    '''
24698    __slots__ = [
24699        'id',
24700        'name',
24701    ]
24702
24703    def __init__(
24704        self,
24705        id=None,
24706        name=None,
24707    ):
24708        self.id = id if id is not None else ''
24709        '''
24710         Unique identifier of the RemoteIdentityGroup.
24711        '''
24712        self.name = name if name is not None else ''
24713        '''
24714         Unique human-readable name of the RemoteIdentityGroup.
24715        '''
24716
24717    def __repr__(self):
24718        return '<sdm.RemoteIdentityGroup ' + \
24719            'id: ' + repr(self.id) + ' ' +\
24720            'name: ' + repr(self.name) + ' ' +\
24721            '>'
24722
24723    def to_dict(self):
24724        return {
24725            'id': self.id,
24726            'name': self.name,
24727        }
24728
24729    @classmethod
24730    def from_dict(cls, d):
24731        return cls(
24732            id=d.get('id'),
24733            name=d.get('name'),
24734        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
24703    def __init__(
24704        self,
24705        id=None,
24706        name=None,
24707    ):
24708        self.id = id if id is not None else ''
24709        '''
24710         Unique identifier of the RemoteIdentityGroup.
24711        '''
24712        self.name = name if name is not None else ''
24713        '''
24714         Unique human-readable name of the RemoteIdentityGroup.
24715        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
24723    def to_dict(self):
24724        return {
24725            'id': self.id,
24726            'name': self.name,
24727        }
@classmethod
def from_dict(cls, d)
24729    @classmethod
24730    def from_dict(cls, d):
24731        return cls(
24732            id=d.get('id'),
24733            name=d.get('name'),
24734        )
class RemoteIdentityGroupGetResponse:
24737class RemoteIdentityGroupGetResponse:
24738    '''
24739         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
24740    '''
24741    __slots__ = [
24742        'meta',
24743        'rate_limit',
24744        'remote_identity_group',
24745    ]
24746
24747    def __init__(
24748        self,
24749        meta=None,
24750        rate_limit=None,
24751        remote_identity_group=None,
24752    ):
24753        self.meta = meta if meta is not None else None
24754        '''
24755         Reserved for future use.
24756        '''
24757        self.rate_limit = rate_limit if rate_limit is not None else None
24758        '''
24759         Rate limit information.
24760        '''
24761        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24762        '''
24763         The requested RemoteIdentityGroup.
24764        '''
24765
24766    def __repr__(self):
24767        return '<sdm.RemoteIdentityGroupGetResponse ' + \
24768            'meta: ' + repr(self.meta) + ' ' +\
24769            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24770            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24771            '>'
24772
24773    def to_dict(self):
24774        return {
24775            'meta': self.meta,
24776            'rate_limit': self.rate_limit,
24777            'remote_identity_group': self.remote_identity_group,
24778        }
24779
24780    @classmethod
24781    def from_dict(cls, d):
24782        return cls(
24783            meta=d.get('meta'),
24784            rate_limit=d.get('rate_limit'),
24785            remote_identity_group=d.get('remote_identity_group'),
24786        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
24747    def __init__(
24748        self,
24749        meta=None,
24750        rate_limit=None,
24751        remote_identity_group=None,
24752    ):
24753        self.meta = meta if meta is not None else None
24754        '''
24755         Reserved for future use.
24756        '''
24757        self.rate_limit = rate_limit if rate_limit is not None else None
24758        '''
24759         Rate limit information.
24760        '''
24761        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24762        '''
24763         The requested RemoteIdentityGroup.
24764        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
24773    def to_dict(self):
24774        return {
24775            'meta': self.meta,
24776            'rate_limit': self.rate_limit,
24777            'remote_identity_group': self.remote_identity_group,
24778        }
@classmethod
def from_dict(cls, d)
24780    @classmethod
24781    def from_dict(cls, d):
24782        return cls(
24783            meta=d.get('meta'),
24784            rate_limit=d.get('rate_limit'),
24785            remote_identity_group=d.get('remote_identity_group'),
24786        )
class RemoteIdentityGroupHistory:
24789class RemoteIdentityGroupHistory:
24790    '''
24791         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
24792     where every change (create, update and delete) to a RemoteIdentityGroup produces an
24793     RemoteIdentityGroupHistory record.
24794    '''
24795    __slots__ = [
24796        'activity_id',
24797        'deleted_at',
24798        'remote_identity_group',
24799        'timestamp',
24800    ]
24801
24802    def __init__(
24803        self,
24804        activity_id=None,
24805        deleted_at=None,
24806        remote_identity_group=None,
24807        timestamp=None,
24808    ):
24809        self.activity_id = activity_id if activity_id is not None else ''
24810        '''
24811         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24812         May be empty for some system-initiated updates.
24813        '''
24814        self.deleted_at = deleted_at if deleted_at is not None else None
24815        '''
24816         If this RemoteIdentityGroup was deleted, the time it was deleted.
24817        '''
24818        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24819        '''
24820         The complete RemoteIdentityGroup state at this time.
24821        '''
24822        self.timestamp = timestamp if timestamp is not None else None
24823        '''
24824         The time at which the RemoteIdentityGroup state was recorded.
24825        '''
24826
24827    def __repr__(self):
24828        return '<sdm.RemoteIdentityGroupHistory ' + \
24829            'activity_id: ' + repr(self.activity_id) + ' ' +\
24830            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24831            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
24832            'timestamp: ' + repr(self.timestamp) + ' ' +\
24833            '>'
24834
24835    def to_dict(self):
24836        return {
24837            'activity_id': self.activity_id,
24838            'deleted_at': self.deleted_at,
24839            'remote_identity_group': self.remote_identity_group,
24840            'timestamp': self.timestamp,
24841        }
24842
24843    @classmethod
24844    def from_dict(cls, d):
24845        return cls(
24846            activity_id=d.get('activity_id'),
24847            deleted_at=d.get('deleted_at'),
24848            remote_identity_group=d.get('remote_identity_group'),
24849            timestamp=d.get('timestamp'),
24850        )

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)
24802    def __init__(
24803        self,
24804        activity_id=None,
24805        deleted_at=None,
24806        remote_identity_group=None,
24807        timestamp=None,
24808    ):
24809        self.activity_id = activity_id if activity_id is not None else ''
24810        '''
24811         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
24812         May be empty for some system-initiated updates.
24813        '''
24814        self.deleted_at = deleted_at if deleted_at is not None else None
24815        '''
24816         If this RemoteIdentityGroup was deleted, the time it was deleted.
24817        '''
24818        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
24819        '''
24820         The complete RemoteIdentityGroup state at this time.
24821        '''
24822        self.timestamp = timestamp if timestamp is not None else None
24823        '''
24824         The time at which the RemoteIdentityGroup state was recorded.
24825        '''
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)
24835    def to_dict(self):
24836        return {
24837            'activity_id': self.activity_id,
24838            'deleted_at': self.deleted_at,
24839            'remote_identity_group': self.remote_identity_group,
24840            'timestamp': self.timestamp,
24841        }
@classmethod
def from_dict(cls, d)
24843    @classmethod
24844    def from_dict(cls, d):
24845        return cls(
24846            activity_id=d.get('activity_id'),
24847            deleted_at=d.get('deleted_at'),
24848            remote_identity_group=d.get('remote_identity_group'),
24849            timestamp=d.get('timestamp'),
24850        )
class RemoteIdentityHistory:
24853class RemoteIdentityHistory:
24854    '''
24855         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
24856     where every change (create, update and delete) to a RemoteIdentity produces an
24857     RemoteIdentityHistory record.
24858    '''
24859    __slots__ = [
24860        'activity_id',
24861        'deleted_at',
24862        'remote_identity',
24863        'timestamp',
24864    ]
24865
24866    def __init__(
24867        self,
24868        activity_id=None,
24869        deleted_at=None,
24870        remote_identity=None,
24871        timestamp=None,
24872    ):
24873        self.activity_id = activity_id if activity_id is not None else ''
24874        '''
24875         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24876         May be empty for some system-initiated updates.
24877        '''
24878        self.deleted_at = deleted_at if deleted_at is not None else None
24879        '''
24880         If this RemoteIdentity was deleted, the time it was deleted.
24881        '''
24882        self.remote_identity = remote_identity if remote_identity is not None else None
24883        '''
24884         The complete RemoteIdentity state at this time.
24885        '''
24886        self.timestamp = timestamp if timestamp is not None else None
24887        '''
24888         The time at which the RemoteIdentity state was recorded.
24889        '''
24890
24891    def __repr__(self):
24892        return '<sdm.RemoteIdentityHistory ' + \
24893            'activity_id: ' + repr(self.activity_id) + ' ' +\
24894            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
24895            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24896            'timestamp: ' + repr(self.timestamp) + ' ' +\
24897            '>'
24898
24899    def to_dict(self):
24900        return {
24901            'activity_id': self.activity_id,
24902            'deleted_at': self.deleted_at,
24903            'remote_identity': self.remote_identity,
24904            'timestamp': self.timestamp,
24905        }
24906
24907    @classmethod
24908    def from_dict(cls, d):
24909        return cls(
24910            activity_id=d.get('activity_id'),
24911            deleted_at=d.get('deleted_at'),
24912            remote_identity=d.get('remote_identity'),
24913            timestamp=d.get('timestamp'),
24914        )

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)
24866    def __init__(
24867        self,
24868        activity_id=None,
24869        deleted_at=None,
24870        remote_identity=None,
24871        timestamp=None,
24872    ):
24873        self.activity_id = activity_id if activity_id is not None else ''
24874        '''
24875         The unique identifier of the Activity that produced this change to the RemoteIdentity.
24876         May be empty for some system-initiated updates.
24877        '''
24878        self.deleted_at = deleted_at if deleted_at is not None else None
24879        '''
24880         If this RemoteIdentity was deleted, the time it was deleted.
24881        '''
24882        self.remote_identity = remote_identity if remote_identity is not None else None
24883        '''
24884         The complete RemoteIdentity state at this time.
24885        '''
24886        self.timestamp = timestamp if timestamp is not None else None
24887        '''
24888         The time at which the RemoteIdentity state was recorded.
24889        '''
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)
24899    def to_dict(self):
24900        return {
24901            'activity_id': self.activity_id,
24902            'deleted_at': self.deleted_at,
24903            'remote_identity': self.remote_identity,
24904            'timestamp': self.timestamp,
24905        }
@classmethod
def from_dict(cls, d)
24907    @classmethod
24908    def from_dict(cls, d):
24909        return cls(
24910            activity_id=d.get('activity_id'),
24911            deleted_at=d.get('deleted_at'),
24912            remote_identity=d.get('remote_identity'),
24913            timestamp=d.get('timestamp'),
24914        )
class RemoteIdentityUpdateResponse:
24917class RemoteIdentityUpdateResponse:
24918    '''
24919         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
24920     a RemoteIdentityUpdateRequest.
24921    '''
24922    __slots__ = [
24923        'meta',
24924        'rate_limit',
24925        'remote_identity',
24926    ]
24927
24928    def __init__(
24929        self,
24930        meta=None,
24931        rate_limit=None,
24932        remote_identity=None,
24933    ):
24934        self.meta = meta if meta is not None else None
24935        '''
24936         Reserved for future use.
24937        '''
24938        self.rate_limit = rate_limit if rate_limit is not None else None
24939        '''
24940         Rate limit information.
24941        '''
24942        self.remote_identity = remote_identity if remote_identity is not None else None
24943        '''
24944         The updated RemoteIdentity.
24945        '''
24946
24947    def __repr__(self):
24948        return '<sdm.RemoteIdentityUpdateResponse ' + \
24949            'meta: ' + repr(self.meta) + ' ' +\
24950            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24951            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
24952            '>'
24953
24954    def to_dict(self):
24955        return {
24956            'meta': self.meta,
24957            'rate_limit': self.rate_limit,
24958            'remote_identity': self.remote_identity,
24959        }
24960
24961    @classmethod
24962    def from_dict(cls, d):
24963        return cls(
24964            meta=d.get('meta'),
24965            rate_limit=d.get('rate_limit'),
24966            remote_identity=d.get('remote_identity'),
24967        )

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

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
24928    def __init__(
24929        self,
24930        meta=None,
24931        rate_limit=None,
24932        remote_identity=None,
24933    ):
24934        self.meta = meta if meta is not None else None
24935        '''
24936         Reserved for future use.
24937        '''
24938        self.rate_limit = rate_limit if rate_limit is not None else None
24939        '''
24940         Rate limit information.
24941        '''
24942        self.remote_identity = remote_identity if remote_identity is not None else None
24943        '''
24944         The updated RemoteIdentity.
24945        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
24954    def to_dict(self):
24955        return {
24956            'meta': self.meta,
24957            'rate_limit': self.rate_limit,
24958            'remote_identity': self.remote_identity,
24959        }
@classmethod
def from_dict(cls, d)
24961    @classmethod
24962    def from_dict(cls, d):
24963        return cls(
24964            meta=d.get('meta'),
24965            rate_limit=d.get('rate_limit'),
24966            remote_identity=d.get('remote_identity'),
24967        )
class ReplayChunk:
24970class ReplayChunk:
24971    '''
24972         A ReplayChunk represents a single "chunk" of data from the query replay.
24973    '''
24974    __slots__ = [
24975        'data',
24976        'events',
24977        'symmetric_key',
24978    ]
24979
24980    def __init__(
24981        self,
24982        data=None,
24983        events=None,
24984        symmetric_key=None,
24985    ):
24986        self.data = data if data is not None else b''
24987        '''
24988         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24989        '''
24990        self.events = events if events is not None else []
24991        '''
24992         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24993         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24994        '''
24995        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24996        '''
24997         If the data is encrypted, this contains the encrypted symmetric key
24998        '''
24999
25000    def __repr__(self):
25001        return '<sdm.ReplayChunk ' + \
25002            'data: ' + repr(self.data) + ' ' +\
25003            'events: ' + repr(self.events) + ' ' +\
25004            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
25005            '>'
25006
25007    def to_dict(self):
25008        return {
25009            'data': self.data,
25010            'events': self.events,
25011            'symmetric_key': self.symmetric_key,
25012        }
25013
25014    @classmethod
25015    def from_dict(cls, d):
25016        return cls(
25017            data=d.get('data'),
25018            events=d.get('events'),
25019            symmetric_key=d.get('symmetric_key'),
25020        )

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

ReplayChunk(data=None, events=None, symmetric_key=None)
24980    def __init__(
24981        self,
24982        data=None,
24983        events=None,
24984        symmetric_key=None,
24985    ):
24986        self.data = data if data is not None else b''
24987        '''
24988         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
24989        '''
24990        self.events = events if events is not None else []
24991        '''
24992         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
24993         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
24994        '''
24995        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
24996        '''
24997         If the data is encrypted, this contains the encrypted symmetric key
24998        '''
data

The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.

events

The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty and the events can be obtained by decrypting the data using the QueryKey returned with the Query.

symmetric_key

If the data is encrypted, this contains the encrypted symmetric key

def to_dict(self)
25007    def to_dict(self):
25008        return {
25009            'data': self.data,
25010            'events': self.events,
25011            'symmetric_key': self.symmetric_key,
25012        }
@classmethod
def from_dict(cls, d)
25014    @classmethod
25015    def from_dict(cls, d):
25016        return cls(
25017            data=d.get('data'),
25018            events=d.get('events'),
25019            symmetric_key=d.get('symmetric_key'),
25020        )
class ReplayChunkEvent:
25023class ReplayChunkEvent:
25024    '''
25025         A ReplayChunkEvent represents a single event within a query replay.
25026     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
25027    '''
25028    __slots__ = [
25029        'data',
25030        'duration',
25031    ]
25032
25033    def __init__(
25034        self,
25035        data=None,
25036        duration=None,
25037    ):
25038        self.data = data if data is not None else b''
25039        '''
25040         The raw data of the ReplayChunkEvent.
25041        '''
25042        self.duration = duration if duration is not None else None
25043        '''
25044         The time duration over which the data in this ReplayChunkEvent was transferred.
25045        '''
25046
25047    def __repr__(self):
25048        return '<sdm.ReplayChunkEvent ' + \
25049            'data: ' + repr(self.data) + ' ' +\
25050            'duration: ' + repr(self.duration) + ' ' +\
25051            '>'
25052
25053    def to_dict(self):
25054        return {
25055            'data': self.data,
25056            'duration': self.duration,
25057        }
25058
25059    @classmethod
25060    def from_dict(cls, d):
25061        return cls(
25062            data=d.get('data'),
25063            duration=d.get('duration'),
25064        )

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)
25033    def __init__(
25034        self,
25035        data=None,
25036        duration=None,
25037    ):
25038        self.data = data if data is not None else b''
25039        '''
25040         The raw data of the ReplayChunkEvent.
25041        '''
25042        self.duration = duration if duration is not None else None
25043        '''
25044         The time duration over which the data in this ReplayChunkEvent was transferred.
25045        '''
data

The raw data of the ReplayChunkEvent.

duration

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

def to_dict(self)
25053    def to_dict(self):
25054        return {
25055            'data': self.data,
25056            'duration': self.duration,
25057        }
@classmethod
def from_dict(cls, d)
25059    @classmethod
25060    def from_dict(cls, d):
25061        return cls(
25062            data=d.get('data'),
25063            duration=d.get('duration'),
25064        )
class RequestableResource:
25067class RequestableResource:
25068    '''
25069         RequestableResource is a resource that can be requested via an AccessRequestConfig
25070    '''
25071    __slots__ = [
25072        'access',
25073        'authentication',
25074        'healthy',
25075        'id',
25076        'name',
25077        'tags',
25078        'type',
25079    ]
25080
25081    def __init__(
25082        self,
25083        access=None,
25084        authentication=None,
25085        healthy=None,
25086        id=None,
25087        name=None,
25088        tags=None,
25089        type=None,
25090    ):
25091        self.access = access if access is not None else ''
25092        '''
25093         The current state of the user's access to the resources
25094        '''
25095        self.authentication = authentication if authentication is not None else ''
25096        '''
25097         The type of authentication for the resource
25098        '''
25099        self.healthy = healthy if healthy is not None else False
25100        '''
25101         The health check status of the reasource
25102        '''
25103        self.id = id if id is not None else ''
25104        '''
25105         The resource id.
25106        '''
25107        self.name = name if name is not None else ''
25108        '''
25109         The resource name.
25110        '''
25111        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25112        '''
25113         Any tags attached to this resource
25114        '''
25115        self.type = type if type is not None else ''
25116        '''
25117         The resource type
25118        '''
25119
25120    def __repr__(self):
25121        return '<sdm.RequestableResource ' + \
25122            'access: ' + repr(self.access) + ' ' +\
25123            'authentication: ' + repr(self.authentication) + ' ' +\
25124            'healthy: ' + repr(self.healthy) + ' ' +\
25125            'id: ' + repr(self.id) + ' ' +\
25126            'name: ' + repr(self.name) + ' ' +\
25127            'tags: ' + repr(self.tags) + ' ' +\
25128            'type: ' + repr(self.type) + ' ' +\
25129            '>'
25130
25131    def to_dict(self):
25132        return {
25133            'access': self.access,
25134            'authentication': self.authentication,
25135            'healthy': self.healthy,
25136            'id': self.id,
25137            'name': self.name,
25138            'tags': self.tags,
25139            'type': self.type,
25140        }
25141
25142    @classmethod
25143    def from_dict(cls, d):
25144        return cls(
25145            access=d.get('access'),
25146            authentication=d.get('authentication'),
25147            healthy=d.get('healthy'),
25148            id=d.get('id'),
25149            name=d.get('name'),
25150            tags=d.get('tags'),
25151            type=d.get('type'),
25152        )

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)
25081    def __init__(
25082        self,
25083        access=None,
25084        authentication=None,
25085        healthy=None,
25086        id=None,
25087        name=None,
25088        tags=None,
25089        type=None,
25090    ):
25091        self.access = access if access is not None else ''
25092        '''
25093         The current state of the user's access to the resources
25094        '''
25095        self.authentication = authentication if authentication is not None else ''
25096        '''
25097         The type of authentication for the resource
25098        '''
25099        self.healthy = healthy if healthy is not None else False
25100        '''
25101         The health check status of the reasource
25102        '''
25103        self.id = id if id is not None else ''
25104        '''
25105         The resource id.
25106        '''
25107        self.name = name if name is not None else ''
25108        '''
25109         The resource name.
25110        '''
25111        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25112        '''
25113         Any tags attached to this resource
25114        '''
25115        self.type = type if type is not None else ''
25116        '''
25117         The resource type
25118        '''
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)
25131    def to_dict(self):
25132        return {
25133            'access': self.access,
25134            'authentication': self.authentication,
25135            'healthy': self.healthy,
25136            'id': self.id,
25137            'name': self.name,
25138            'tags': self.tags,
25139            'type': self.type,
25140        }
@classmethod
def from_dict(cls, d)
25142    @classmethod
25143    def from_dict(cls, d):
25144        return cls(
25145            access=d.get('access'),
25146            authentication=d.get('authentication'),
25147            healthy=d.get('healthy'),
25148            id=d.get('id'),
25149            name=d.get('name'),
25150            tags=d.get('tags'),
25151            type=d.get('type'),
25152        )
class ResourceCreateResponse:
25155class ResourceCreateResponse:
25156    '''
25157         ResourceCreateResponse reports how the Resources were created in the system.
25158    '''
25159    __slots__ = [
25160        'meta',
25161        'rate_limit',
25162        'resource',
25163    ]
25164
25165    def __init__(
25166        self,
25167        meta=None,
25168        rate_limit=None,
25169        resource=None,
25170    ):
25171        self.meta = meta if meta is not None else None
25172        '''
25173         Reserved for future use.
25174        '''
25175        self.rate_limit = rate_limit if rate_limit is not None else None
25176        '''
25177         Rate limit information.
25178        '''
25179        self.resource = resource if resource is not None else None
25180        '''
25181         The created Resource.
25182        '''
25183
25184    def __repr__(self):
25185        return '<sdm.ResourceCreateResponse ' + \
25186            'meta: ' + repr(self.meta) + ' ' +\
25187            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25188            'resource: ' + repr(self.resource) + ' ' +\
25189            '>'
25190
25191    def to_dict(self):
25192        return {
25193            'meta': self.meta,
25194            'rate_limit': self.rate_limit,
25195            'resource': self.resource,
25196        }
25197
25198    @classmethod
25199    def from_dict(cls, d):
25200        return cls(
25201            meta=d.get('meta'),
25202            rate_limit=d.get('rate_limit'),
25203            resource=d.get('resource'),
25204        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
25165    def __init__(
25166        self,
25167        meta=None,
25168        rate_limit=None,
25169        resource=None,
25170    ):
25171        self.meta = meta if meta is not None else None
25172        '''
25173         Reserved for future use.
25174        '''
25175        self.rate_limit = rate_limit if rate_limit is not None else None
25176        '''
25177         Rate limit information.
25178        '''
25179        self.resource = resource if resource is not None else None
25180        '''
25181         The created Resource.
25182        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
25191    def to_dict(self):
25192        return {
25193            'meta': self.meta,
25194            'rate_limit': self.rate_limit,
25195            'resource': self.resource,
25196        }
@classmethod
def from_dict(cls, d)
25198    @classmethod
25199    def from_dict(cls, d):
25200        return cls(
25201            meta=d.get('meta'),
25202            rate_limit=d.get('rate_limit'),
25203            resource=d.get('resource'),
25204        )
class ResourceDeleteResponse:
25207class ResourceDeleteResponse:
25208    '''
25209         ResourceDeleteResponse returns information about a Resource that was deleted.
25210    '''
25211    __slots__ = [
25212        'meta',
25213        'rate_limit',
25214    ]
25215
25216    def __init__(
25217        self,
25218        meta=None,
25219        rate_limit=None,
25220    ):
25221        self.meta = meta if meta is not None else None
25222        '''
25223         Reserved for future use.
25224        '''
25225        self.rate_limit = rate_limit if rate_limit is not None else None
25226        '''
25227         Rate limit information.
25228        '''
25229
25230    def __repr__(self):
25231        return '<sdm.ResourceDeleteResponse ' + \
25232            'meta: ' + repr(self.meta) + ' ' +\
25233            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25234            '>'
25235
25236    def to_dict(self):
25237        return {
25238            'meta': self.meta,
25239            'rate_limit': self.rate_limit,
25240        }
25241
25242    @classmethod
25243    def from_dict(cls, d):
25244        return cls(
25245            meta=d.get('meta'),
25246            rate_limit=d.get('rate_limit'),
25247        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
25216    def __init__(
25217        self,
25218        meta=None,
25219        rate_limit=None,
25220    ):
25221        self.meta = meta if meta is not None else None
25222        '''
25223         Reserved for future use.
25224        '''
25225        self.rate_limit = rate_limit if rate_limit is not None else None
25226        '''
25227         Rate limit information.
25228        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25236    def to_dict(self):
25237        return {
25238            'meta': self.meta,
25239            'rate_limit': self.rate_limit,
25240        }
@classmethod
def from_dict(cls, d)
25242    @classmethod
25243    def from_dict(cls, d):
25244        return cls(
25245            meta=d.get('meta'),
25246            rate_limit=d.get('rate_limit'),
25247        )
class ResourceGetResponse:
25250class ResourceGetResponse:
25251    '''
25252         ResourceGetResponse returns a requested Resource.
25253    '''
25254    __slots__ = [
25255        'meta',
25256        'rate_limit',
25257        'resource',
25258    ]
25259
25260    def __init__(
25261        self,
25262        meta=None,
25263        rate_limit=None,
25264        resource=None,
25265    ):
25266        self.meta = meta if meta is not None else None
25267        '''
25268         Reserved for future use.
25269        '''
25270        self.rate_limit = rate_limit if rate_limit is not None else None
25271        '''
25272         Rate limit information.
25273        '''
25274        self.resource = resource if resource is not None else None
25275        '''
25276         The requested Resource.
25277        '''
25278
25279    def __repr__(self):
25280        return '<sdm.ResourceGetResponse ' + \
25281            'meta: ' + repr(self.meta) + ' ' +\
25282            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25283            'resource: ' + repr(self.resource) + ' ' +\
25284            '>'
25285
25286    def to_dict(self):
25287        return {
25288            'meta': self.meta,
25289            'rate_limit': self.rate_limit,
25290            'resource': self.resource,
25291        }
25292
25293    @classmethod
25294    def from_dict(cls, d):
25295        return cls(
25296            meta=d.get('meta'),
25297            rate_limit=d.get('rate_limit'),
25298            resource=d.get('resource'),
25299        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
25260    def __init__(
25261        self,
25262        meta=None,
25263        rate_limit=None,
25264        resource=None,
25265    ):
25266        self.meta = meta if meta is not None else None
25267        '''
25268         Reserved for future use.
25269        '''
25270        self.rate_limit = rate_limit if rate_limit is not None else None
25271        '''
25272         Rate limit information.
25273        '''
25274        self.resource = resource if resource is not None else None
25275        '''
25276         The requested Resource.
25277        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
25286    def to_dict(self):
25287        return {
25288            'meta': self.meta,
25289            'rate_limit': self.rate_limit,
25290            'resource': self.resource,
25291        }
@classmethod
def from_dict(cls, d)
25293    @classmethod
25294    def from_dict(cls, d):
25295        return cls(
25296            meta=d.get('meta'),
25297            rate_limit=d.get('rate_limit'),
25298            resource=d.get('resource'),
25299        )
class ResourceHealthcheckRequest:
25302class ResourceHealthcheckRequest:
25303    '''
25304         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
25305    '''
25306    __slots__ = [
25307        'id',
25308    ]
25309
25310    def __init__(
25311        self,
25312        id=None,
25313    ):
25314        self.id = id if id is not None else ''
25315        '''
25316         The unique identifier of the Resource to healthcheck.
25317        '''
25318
25319    def __repr__(self):
25320        return '<sdm.ResourceHealthcheckRequest ' + \
25321            'id: ' + repr(self.id) + ' ' +\
25322            '>'
25323
25324    def to_dict(self):
25325        return {
25326            'id': self.id,
25327        }
25328
25329    @classmethod
25330    def from_dict(cls, d):
25331        return cls(id=d.get('id'), )

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

ResourceHealthcheckRequest(id=None)
25310    def __init__(
25311        self,
25312        id=None,
25313    ):
25314        self.id = id if id is not None else ''
25315        '''
25316         The unique identifier of the Resource to healthcheck.
25317        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
25324    def to_dict(self):
25325        return {
25326            'id': self.id,
25327        }
@classmethod
def from_dict(cls, d)
25329    @classmethod
25330    def from_dict(cls, d):
25331        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
25334class ResourceHealthcheckResponse:
25335    '''
25336         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
25337     Healthchecks are non blocking, and this contains no non-metadata.
25338    '''
25339    __slots__ = [
25340        'meta',
25341        'rate_limit',
25342    ]
25343
25344    def __init__(
25345        self,
25346        meta=None,
25347        rate_limit=None,
25348    ):
25349        self.meta = meta if meta is not None else None
25350        '''
25351         Reserved for future use.
25352        '''
25353        self.rate_limit = rate_limit if rate_limit is not None else None
25354        '''
25355         Rate limit information.
25356        '''
25357
25358    def __repr__(self):
25359        return '<sdm.ResourceHealthcheckResponse ' + \
25360            'meta: ' + repr(self.meta) + ' ' +\
25361            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25362            '>'
25363
25364    def to_dict(self):
25365        return {
25366            'meta': self.meta,
25367            'rate_limit': self.rate_limit,
25368        }
25369
25370    @classmethod
25371    def from_dict(cls, d):
25372        return cls(
25373            meta=d.get('meta'),
25374            rate_limit=d.get('rate_limit'),
25375        )

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

ResourceHealthcheckResponse(meta=None, rate_limit=None)
25344    def __init__(
25345        self,
25346        meta=None,
25347        rate_limit=None,
25348    ):
25349        self.meta = meta if meta is not None else None
25350        '''
25351         Reserved for future use.
25352        '''
25353        self.rate_limit = rate_limit if rate_limit is not None else None
25354        '''
25355         Rate limit information.
25356        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25364    def to_dict(self):
25365        return {
25366            'meta': self.meta,
25367            'rate_limit': self.rate_limit,
25368        }
@classmethod
def from_dict(cls, d)
25370    @classmethod
25371    def from_dict(cls, d):
25372        return cls(
25373            meta=d.get('meta'),
25374            rate_limit=d.get('rate_limit'),
25375        )
class ResourceHistory:
25378class ResourceHistory:
25379    '''
25380         ResourceHistory records the state of a Resource at a given point in time,
25381     where every change (create, update and delete) to a Resource produces an
25382     ResourceHistory record.
25383    '''
25384    __slots__ = [
25385        'activity_id',
25386        'deleted_at',
25387        'resource',
25388        'timestamp',
25389    ]
25390
25391    def __init__(
25392        self,
25393        activity_id=None,
25394        deleted_at=None,
25395        resource=None,
25396        timestamp=None,
25397    ):
25398        self.activity_id = activity_id if activity_id is not None else ''
25399        '''
25400         The unique identifier of the Activity that produced this change to the Resource.
25401         May be empty for some system-initiated updates.
25402        '''
25403        self.deleted_at = deleted_at if deleted_at is not None else None
25404        '''
25405         If this Resource was deleted, the time it was deleted.
25406        '''
25407        self.resource = resource if resource is not None else None
25408        '''
25409         The complete Resource state at this time.
25410        '''
25411        self.timestamp = timestamp if timestamp is not None else None
25412        '''
25413         The time at which the Resource state was recorded.
25414        '''
25415
25416    def __repr__(self):
25417        return '<sdm.ResourceHistory ' + \
25418            'activity_id: ' + repr(self.activity_id) + ' ' +\
25419            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25420            'resource: ' + repr(self.resource) + ' ' +\
25421            'timestamp: ' + repr(self.timestamp) + ' ' +\
25422            '>'
25423
25424    def to_dict(self):
25425        return {
25426            'activity_id': self.activity_id,
25427            'deleted_at': self.deleted_at,
25428            'resource': self.resource,
25429            'timestamp': self.timestamp,
25430        }
25431
25432    @classmethod
25433    def from_dict(cls, d):
25434        return cls(
25435            activity_id=d.get('activity_id'),
25436            deleted_at=d.get('deleted_at'),
25437            resource=d.get('resource'),
25438            timestamp=d.get('timestamp'),
25439        )

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)
25391    def __init__(
25392        self,
25393        activity_id=None,
25394        deleted_at=None,
25395        resource=None,
25396        timestamp=None,
25397    ):
25398        self.activity_id = activity_id if activity_id is not None else ''
25399        '''
25400         The unique identifier of the Activity that produced this change to the Resource.
25401         May be empty for some system-initiated updates.
25402        '''
25403        self.deleted_at = deleted_at if deleted_at is not None else None
25404        '''
25405         If this Resource was deleted, the time it was deleted.
25406        '''
25407        self.resource = resource if resource is not None else None
25408        '''
25409         The complete Resource state at this time.
25410        '''
25411        self.timestamp = timestamp if timestamp is not None else None
25412        '''
25413         The time at which the Resource state was recorded.
25414        '''
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)
25424    def to_dict(self):
25425        return {
25426            'activity_id': self.activity_id,
25427            'deleted_at': self.deleted_at,
25428            'resource': self.resource,
25429            'timestamp': self.timestamp,
25430        }
@classmethod
def from_dict(cls, d)
25432    @classmethod
25433    def from_dict(cls, d):
25434        return cls(
25435            activity_id=d.get('activity_id'),
25436            deleted_at=d.get('deleted_at'),
25437            resource=d.get('resource'),
25438            timestamp=d.get('timestamp'),
25439        )
class ResourceUpdateResponse:
25442class ResourceUpdateResponse:
25443    '''
25444         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
25445     a ResourceUpdateRequest.
25446    '''
25447    __slots__ = [
25448        'meta',
25449        'rate_limit',
25450        'resource',
25451    ]
25452
25453    def __init__(
25454        self,
25455        meta=None,
25456        rate_limit=None,
25457        resource=None,
25458    ):
25459        self.meta = meta if meta is not None else None
25460        '''
25461         Reserved for future use.
25462        '''
25463        self.rate_limit = rate_limit if rate_limit is not None else None
25464        '''
25465         Rate limit information.
25466        '''
25467        self.resource = resource if resource is not None else None
25468        '''
25469         The updated Resource.
25470        '''
25471
25472    def __repr__(self):
25473        return '<sdm.ResourceUpdateResponse ' + \
25474            'meta: ' + repr(self.meta) + ' ' +\
25475            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25476            'resource: ' + repr(self.resource) + ' ' +\
25477            '>'
25478
25479    def to_dict(self):
25480        return {
25481            'meta': self.meta,
25482            'rate_limit': self.rate_limit,
25483            'resource': self.resource,
25484        }
25485
25486    @classmethod
25487    def from_dict(cls, d):
25488        return cls(
25489            meta=d.get('meta'),
25490            rate_limit=d.get('rate_limit'),
25491            resource=d.get('resource'),
25492        )

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

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
25453    def __init__(
25454        self,
25455        meta=None,
25456        rate_limit=None,
25457        resource=None,
25458    ):
25459        self.meta = meta if meta is not None else None
25460        '''
25461         Reserved for future use.
25462        '''
25463        self.rate_limit = rate_limit if rate_limit is not None else None
25464        '''
25465         Rate limit information.
25466        '''
25467        self.resource = resource if resource is not None else None
25468        '''
25469         The updated Resource.
25470        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
25479    def to_dict(self):
25480        return {
25481            'meta': self.meta,
25482            'rate_limit': self.rate_limit,
25483            'resource': self.resource,
25484        }
@classmethod
def from_dict(cls, d)
25486    @classmethod
25487    def from_dict(cls, d):
25488        return cls(
25489            meta=d.get('meta'),
25490            rate_limit=d.get('rate_limit'),
25491            resource=d.get('resource'),
25492        )
class Role:
25495class Role:
25496    '''
25497         A Role has a list of access rules which determine which Resources the members
25498     of the Role have access to. An Account can be a member of multiple Roles via
25499     AccountAttachments.
25500    '''
25501    __slots__ = [
25502        'access_rules',
25503        'id',
25504        'managed_by',
25505        'name',
25506        'tags',
25507    ]
25508
25509    def __init__(
25510        self,
25511        access_rules=None,
25512        id=None,
25513        managed_by=None,
25514        name=None,
25515        tags=None,
25516    ):
25517        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25518        )
25519        '''
25520         AccessRules is a list of access rules defining the resources this Role has access to.
25521        '''
25522        self.id = id if id is not None else ''
25523        '''
25524         Unique identifier of the Role.
25525        '''
25526        self.managed_by = managed_by if managed_by is not None else ''
25527        '''
25528         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25529        '''
25530        self.name = name if name is not None else ''
25531        '''
25532         Unique human-readable name of the Role.
25533        '''
25534        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25535        '''
25536         Tags is a map of key, value pairs.
25537        '''
25538
25539    def __repr__(self):
25540        return '<sdm.Role ' + \
25541            'access_rules: ' + repr(self.access_rules) + ' ' +\
25542            'id: ' + repr(self.id) + ' ' +\
25543            'managed_by: ' + repr(self.managed_by) + ' ' +\
25544            'name: ' + repr(self.name) + ' ' +\
25545            'tags: ' + repr(self.tags) + ' ' +\
25546            '>'
25547
25548    def to_dict(self):
25549        return {
25550            'access_rules': self.access_rules,
25551            'id': self.id,
25552            'managed_by': self.managed_by,
25553            'name': self.name,
25554            'tags': self.tags,
25555        }
25556
25557    @classmethod
25558    def from_dict(cls, d):
25559        return cls(
25560            access_rules=d.get('access_rules'),
25561            id=d.get('id'),
25562            managed_by=d.get('managed_by'),
25563            name=d.get('name'),
25564            tags=d.get('tags'),
25565        )

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)
25509    def __init__(
25510        self,
25511        access_rules=None,
25512        id=None,
25513        managed_by=None,
25514        name=None,
25515        tags=None,
25516    ):
25517        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
25518        )
25519        '''
25520         AccessRules is a list of access rules defining the resources this Role has access to.
25521        '''
25522        self.id = id if id is not None else ''
25523        '''
25524         Unique identifier of the Role.
25525        '''
25526        self.managed_by = managed_by if managed_by is not None else ''
25527        '''
25528         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
25529        '''
25530        self.name = name if name is not None else ''
25531        '''
25532         Unique human-readable name of the Role.
25533        '''
25534        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25535        '''
25536         Tags is a map of key, value pairs.
25537        '''
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)
25548    def to_dict(self):
25549        return {
25550            'access_rules': self.access_rules,
25551            'id': self.id,
25552            'managed_by': self.managed_by,
25553            'name': self.name,
25554            'tags': self.tags,
25555        }
@classmethod
def from_dict(cls, d)
25557    @classmethod
25558    def from_dict(cls, d):
25559        return cls(
25560            access_rules=d.get('access_rules'),
25561            id=d.get('id'),
25562            managed_by=d.get('managed_by'),
25563            name=d.get('name'),
25564            tags=d.get('tags'),
25565        )
class RoleCreateResponse:
25568class RoleCreateResponse:
25569    '''
25570         RoleCreateResponse reports how the Roles were created in the system. It can
25571     communicate partial successes or failures.
25572    '''
25573    __slots__ = [
25574        'meta',
25575        'rate_limit',
25576        'role',
25577    ]
25578
25579    def __init__(
25580        self,
25581        meta=None,
25582        rate_limit=None,
25583        role=None,
25584    ):
25585        self.meta = meta if meta is not None else None
25586        '''
25587         Reserved for future use.
25588        '''
25589        self.rate_limit = rate_limit if rate_limit is not None else None
25590        '''
25591         Rate limit information.
25592        '''
25593        self.role = role if role is not None else None
25594        '''
25595         The created Role.
25596        '''
25597
25598    def __repr__(self):
25599        return '<sdm.RoleCreateResponse ' + \
25600            'meta: ' + repr(self.meta) + ' ' +\
25601            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25602            'role: ' + repr(self.role) + ' ' +\
25603            '>'
25604
25605    def to_dict(self):
25606        return {
25607            'meta': self.meta,
25608            'rate_limit': self.rate_limit,
25609            'role': self.role,
25610        }
25611
25612    @classmethod
25613    def from_dict(cls, d):
25614        return cls(
25615            meta=d.get('meta'),
25616            rate_limit=d.get('rate_limit'),
25617            role=d.get('role'),
25618        )

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)
25579    def __init__(
25580        self,
25581        meta=None,
25582        rate_limit=None,
25583        role=None,
25584    ):
25585        self.meta = meta if meta is not None else None
25586        '''
25587         Reserved for future use.
25588        '''
25589        self.rate_limit = rate_limit if rate_limit is not None else None
25590        '''
25591         Rate limit information.
25592        '''
25593        self.role = role if role is not None else None
25594        '''
25595         The created Role.
25596        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
25605    def to_dict(self):
25606        return {
25607            'meta': self.meta,
25608            'rate_limit': self.rate_limit,
25609            'role': self.role,
25610        }
@classmethod
def from_dict(cls, d)
25612    @classmethod
25613    def from_dict(cls, d):
25614        return cls(
25615            meta=d.get('meta'),
25616            rate_limit=d.get('rate_limit'),
25617            role=d.get('role'),
25618        )
class RoleDeleteResponse:
25621class RoleDeleteResponse:
25622    '''
25623         RoleDeleteResponse returns information about a Role that was deleted.
25624    '''
25625    __slots__ = [
25626        'meta',
25627        'rate_limit',
25628    ]
25629
25630    def __init__(
25631        self,
25632        meta=None,
25633        rate_limit=None,
25634    ):
25635        self.meta = meta if meta is not None else None
25636        '''
25637         Reserved for future use.
25638        '''
25639        self.rate_limit = rate_limit if rate_limit is not None else None
25640        '''
25641         Rate limit information.
25642        '''
25643
25644    def __repr__(self):
25645        return '<sdm.RoleDeleteResponse ' + \
25646            'meta: ' + repr(self.meta) + ' ' +\
25647            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25648            '>'
25649
25650    def to_dict(self):
25651        return {
25652            'meta': self.meta,
25653            'rate_limit': self.rate_limit,
25654        }
25655
25656    @classmethod
25657    def from_dict(cls, d):
25658        return cls(
25659            meta=d.get('meta'),
25660            rate_limit=d.get('rate_limit'),
25661        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
25630    def __init__(
25631        self,
25632        meta=None,
25633        rate_limit=None,
25634    ):
25635        self.meta = meta if meta is not None else None
25636        '''
25637         Reserved for future use.
25638        '''
25639        self.rate_limit = rate_limit if rate_limit is not None else None
25640        '''
25641         Rate limit information.
25642        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
25650    def to_dict(self):
25651        return {
25652            'meta': self.meta,
25653            'rate_limit': self.rate_limit,
25654        }
@classmethod
def from_dict(cls, d)
25656    @classmethod
25657    def from_dict(cls, d):
25658        return cls(
25659            meta=d.get('meta'),
25660            rate_limit=d.get('rate_limit'),
25661        )
class RoleGetResponse:
25664class RoleGetResponse:
25665    '''
25666         RoleGetResponse returns a requested Role.
25667    '''
25668    __slots__ = [
25669        'meta',
25670        'rate_limit',
25671        'role',
25672    ]
25673
25674    def __init__(
25675        self,
25676        meta=None,
25677        rate_limit=None,
25678        role=None,
25679    ):
25680        self.meta = meta if meta is not None else None
25681        '''
25682         Reserved for future use.
25683        '''
25684        self.rate_limit = rate_limit if rate_limit is not None else None
25685        '''
25686         Rate limit information.
25687        '''
25688        self.role = role if role is not None else None
25689        '''
25690         The requested Role.
25691        '''
25692
25693    def __repr__(self):
25694        return '<sdm.RoleGetResponse ' + \
25695            'meta: ' + repr(self.meta) + ' ' +\
25696            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25697            'role: ' + repr(self.role) + ' ' +\
25698            '>'
25699
25700    def to_dict(self):
25701        return {
25702            'meta': self.meta,
25703            'rate_limit': self.rate_limit,
25704            'role': self.role,
25705        }
25706
25707    @classmethod
25708    def from_dict(cls, d):
25709        return cls(
25710            meta=d.get('meta'),
25711            rate_limit=d.get('rate_limit'),
25712            role=d.get('role'),
25713        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
25674    def __init__(
25675        self,
25676        meta=None,
25677        rate_limit=None,
25678        role=None,
25679    ):
25680        self.meta = meta if meta is not None else None
25681        '''
25682         Reserved for future use.
25683        '''
25684        self.rate_limit = rate_limit if rate_limit is not None else None
25685        '''
25686         Rate limit information.
25687        '''
25688        self.role = role if role is not None else None
25689        '''
25690         The requested Role.
25691        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

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

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)
25729    def __init__(
25730        self,
25731        activity_id=None,
25732        deleted_at=None,
25733        role=None,
25734        timestamp=None,
25735    ):
25736        self.activity_id = activity_id if activity_id is not None else ''
25737        '''
25738         The unique identifier of the Activity that produced this change to the Role.
25739         May be empty for some system-initiated updates.
25740        '''
25741        self.deleted_at = deleted_at if deleted_at is not None else None
25742        '''
25743         If this Role was deleted, the time it was deleted.
25744        '''
25745        self.role = role if role is not None else None
25746        '''
25747         The complete Role state at this time.
25748        '''
25749        self.timestamp = timestamp if timestamp is not None else None
25750        '''
25751         The time at which the Role state was recorded.
25752        '''
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)
25762    def to_dict(self):
25763        return {
25764            'activity_id': self.activity_id,
25765            'deleted_at': self.deleted_at,
25766            'role': self.role,
25767            'timestamp': self.timestamp,
25768        }
@classmethod
def from_dict(cls, d)
25770    @classmethod
25771    def from_dict(cls, d):
25772        return cls(
25773            activity_id=d.get('activity_id'),
25774            deleted_at=d.get('deleted_at'),
25775            role=d.get('role'),
25776            timestamp=d.get('timestamp'),
25777        )
class RoleResource:
25780class RoleResource:
25781    '''
25782         RoleResource represents an individual access grant of a Role to a Resource.
25783    '''
25784    __slots__ = [
25785        'granted_at',
25786        'resource_id',
25787        'role_id',
25788    ]
25789
25790    def __init__(
25791        self,
25792        granted_at=None,
25793        resource_id=None,
25794        role_id=None,
25795    ):
25796        self.granted_at = granted_at if granted_at is not None else None
25797        '''
25798         The most recent time at which access was granted. If access was granted,
25799         revoked, and granted again, this will reflect the later time.
25800        '''
25801        self.resource_id = resource_id if resource_id is not None else ''
25802        '''
25803         The unique identifier of the Resource to which access is granted.
25804        '''
25805        self.role_id = role_id if role_id is not None else ''
25806        '''
25807         The unique identifier of the Role to which access is granted.
25808        '''
25809
25810    def __repr__(self):
25811        return '<sdm.RoleResource ' + \
25812            'granted_at: ' + repr(self.granted_at) + ' ' +\
25813            'resource_id: ' + repr(self.resource_id) + ' ' +\
25814            'role_id: ' + repr(self.role_id) + ' ' +\
25815            '>'
25816
25817    def to_dict(self):
25818        return {
25819            'granted_at': self.granted_at,
25820            'resource_id': self.resource_id,
25821            'role_id': self.role_id,
25822        }
25823
25824    @classmethod
25825    def from_dict(cls, d):
25826        return cls(
25827            granted_at=d.get('granted_at'),
25828            resource_id=d.get('resource_id'),
25829            role_id=d.get('role_id'),
25830        )

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

RoleResource(granted_at=None, resource_id=None, role_id=None)
25790    def __init__(
25791        self,
25792        granted_at=None,
25793        resource_id=None,
25794        role_id=None,
25795    ):
25796        self.granted_at = granted_at if granted_at is not None else None
25797        '''
25798         The most recent time at which access was granted. If access was granted,
25799         revoked, and granted again, this will reflect the later time.
25800        '''
25801        self.resource_id = resource_id if resource_id is not None else ''
25802        '''
25803         The unique identifier of the Resource to which access is granted.
25804        '''
25805        self.role_id = role_id if role_id is not None else ''
25806        '''
25807         The unique identifier of the Role to which access is granted.
25808        '''
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)
25817    def to_dict(self):
25818        return {
25819            'granted_at': self.granted_at,
25820            'resource_id': self.resource_id,
25821            'role_id': self.role_id,
25822        }
@classmethod
def from_dict(cls, d)
25824    @classmethod
25825    def from_dict(cls, d):
25826        return cls(
25827            granted_at=d.get('granted_at'),
25828            resource_id=d.get('resource_id'),
25829            role_id=d.get('role_id'),
25830        )
class RoleResourceHistory:
25833class RoleResourceHistory:
25834    '''
25835         RoleResourceHistory records the state of a RoleResource at a given point in time,
25836     where every change (create or delete) to a RoleResource produces an
25837     RoleResourceHistory record.
25838    '''
25839    __slots__ = [
25840        'activity_id',
25841        'deleted_at',
25842        'role_resource',
25843        'timestamp',
25844    ]
25845
25846    def __init__(
25847        self,
25848        activity_id=None,
25849        deleted_at=None,
25850        role_resource=None,
25851        timestamp=None,
25852    ):
25853        self.activity_id = activity_id if activity_id is not None else ''
25854        '''
25855         The unique identifier of the Activity that produced this change to the RoleResource.
25856         May be empty for some system-initiated updates.
25857        '''
25858        self.deleted_at = deleted_at if deleted_at is not None else None
25859        '''
25860         If this RoleResource was deleted, the time it was deleted.
25861        '''
25862        self.role_resource = role_resource if role_resource is not None else None
25863        '''
25864         The complete RoleResource state at this time.
25865        '''
25866        self.timestamp = timestamp if timestamp is not None else None
25867        '''
25868         The time at which the RoleResource state was recorded.
25869        '''
25870
25871    def __repr__(self):
25872        return '<sdm.RoleResourceHistory ' + \
25873            'activity_id: ' + repr(self.activity_id) + ' ' +\
25874            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
25875            'role_resource: ' + repr(self.role_resource) + ' ' +\
25876            'timestamp: ' + repr(self.timestamp) + ' ' +\
25877            '>'
25878
25879    def to_dict(self):
25880        return {
25881            'activity_id': self.activity_id,
25882            'deleted_at': self.deleted_at,
25883            'role_resource': self.role_resource,
25884            'timestamp': self.timestamp,
25885        }
25886
25887    @classmethod
25888    def from_dict(cls, d):
25889        return cls(
25890            activity_id=d.get('activity_id'),
25891            deleted_at=d.get('deleted_at'),
25892            role_resource=d.get('role_resource'),
25893            timestamp=d.get('timestamp'),
25894        )

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)
25846    def __init__(
25847        self,
25848        activity_id=None,
25849        deleted_at=None,
25850        role_resource=None,
25851        timestamp=None,
25852    ):
25853        self.activity_id = activity_id if activity_id is not None else ''
25854        '''
25855         The unique identifier of the Activity that produced this change to the RoleResource.
25856         May be empty for some system-initiated updates.
25857        '''
25858        self.deleted_at = deleted_at if deleted_at is not None else None
25859        '''
25860         If this RoleResource was deleted, the time it was deleted.
25861        '''
25862        self.role_resource = role_resource if role_resource is not None else None
25863        '''
25864         The complete RoleResource state at this time.
25865        '''
25866        self.timestamp = timestamp if timestamp is not None else None
25867        '''
25868         The time at which the RoleResource state was recorded.
25869        '''
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)
25879    def to_dict(self):
25880        return {
25881            'activity_id': self.activity_id,
25882            'deleted_at': self.deleted_at,
25883            'role_resource': self.role_resource,
25884            'timestamp': self.timestamp,
25885        }
@classmethod
def from_dict(cls, d)
25887    @classmethod
25888    def from_dict(cls, d):
25889        return cls(
25890            activity_id=d.get('activity_id'),
25891            deleted_at=d.get('deleted_at'),
25892            role_resource=d.get('role_resource'),
25893            timestamp=d.get('timestamp'),
25894        )
class RoleUpdateResponse:
25897class RoleUpdateResponse:
25898    '''
25899         RoleUpdateResponse returns the fields of a Role after it has been updated by
25900     a RoleUpdateRequest.
25901    '''
25902    __slots__ = [
25903        'meta',
25904        'rate_limit',
25905        'role',
25906    ]
25907
25908    def __init__(
25909        self,
25910        meta=None,
25911        rate_limit=None,
25912        role=None,
25913    ):
25914        self.meta = meta if meta is not None else None
25915        '''
25916         Reserved for future use.
25917        '''
25918        self.rate_limit = rate_limit if rate_limit is not None else None
25919        '''
25920         Rate limit information.
25921        '''
25922        self.role = role if role is not None else None
25923        '''
25924         The updated Role.
25925        '''
25926
25927    def __repr__(self):
25928        return '<sdm.RoleUpdateResponse ' + \
25929            'meta: ' + repr(self.meta) + ' ' +\
25930            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
25931            'role: ' + repr(self.role) + ' ' +\
25932            '>'
25933
25934    def to_dict(self):
25935        return {
25936            'meta': self.meta,
25937            'rate_limit': self.rate_limit,
25938            'role': self.role,
25939        }
25940
25941    @classmethod
25942    def from_dict(cls, d):
25943        return cls(
25944            meta=d.get('meta'),
25945            rate_limit=d.get('rate_limit'),
25946            role=d.get('role'),
25947        )

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

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
25908    def __init__(
25909        self,
25910        meta=None,
25911        rate_limit=None,
25912        role=None,
25913    ):
25914        self.meta = meta if meta is not None else None
25915        '''
25916         Reserved for future use.
25917        '''
25918        self.rate_limit = rate_limit if rate_limit is not None else None
25919        '''
25920         Rate limit information.
25921        '''
25922        self.role = role if role is not None else None
25923        '''
25924         The updated Role.
25925        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
25934    def to_dict(self):
25935        return {
25936            'meta': self.meta,
25937            'rate_limit': self.rate_limit,
25938            'role': self.role,
25939        }
@classmethod
def from_dict(cls, d)
25941    @classmethod
25942    def from_dict(cls, d):
25943        return cls(
25944            meta=d.get('meta'),
25945            rate_limit=d.get('rate_limit'),
25946            role=d.get('role'),
25947        )
class SQLServer:
25950class SQLServer:
25951    __slots__ = [
25952        'allow_deprecated_encryption',
25953        'bind_interface',
25954        'database',
25955        'egress_filter',
25956        'healthy',
25957        'hostname',
25958        'id',
25959        'name',
25960        'override_database',
25961        'password',
25962        'port',
25963        'port_override',
25964        'proxy_cluster_id',
25965        'schema',
25966        'secret_store_id',
25967        'subdomain',
25968        'tags',
25969        'username',
25970    ]
25971
25972    def __init__(
25973        self,
25974        allow_deprecated_encryption=None,
25975        bind_interface=None,
25976        database=None,
25977        egress_filter=None,
25978        healthy=None,
25979        hostname=None,
25980        id=None,
25981        name=None,
25982        override_database=None,
25983        password=None,
25984        port=None,
25985        port_override=None,
25986        proxy_cluster_id=None,
25987        schema=None,
25988        secret_store_id=None,
25989        subdomain=None,
25990        tags=None,
25991        username=None,
25992    ):
25993        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
25994        '''
25995         Whether to allow deprecated encryption protocols to be used for this resource. For example,
25996         TLS 1.0.
25997        '''
25998        self.bind_interface = bind_interface if bind_interface is not None else ''
25999        '''
26000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26001        '''
26002        self.database = database if database is not None else ''
26003        '''
26004         The database for healthchecks, and used for clients if Override Default Database is true.
26005        '''
26006        self.egress_filter = egress_filter if egress_filter is not None else ''
26007        '''
26008         A filter applied to the routing logic to pin datasource to nodes.
26009        '''
26010        self.healthy = healthy if healthy is not None else False
26011        '''
26012         True if the datasource is reachable and the credentials are valid.
26013        '''
26014        self.hostname = hostname if hostname is not None else ''
26015        '''
26016         The host to dial to initiate a connection from the egress node to this resource.
26017        '''
26018        self.id = id if id is not None else ''
26019        '''
26020         Unique identifier of the Resource.
26021        '''
26022        self.name = name if name is not None else ''
26023        '''
26024         Unique human-readable name of the Resource.
26025        '''
26026        self.override_database = override_database if override_database is not None else False
26027        '''
26028         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.
26029        '''
26030        self.password = password if password is not None else ''
26031        '''
26032         The password to authenticate with.
26033        '''
26034        self.port = port if port is not None else 0
26035        '''
26036         The port to dial to initiate a connection from the egress node to this resource.
26037        '''
26038        self.port_override = port_override if port_override is not None else 0
26039        '''
26040         The local port used by clients to connect to this resource.
26041        '''
26042        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26043        '''
26044         ID of the proxy cluster for this resource, if any.
26045        '''
26046        self.schema = schema if schema is not None else ''
26047        '''
26048         The Schema to use to direct initial requests.
26049        '''
26050        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26051        '''
26052         ID of the secret store containing credentials for this resource, if any.
26053        '''
26054        self.subdomain = subdomain if subdomain is not None else ''
26055        '''
26056         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26057        '''
26058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26059        '''
26060         Tags is a map of key, value pairs.
26061        '''
26062        self.username = username if username is not None else ''
26063        '''
26064         The username to authenticate with.
26065        '''
26066
26067    def __repr__(self):
26068        return '<sdm.SQLServer ' + \
26069            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26070            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26071            'database: ' + repr(self.database) + ' ' +\
26072            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26073            'healthy: ' + repr(self.healthy) + ' ' +\
26074            'hostname: ' + repr(self.hostname) + ' ' +\
26075            'id: ' + repr(self.id) + ' ' +\
26076            'name: ' + repr(self.name) + ' ' +\
26077            'override_database: ' + repr(self.override_database) + ' ' +\
26078            'password: ' + repr(self.password) + ' ' +\
26079            'port: ' + repr(self.port) + ' ' +\
26080            'port_override: ' + repr(self.port_override) + ' ' +\
26081            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26082            'schema: ' + repr(self.schema) + ' ' +\
26083            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26084            'subdomain: ' + repr(self.subdomain) + ' ' +\
26085            'tags: ' + repr(self.tags) + ' ' +\
26086            'username: ' + repr(self.username) + ' ' +\
26087            '>'
26088
26089    def to_dict(self):
26090        return {
26091            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26092            'bind_interface': self.bind_interface,
26093            'database': self.database,
26094            'egress_filter': self.egress_filter,
26095            'healthy': self.healthy,
26096            'hostname': self.hostname,
26097            'id': self.id,
26098            'name': self.name,
26099            'override_database': self.override_database,
26100            'password': self.password,
26101            'port': self.port,
26102            'port_override': self.port_override,
26103            'proxy_cluster_id': self.proxy_cluster_id,
26104            'schema': self.schema,
26105            'secret_store_id': self.secret_store_id,
26106            'subdomain': self.subdomain,
26107            'tags': self.tags,
26108            'username': self.username,
26109        }
26110
26111    @classmethod
26112    def from_dict(cls, d):
26113        return cls(
26114            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26115            bind_interface=d.get('bind_interface'),
26116            database=d.get('database'),
26117            egress_filter=d.get('egress_filter'),
26118            healthy=d.get('healthy'),
26119            hostname=d.get('hostname'),
26120            id=d.get('id'),
26121            name=d.get('name'),
26122            override_database=d.get('override_database'),
26123            password=d.get('password'),
26124            port=d.get('port'),
26125            port_override=d.get('port_override'),
26126            proxy_cluster_id=d.get('proxy_cluster_id'),
26127            schema=d.get('schema'),
26128            secret_store_id=d.get('secret_store_id'),
26129            subdomain=d.get('subdomain'),
26130            tags=d.get('tags'),
26131            username=d.get('username'),
26132        )
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)
25972    def __init__(
25973        self,
25974        allow_deprecated_encryption=None,
25975        bind_interface=None,
25976        database=None,
25977        egress_filter=None,
25978        healthy=None,
25979        hostname=None,
25980        id=None,
25981        name=None,
25982        override_database=None,
25983        password=None,
25984        port=None,
25985        port_override=None,
25986        proxy_cluster_id=None,
25987        schema=None,
25988        secret_store_id=None,
25989        subdomain=None,
25990        tags=None,
25991        username=None,
25992    ):
25993        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
25994        '''
25995         Whether to allow deprecated encryption protocols to be used for this resource. For example,
25996         TLS 1.0.
25997        '''
25998        self.bind_interface = bind_interface if bind_interface is not None else ''
25999        '''
26000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26001        '''
26002        self.database = database if database is not None else ''
26003        '''
26004         The database for healthchecks, and used for clients if Override Default Database is true.
26005        '''
26006        self.egress_filter = egress_filter if egress_filter is not None else ''
26007        '''
26008         A filter applied to the routing logic to pin datasource to nodes.
26009        '''
26010        self.healthy = healthy if healthy is not None else False
26011        '''
26012         True if the datasource is reachable and the credentials are valid.
26013        '''
26014        self.hostname = hostname if hostname is not None else ''
26015        '''
26016         The host to dial to initiate a connection from the egress node to this resource.
26017        '''
26018        self.id = id if id is not None else ''
26019        '''
26020         Unique identifier of the Resource.
26021        '''
26022        self.name = name if name is not None else ''
26023        '''
26024         Unique human-readable name of the Resource.
26025        '''
26026        self.override_database = override_database if override_database is not None else False
26027        '''
26028         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.
26029        '''
26030        self.password = password if password is not None else ''
26031        '''
26032         The password to authenticate with.
26033        '''
26034        self.port = port if port is not None else 0
26035        '''
26036         The port to dial to initiate a connection from the egress node to this resource.
26037        '''
26038        self.port_override = port_override if port_override is not None else 0
26039        '''
26040         The local port used by clients to connect to this resource.
26041        '''
26042        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26043        '''
26044         ID of the proxy cluster for this resource, if any.
26045        '''
26046        self.schema = schema if schema is not None else ''
26047        '''
26048         The Schema to use to direct initial requests.
26049        '''
26050        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26051        '''
26052         ID of the secret store containing credentials for this resource, if any.
26053        '''
26054        self.subdomain = subdomain if subdomain is not None else ''
26055        '''
26056         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26057        '''
26058        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26059        '''
26060         Tags is a map of key, value pairs.
26061        '''
26062        self.username = username if username is not None else ''
26063        '''
26064         The username to authenticate with.
26065        '''
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)
26089    def to_dict(self):
26090        return {
26091            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26092            'bind_interface': self.bind_interface,
26093            'database': self.database,
26094            'egress_filter': self.egress_filter,
26095            'healthy': self.healthy,
26096            'hostname': self.hostname,
26097            'id': self.id,
26098            'name': self.name,
26099            'override_database': self.override_database,
26100            'password': self.password,
26101            'port': self.port,
26102            'port_override': self.port_override,
26103            'proxy_cluster_id': self.proxy_cluster_id,
26104            'schema': self.schema,
26105            'secret_store_id': self.secret_store_id,
26106            'subdomain': self.subdomain,
26107            'tags': self.tags,
26108            'username': self.username,
26109        }
@classmethod
def from_dict(cls, d)
26111    @classmethod
26112    def from_dict(cls, d):
26113        return cls(
26114            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26115            bind_interface=d.get('bind_interface'),
26116            database=d.get('database'),
26117            egress_filter=d.get('egress_filter'),
26118            healthy=d.get('healthy'),
26119            hostname=d.get('hostname'),
26120            id=d.get('id'),
26121            name=d.get('name'),
26122            override_database=d.get('override_database'),
26123            password=d.get('password'),
26124            port=d.get('port'),
26125            port_override=d.get('port_override'),
26126            proxy_cluster_id=d.get('proxy_cluster_id'),
26127            schema=d.get('schema'),
26128            secret_store_id=d.get('secret_store_id'),
26129            subdomain=d.get('subdomain'),
26130            tags=d.get('tags'),
26131            username=d.get('username'),
26132        )
class SQLServerAzureAD:
26135class SQLServerAzureAD:
26136    __slots__ = [
26137        'allow_deprecated_encryption',
26138        'bind_interface',
26139        'client_id',
26140        'database',
26141        'egress_filter',
26142        'healthy',
26143        'hostname',
26144        'id',
26145        'name',
26146        'override_database',
26147        'port',
26148        'port_override',
26149        'proxy_cluster_id',
26150        'schema',
26151        'secret',
26152        'secret_store_id',
26153        'subdomain',
26154        'tags',
26155        'tenant_id',
26156    ]
26157
26158    def __init__(
26159        self,
26160        allow_deprecated_encryption=None,
26161        bind_interface=None,
26162        client_id=None,
26163        database=None,
26164        egress_filter=None,
26165        healthy=None,
26166        hostname=None,
26167        id=None,
26168        name=None,
26169        override_database=None,
26170        port=None,
26171        port_override=None,
26172        proxy_cluster_id=None,
26173        schema=None,
26174        secret=None,
26175        secret_store_id=None,
26176        subdomain=None,
26177        tags=None,
26178        tenant_id=None,
26179    ):
26180        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26181        '''
26182         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26183         TLS 1.0.
26184        '''
26185        self.bind_interface = bind_interface if bind_interface is not None else ''
26186        '''
26187         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26188        '''
26189        self.client_id = client_id if client_id is not None else ''
26190        '''
26191         The Azure AD application (client) ID with which to authenticate.
26192        '''
26193        self.database = database if database is not None else ''
26194        '''
26195         The database for healthchecks, and used for clients if Override Default Database is true.
26196        '''
26197        self.egress_filter = egress_filter if egress_filter is not None else ''
26198        '''
26199         A filter applied to the routing logic to pin datasource to nodes.
26200        '''
26201        self.healthy = healthy if healthy is not None else False
26202        '''
26203         True if the datasource is reachable and the credentials are valid.
26204        '''
26205        self.hostname = hostname if hostname is not None else ''
26206        '''
26207         The host to dial to initiate a connection from the egress node to this resource.
26208        '''
26209        self.id = id if id is not None else ''
26210        '''
26211         Unique identifier of the Resource.
26212        '''
26213        self.name = name if name is not None else ''
26214        '''
26215         Unique human-readable name of the Resource.
26216        '''
26217        self.override_database = override_database if override_database is not None else False
26218        '''
26219         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.
26220        '''
26221        self.port = port if port is not None else 0
26222        '''
26223         The port to dial to initiate a connection from the egress node to this resource.
26224        '''
26225        self.port_override = port_override if port_override is not None else 0
26226        '''
26227         The local port used by clients to connect to this resource.
26228        '''
26229        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26230        '''
26231         ID of the proxy cluster for this resource, if any.
26232        '''
26233        self.schema = schema if schema is not None else ''
26234        '''
26235         The Schema to use to direct initial requests.
26236        '''
26237        self.secret = secret if secret is not None else ''
26238        '''
26239         The Azure AD client secret (application password) with which to authenticate.
26240        '''
26241        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26242        '''
26243         ID of the secret store containing credentials for this resource, if any.
26244        '''
26245        self.subdomain = subdomain if subdomain is not None else ''
26246        '''
26247         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26248        '''
26249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26250        '''
26251         Tags is a map of key, value pairs.
26252        '''
26253        self.tenant_id = tenant_id if tenant_id is not None else ''
26254        '''
26255         The Azure AD directory (tenant) ID with which to authenticate.
26256        '''
26257
26258    def __repr__(self):
26259        return '<sdm.SQLServerAzureAD ' + \
26260            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26261            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26262            'client_id: ' + repr(self.client_id) + ' ' +\
26263            'database: ' + repr(self.database) + ' ' +\
26264            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26265            'healthy: ' + repr(self.healthy) + ' ' +\
26266            'hostname: ' + repr(self.hostname) + ' ' +\
26267            'id: ' + repr(self.id) + ' ' +\
26268            'name: ' + repr(self.name) + ' ' +\
26269            'override_database: ' + repr(self.override_database) + ' ' +\
26270            'port: ' + repr(self.port) + ' ' +\
26271            'port_override: ' + repr(self.port_override) + ' ' +\
26272            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26273            'schema: ' + repr(self.schema) + ' ' +\
26274            'secret: ' + repr(self.secret) + ' ' +\
26275            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26276            'subdomain: ' + repr(self.subdomain) + ' ' +\
26277            'tags: ' + repr(self.tags) + ' ' +\
26278            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
26279            '>'
26280
26281    def to_dict(self):
26282        return {
26283            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26284            'bind_interface': self.bind_interface,
26285            'client_id': self.client_id,
26286            'database': self.database,
26287            'egress_filter': self.egress_filter,
26288            'healthy': self.healthy,
26289            'hostname': self.hostname,
26290            'id': self.id,
26291            'name': self.name,
26292            'override_database': self.override_database,
26293            'port': self.port,
26294            'port_override': self.port_override,
26295            'proxy_cluster_id': self.proxy_cluster_id,
26296            'schema': self.schema,
26297            'secret': self.secret,
26298            'secret_store_id': self.secret_store_id,
26299            'subdomain': self.subdomain,
26300            'tags': self.tags,
26301            'tenant_id': self.tenant_id,
26302        }
26303
26304    @classmethod
26305    def from_dict(cls, d):
26306        return cls(
26307            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26308            bind_interface=d.get('bind_interface'),
26309            client_id=d.get('client_id'),
26310            database=d.get('database'),
26311            egress_filter=d.get('egress_filter'),
26312            healthy=d.get('healthy'),
26313            hostname=d.get('hostname'),
26314            id=d.get('id'),
26315            name=d.get('name'),
26316            override_database=d.get('override_database'),
26317            port=d.get('port'),
26318            port_override=d.get('port_override'),
26319            proxy_cluster_id=d.get('proxy_cluster_id'),
26320            schema=d.get('schema'),
26321            secret=d.get('secret'),
26322            secret_store_id=d.get('secret_store_id'),
26323            subdomain=d.get('subdomain'),
26324            tags=d.get('tags'),
26325            tenant_id=d.get('tenant_id'),
26326        )
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)
26158    def __init__(
26159        self,
26160        allow_deprecated_encryption=None,
26161        bind_interface=None,
26162        client_id=None,
26163        database=None,
26164        egress_filter=None,
26165        healthy=None,
26166        hostname=None,
26167        id=None,
26168        name=None,
26169        override_database=None,
26170        port=None,
26171        port_override=None,
26172        proxy_cluster_id=None,
26173        schema=None,
26174        secret=None,
26175        secret_store_id=None,
26176        subdomain=None,
26177        tags=None,
26178        tenant_id=None,
26179    ):
26180        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26181        '''
26182         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26183         TLS 1.0.
26184        '''
26185        self.bind_interface = bind_interface if bind_interface is not None else ''
26186        '''
26187         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26188        '''
26189        self.client_id = client_id if client_id is not None else ''
26190        '''
26191         The Azure AD application (client) ID with which to authenticate.
26192        '''
26193        self.database = database if database is not None else ''
26194        '''
26195         The database for healthchecks, and used for clients if Override Default Database is true.
26196        '''
26197        self.egress_filter = egress_filter if egress_filter is not None else ''
26198        '''
26199         A filter applied to the routing logic to pin datasource to nodes.
26200        '''
26201        self.healthy = healthy if healthy is not None else False
26202        '''
26203         True if the datasource is reachable and the credentials are valid.
26204        '''
26205        self.hostname = hostname if hostname is not None else ''
26206        '''
26207         The host to dial to initiate a connection from the egress node to this resource.
26208        '''
26209        self.id = id if id is not None else ''
26210        '''
26211         Unique identifier of the Resource.
26212        '''
26213        self.name = name if name is not None else ''
26214        '''
26215         Unique human-readable name of the Resource.
26216        '''
26217        self.override_database = override_database if override_database is not None else False
26218        '''
26219         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.
26220        '''
26221        self.port = port if port is not None else 0
26222        '''
26223         The port to dial to initiate a connection from the egress node to this resource.
26224        '''
26225        self.port_override = port_override if port_override is not None else 0
26226        '''
26227         The local port used by clients to connect to this resource.
26228        '''
26229        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26230        '''
26231         ID of the proxy cluster for this resource, if any.
26232        '''
26233        self.schema = schema if schema is not None else ''
26234        '''
26235         The Schema to use to direct initial requests.
26236        '''
26237        self.secret = secret if secret is not None else ''
26238        '''
26239         The Azure AD client secret (application password) with which to authenticate.
26240        '''
26241        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26242        '''
26243         ID of the secret store containing credentials for this resource, if any.
26244        '''
26245        self.subdomain = subdomain if subdomain is not None else ''
26246        '''
26247         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26248        '''
26249        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26250        '''
26251         Tags is a map of key, value pairs.
26252        '''
26253        self.tenant_id = tenant_id if tenant_id is not None else ''
26254        '''
26255         The Azure AD directory (tenant) ID with which to authenticate.
26256        '''
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)
26281    def to_dict(self):
26282        return {
26283            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26284            'bind_interface': self.bind_interface,
26285            'client_id': self.client_id,
26286            'database': self.database,
26287            'egress_filter': self.egress_filter,
26288            'healthy': self.healthy,
26289            'hostname': self.hostname,
26290            'id': self.id,
26291            'name': self.name,
26292            'override_database': self.override_database,
26293            'port': self.port,
26294            'port_override': self.port_override,
26295            'proxy_cluster_id': self.proxy_cluster_id,
26296            'schema': self.schema,
26297            'secret': self.secret,
26298            'secret_store_id': self.secret_store_id,
26299            'subdomain': self.subdomain,
26300            'tags': self.tags,
26301            'tenant_id': self.tenant_id,
26302        }
@classmethod
def from_dict(cls, d)
26304    @classmethod
26305    def from_dict(cls, d):
26306        return cls(
26307            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26308            bind_interface=d.get('bind_interface'),
26309            client_id=d.get('client_id'),
26310            database=d.get('database'),
26311            egress_filter=d.get('egress_filter'),
26312            healthy=d.get('healthy'),
26313            hostname=d.get('hostname'),
26314            id=d.get('id'),
26315            name=d.get('name'),
26316            override_database=d.get('override_database'),
26317            port=d.get('port'),
26318            port_override=d.get('port_override'),
26319            proxy_cluster_id=d.get('proxy_cluster_id'),
26320            schema=d.get('schema'),
26321            secret=d.get('secret'),
26322            secret_store_id=d.get('secret_store_id'),
26323            subdomain=d.get('subdomain'),
26324            tags=d.get('tags'),
26325            tenant_id=d.get('tenant_id'),
26326        )
class SQLServerKerberosAD:
26329class SQLServerKerberosAD:
26330    __slots__ = [
26331        'allow_deprecated_encryption',
26332        'bind_interface',
26333        'database',
26334        'egress_filter',
26335        'healthy',
26336        'hostname',
26337        'id',
26338        'keytab',
26339        'krb_config',
26340        'name',
26341        'override_database',
26342        'port',
26343        'port_override',
26344        'proxy_cluster_id',
26345        'realm',
26346        'schema',
26347        'secret_store_id',
26348        'server_spn',
26349        'subdomain',
26350        'tags',
26351        'username',
26352    ]
26353
26354    def __init__(
26355        self,
26356        allow_deprecated_encryption=None,
26357        bind_interface=None,
26358        database=None,
26359        egress_filter=None,
26360        healthy=None,
26361        hostname=None,
26362        id=None,
26363        keytab=None,
26364        krb_config=None,
26365        name=None,
26366        override_database=None,
26367        port=None,
26368        port_override=None,
26369        proxy_cluster_id=None,
26370        realm=None,
26371        schema=None,
26372        secret_store_id=None,
26373        server_spn=None,
26374        subdomain=None,
26375        tags=None,
26376        username=None,
26377    ):
26378        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26379        '''
26380         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26381         TLS 1.0.
26382        '''
26383        self.bind_interface = bind_interface if bind_interface is not None else ''
26384        '''
26385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26386        '''
26387        self.database = database if database is not None else ''
26388        '''
26389         The database for healthchecks, and used for clients if Override Default Database is true.
26390        '''
26391        self.egress_filter = egress_filter if egress_filter is not None else ''
26392        '''
26393         A filter applied to the routing logic to pin datasource to nodes.
26394        '''
26395        self.healthy = healthy if healthy is not None else False
26396        '''
26397         True if the datasource is reachable and the credentials are valid.
26398        '''
26399        self.hostname = hostname if hostname is not None else ''
26400        '''
26401         The host to dial to initiate a connection from the egress node to this resource.
26402        '''
26403        self.id = id if id is not None else ''
26404        '''
26405         Unique identifier of the Resource.
26406        '''
26407        self.keytab = keytab if keytab is not None else ''
26408        '''
26409         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26410        '''
26411        self.krb_config = krb_config if krb_config is not None else ''
26412        '''
26413         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26414        '''
26415        self.name = name if name is not None else ''
26416        '''
26417         Unique human-readable name of the Resource.
26418        '''
26419        self.override_database = override_database if override_database is not None else False
26420        '''
26421         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.
26422        '''
26423        self.port = port if port is not None else 0
26424        '''
26425         The port to dial to initiate a connection from the egress node to this resource.
26426        '''
26427        self.port_override = port_override if port_override is not None else 0
26428        '''
26429         The local port used by clients to connect to this resource.
26430        '''
26431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26432        '''
26433         ID of the proxy cluster for this resource, if any.
26434        '''
26435        self.realm = realm if realm is not None else ''
26436        '''
26437         The Active Directory domain (realm) to which the configured username belongs.
26438        '''
26439        self.schema = schema if schema is not None else ''
26440        '''
26441         The Schema to use to direct initial requests.
26442        '''
26443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26444        '''
26445         ID of the secret store containing credentials for this resource, if any.
26446        '''
26447        self.server_spn = server_spn if server_spn is not None else ''
26448        '''
26449         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26450        '''
26451        self.subdomain = subdomain if subdomain is not None else ''
26452        '''
26453         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26454        '''
26455        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26456        '''
26457         Tags is a map of key, value pairs.
26458        '''
26459        self.username = username if username is not None else ''
26460        '''
26461         The username to authenticate with.
26462        '''
26463
26464    def __repr__(self):
26465        return '<sdm.SQLServerKerberosAD ' + \
26466            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
26467            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26468            'database: ' + repr(self.database) + ' ' +\
26469            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26470            'healthy: ' + repr(self.healthy) + ' ' +\
26471            'hostname: ' + repr(self.hostname) + ' ' +\
26472            'id: ' + repr(self.id) + ' ' +\
26473            'keytab: ' + repr(self.keytab) + ' ' +\
26474            'krb_config: ' + repr(self.krb_config) + ' ' +\
26475            'name: ' + repr(self.name) + ' ' +\
26476            'override_database: ' + repr(self.override_database) + ' ' +\
26477            'port: ' + repr(self.port) + ' ' +\
26478            'port_override: ' + repr(self.port_override) + ' ' +\
26479            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26480            'realm: ' + repr(self.realm) + ' ' +\
26481            'schema: ' + repr(self.schema) + ' ' +\
26482            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26483            'server_spn: ' + repr(self.server_spn) + ' ' +\
26484            'subdomain: ' + repr(self.subdomain) + ' ' +\
26485            'tags: ' + repr(self.tags) + ' ' +\
26486            'username: ' + repr(self.username) + ' ' +\
26487            '>'
26488
26489    def to_dict(self):
26490        return {
26491            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26492            'bind_interface': self.bind_interface,
26493            'database': self.database,
26494            'egress_filter': self.egress_filter,
26495            'healthy': self.healthy,
26496            'hostname': self.hostname,
26497            'id': self.id,
26498            'keytab': self.keytab,
26499            'krb_config': self.krb_config,
26500            'name': self.name,
26501            'override_database': self.override_database,
26502            'port': self.port,
26503            'port_override': self.port_override,
26504            'proxy_cluster_id': self.proxy_cluster_id,
26505            'realm': self.realm,
26506            'schema': self.schema,
26507            'secret_store_id': self.secret_store_id,
26508            'server_spn': self.server_spn,
26509            'subdomain': self.subdomain,
26510            'tags': self.tags,
26511            'username': self.username,
26512        }
26513
26514    @classmethod
26515    def from_dict(cls, d):
26516        return cls(
26517            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26518            bind_interface=d.get('bind_interface'),
26519            database=d.get('database'),
26520            egress_filter=d.get('egress_filter'),
26521            healthy=d.get('healthy'),
26522            hostname=d.get('hostname'),
26523            id=d.get('id'),
26524            keytab=d.get('keytab'),
26525            krb_config=d.get('krb_config'),
26526            name=d.get('name'),
26527            override_database=d.get('override_database'),
26528            port=d.get('port'),
26529            port_override=d.get('port_override'),
26530            proxy_cluster_id=d.get('proxy_cluster_id'),
26531            realm=d.get('realm'),
26532            schema=d.get('schema'),
26533            secret_store_id=d.get('secret_store_id'),
26534            server_spn=d.get('server_spn'),
26535            subdomain=d.get('subdomain'),
26536            tags=d.get('tags'),
26537            username=d.get('username'),
26538        )
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)
26354    def __init__(
26355        self,
26356        allow_deprecated_encryption=None,
26357        bind_interface=None,
26358        database=None,
26359        egress_filter=None,
26360        healthy=None,
26361        hostname=None,
26362        id=None,
26363        keytab=None,
26364        krb_config=None,
26365        name=None,
26366        override_database=None,
26367        port=None,
26368        port_override=None,
26369        proxy_cluster_id=None,
26370        realm=None,
26371        schema=None,
26372        secret_store_id=None,
26373        server_spn=None,
26374        subdomain=None,
26375        tags=None,
26376        username=None,
26377    ):
26378        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
26379        '''
26380         Whether to allow deprecated encryption protocols to be used for this resource. For example,
26381         TLS 1.0.
26382        '''
26383        self.bind_interface = bind_interface if bind_interface is not None else ''
26384        '''
26385         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26386        '''
26387        self.database = database if database is not None else ''
26388        '''
26389         The database for healthchecks, and used for clients if Override Default Database is true.
26390        '''
26391        self.egress_filter = egress_filter if egress_filter is not None else ''
26392        '''
26393         A filter applied to the routing logic to pin datasource to nodes.
26394        '''
26395        self.healthy = healthy if healthy is not None else False
26396        '''
26397         True if the datasource is reachable and the credentials are valid.
26398        '''
26399        self.hostname = hostname if hostname is not None else ''
26400        '''
26401         The host to dial to initiate a connection from the egress node to this resource.
26402        '''
26403        self.id = id if id is not None else ''
26404        '''
26405         Unique identifier of the Resource.
26406        '''
26407        self.keytab = keytab if keytab is not None else ''
26408        '''
26409         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
26410        '''
26411        self.krb_config = krb_config if krb_config is not None else ''
26412        '''
26413         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
26414        '''
26415        self.name = name if name is not None else ''
26416        '''
26417         Unique human-readable name of the Resource.
26418        '''
26419        self.override_database = override_database if override_database is not None else False
26420        '''
26421         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.
26422        '''
26423        self.port = port if port is not None else 0
26424        '''
26425         The port to dial to initiate a connection from the egress node to this resource.
26426        '''
26427        self.port_override = port_override if port_override is not None else 0
26428        '''
26429         The local port used by clients to connect to this resource.
26430        '''
26431        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26432        '''
26433         ID of the proxy cluster for this resource, if any.
26434        '''
26435        self.realm = realm if realm is not None else ''
26436        '''
26437         The Active Directory domain (realm) to which the configured username belongs.
26438        '''
26439        self.schema = schema if schema is not None else ''
26440        '''
26441         The Schema to use to direct initial requests.
26442        '''
26443        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26444        '''
26445         ID of the secret store containing credentials for this resource, if any.
26446        '''
26447        self.server_spn = server_spn if server_spn is not None else ''
26448        '''
26449         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
26450        '''
26451        self.subdomain = subdomain if subdomain is not None else ''
26452        '''
26453         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26454        '''
26455        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26456        '''
26457         Tags is a map of key, value pairs.
26458        '''
26459        self.username = username if username is not None else ''
26460        '''
26461         The username to authenticate with.
26462        '''
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)
26489    def to_dict(self):
26490        return {
26491            'allow_deprecated_encryption': self.allow_deprecated_encryption,
26492            'bind_interface': self.bind_interface,
26493            'database': self.database,
26494            'egress_filter': self.egress_filter,
26495            'healthy': self.healthy,
26496            'hostname': self.hostname,
26497            'id': self.id,
26498            'keytab': self.keytab,
26499            'krb_config': self.krb_config,
26500            'name': self.name,
26501            'override_database': self.override_database,
26502            'port': self.port,
26503            'port_override': self.port_override,
26504            'proxy_cluster_id': self.proxy_cluster_id,
26505            'realm': self.realm,
26506            'schema': self.schema,
26507            'secret_store_id': self.secret_store_id,
26508            'server_spn': self.server_spn,
26509            'subdomain': self.subdomain,
26510            'tags': self.tags,
26511            'username': self.username,
26512        }
@classmethod
def from_dict(cls, d)
26514    @classmethod
26515    def from_dict(cls, d):
26516        return cls(
26517            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
26518            bind_interface=d.get('bind_interface'),
26519            database=d.get('database'),
26520            egress_filter=d.get('egress_filter'),
26521            healthy=d.get('healthy'),
26522            hostname=d.get('hostname'),
26523            id=d.get('id'),
26524            keytab=d.get('keytab'),
26525            krb_config=d.get('krb_config'),
26526            name=d.get('name'),
26527            override_database=d.get('override_database'),
26528            port=d.get('port'),
26529            port_override=d.get('port_override'),
26530            proxy_cluster_id=d.get('proxy_cluster_id'),
26531            realm=d.get('realm'),
26532            schema=d.get('schema'),
26533            secret_store_id=d.get('secret_store_id'),
26534            server_spn=d.get('server_spn'),
26535            subdomain=d.get('subdomain'),
26536            tags=d.get('tags'),
26537            username=d.get('username'),
26538        )
class SSH:
26541class SSH:
26542    __slots__ = [
26543        'allow_deprecated_key_exchanges',
26544        'bind_interface',
26545        'egress_filter',
26546        'healthy',
26547        'hostname',
26548        'id',
26549        'key_type',
26550        'name',
26551        'port',
26552        'port_forwarding',
26553        'port_override',
26554        'proxy_cluster_id',
26555        'public_key',
26556        'secret_store_id',
26557        'subdomain',
26558        'tags',
26559        'username',
26560    ]
26561
26562    def __init__(
26563        self,
26564        allow_deprecated_key_exchanges=None,
26565        bind_interface=None,
26566        egress_filter=None,
26567        healthy=None,
26568        hostname=None,
26569        id=None,
26570        key_type=None,
26571        name=None,
26572        port=None,
26573        port_forwarding=None,
26574        port_override=None,
26575        proxy_cluster_id=None,
26576        public_key=None,
26577        secret_store_id=None,
26578        subdomain=None,
26579        tags=None,
26580        username=None,
26581    ):
26582        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26583        '''
26584         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26585        '''
26586        self.bind_interface = bind_interface if bind_interface is not None else ''
26587        '''
26588         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26589        '''
26590        self.egress_filter = egress_filter if egress_filter is not None else ''
26591        '''
26592         A filter applied to the routing logic to pin datasource to nodes.
26593        '''
26594        self.healthy = healthy if healthy is not None else False
26595        '''
26596         True if the datasource is reachable and the credentials are valid.
26597        '''
26598        self.hostname = hostname if hostname is not None else ''
26599        '''
26600         The host to dial to initiate a connection from the egress node to this resource.
26601        '''
26602        self.id = id if id is not None else ''
26603        '''
26604         Unique identifier of the Resource.
26605        '''
26606        self.key_type = key_type if key_type is not None else ''
26607        '''
26608         The key type to use e.g. rsa-2048 or ed25519
26609        '''
26610        self.name = name if name is not None else ''
26611        '''
26612         Unique human-readable name of the Resource.
26613        '''
26614        self.port = port if port is not None else 0
26615        '''
26616         The port to dial to initiate a connection from the egress node to this resource.
26617        '''
26618        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26619        '''
26620         Whether port forwarding is allowed through this server.
26621        '''
26622        self.port_override = port_override if port_override is not None else 0
26623        '''
26624         The local port used by clients to connect to this resource.
26625        '''
26626        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26627        '''
26628         ID of the proxy cluster for this resource, if any.
26629        '''
26630        self.public_key = public_key if public_key is not None else ''
26631        '''
26632         The public key to append to a server's authorized keys. This will be generated after resource creation.
26633        '''
26634        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26635        '''
26636         ID of the secret store containing credentials for this resource, if any.
26637        '''
26638        self.subdomain = subdomain if subdomain is not None else ''
26639        '''
26640         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26641        '''
26642        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26643        '''
26644         Tags is a map of key, value pairs.
26645        '''
26646        self.username = username if username is not None else ''
26647        '''
26648         The username to authenticate with.
26649        '''
26650
26651    def __repr__(self):
26652        return '<sdm.SSH ' + \
26653            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26654            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26655            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26656            'healthy: ' + repr(self.healthy) + ' ' +\
26657            'hostname: ' + repr(self.hostname) + ' ' +\
26658            'id: ' + repr(self.id) + ' ' +\
26659            'key_type: ' + repr(self.key_type) + ' ' +\
26660            'name: ' + repr(self.name) + ' ' +\
26661            'port: ' + repr(self.port) + ' ' +\
26662            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26663            'port_override: ' + repr(self.port_override) + ' ' +\
26664            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26665            'public_key: ' + repr(self.public_key) + ' ' +\
26666            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26667            'subdomain: ' + repr(self.subdomain) + ' ' +\
26668            'tags: ' + repr(self.tags) + ' ' +\
26669            'username: ' + repr(self.username) + ' ' +\
26670            '>'
26671
26672    def to_dict(self):
26673        return {
26674            'allow_deprecated_key_exchanges':
26675            self.allow_deprecated_key_exchanges,
26676            'bind_interface': self.bind_interface,
26677            'egress_filter': self.egress_filter,
26678            'healthy': self.healthy,
26679            'hostname': self.hostname,
26680            'id': self.id,
26681            'key_type': self.key_type,
26682            'name': self.name,
26683            'port': self.port,
26684            'port_forwarding': self.port_forwarding,
26685            'port_override': self.port_override,
26686            'proxy_cluster_id': self.proxy_cluster_id,
26687            'public_key': self.public_key,
26688            'secret_store_id': self.secret_store_id,
26689            'subdomain': self.subdomain,
26690            'tags': self.tags,
26691            'username': self.username,
26692        }
26693
26694    @classmethod
26695    def from_dict(cls, d):
26696        return cls(
26697            allow_deprecated_key_exchanges=d.get(
26698                'allow_deprecated_key_exchanges'),
26699            bind_interface=d.get('bind_interface'),
26700            egress_filter=d.get('egress_filter'),
26701            healthy=d.get('healthy'),
26702            hostname=d.get('hostname'),
26703            id=d.get('id'),
26704            key_type=d.get('key_type'),
26705            name=d.get('name'),
26706            port=d.get('port'),
26707            port_forwarding=d.get('port_forwarding'),
26708            port_override=d.get('port_override'),
26709            proxy_cluster_id=d.get('proxy_cluster_id'),
26710            public_key=d.get('public_key'),
26711            secret_store_id=d.get('secret_store_id'),
26712            subdomain=d.get('subdomain'),
26713            tags=d.get('tags'),
26714            username=d.get('username'),
26715        )
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)
26562    def __init__(
26563        self,
26564        allow_deprecated_key_exchanges=None,
26565        bind_interface=None,
26566        egress_filter=None,
26567        healthy=None,
26568        hostname=None,
26569        id=None,
26570        key_type=None,
26571        name=None,
26572        port=None,
26573        port_forwarding=None,
26574        port_override=None,
26575        proxy_cluster_id=None,
26576        public_key=None,
26577        secret_store_id=None,
26578        subdomain=None,
26579        tags=None,
26580        username=None,
26581    ):
26582        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26583        '''
26584         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26585        '''
26586        self.bind_interface = bind_interface if bind_interface is not None else ''
26587        '''
26588         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26589        '''
26590        self.egress_filter = egress_filter if egress_filter is not None else ''
26591        '''
26592         A filter applied to the routing logic to pin datasource to nodes.
26593        '''
26594        self.healthy = healthy if healthy is not None else False
26595        '''
26596         True if the datasource is reachable and the credentials are valid.
26597        '''
26598        self.hostname = hostname if hostname is not None else ''
26599        '''
26600         The host to dial to initiate a connection from the egress node to this resource.
26601        '''
26602        self.id = id if id is not None else ''
26603        '''
26604         Unique identifier of the Resource.
26605        '''
26606        self.key_type = key_type if key_type is not None else ''
26607        '''
26608         The key type to use e.g. rsa-2048 or ed25519
26609        '''
26610        self.name = name if name is not None else ''
26611        '''
26612         Unique human-readable name of the Resource.
26613        '''
26614        self.port = port if port is not None else 0
26615        '''
26616         The port to dial to initiate a connection from the egress node to this resource.
26617        '''
26618        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26619        '''
26620         Whether port forwarding is allowed through this server.
26621        '''
26622        self.port_override = port_override if port_override is not None else 0
26623        '''
26624         The local port used by clients to connect to this resource.
26625        '''
26626        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26627        '''
26628         ID of the proxy cluster for this resource, if any.
26629        '''
26630        self.public_key = public_key if public_key is not None else ''
26631        '''
26632         The public key to append to a server's authorized keys. This will be generated after resource creation.
26633        '''
26634        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26635        '''
26636         ID of the secret store containing credentials for this resource, if any.
26637        '''
26638        self.subdomain = subdomain if subdomain is not None else ''
26639        '''
26640         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26641        '''
26642        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26643        '''
26644         Tags is a map of key, value pairs.
26645        '''
26646        self.username = username if username is not None else ''
26647        '''
26648         The username to authenticate with.
26649        '''
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)
26672    def to_dict(self):
26673        return {
26674            'allow_deprecated_key_exchanges':
26675            self.allow_deprecated_key_exchanges,
26676            'bind_interface': self.bind_interface,
26677            'egress_filter': self.egress_filter,
26678            'healthy': self.healthy,
26679            'hostname': self.hostname,
26680            'id': self.id,
26681            'key_type': self.key_type,
26682            'name': self.name,
26683            'port': self.port,
26684            'port_forwarding': self.port_forwarding,
26685            'port_override': self.port_override,
26686            'proxy_cluster_id': self.proxy_cluster_id,
26687            'public_key': self.public_key,
26688            'secret_store_id': self.secret_store_id,
26689            'subdomain': self.subdomain,
26690            'tags': self.tags,
26691            'username': self.username,
26692        }
@classmethod
def from_dict(cls, d)
26694    @classmethod
26695    def from_dict(cls, d):
26696        return cls(
26697            allow_deprecated_key_exchanges=d.get(
26698                'allow_deprecated_key_exchanges'),
26699            bind_interface=d.get('bind_interface'),
26700            egress_filter=d.get('egress_filter'),
26701            healthy=d.get('healthy'),
26702            hostname=d.get('hostname'),
26703            id=d.get('id'),
26704            key_type=d.get('key_type'),
26705            name=d.get('name'),
26706            port=d.get('port'),
26707            port_forwarding=d.get('port_forwarding'),
26708            port_override=d.get('port_override'),
26709            proxy_cluster_id=d.get('proxy_cluster_id'),
26710            public_key=d.get('public_key'),
26711            secret_store_id=d.get('secret_store_id'),
26712            subdomain=d.get('subdomain'),
26713            tags=d.get('tags'),
26714            username=d.get('username'),
26715        )
class SSHCert:
26718class SSHCert:
26719    __slots__ = [
26720        'allow_deprecated_key_exchanges',
26721        'bind_interface',
26722        'egress_filter',
26723        'healthy',
26724        'hostname',
26725        'id',
26726        'identity_alias_healthcheck_username',
26727        'identity_set_id',
26728        'key_type',
26729        'name',
26730        'port',
26731        'port_forwarding',
26732        'port_override',
26733        'proxy_cluster_id',
26734        'secret_store_id',
26735        'subdomain',
26736        'tags',
26737        'username',
26738    ]
26739
26740    def __init__(
26741        self,
26742        allow_deprecated_key_exchanges=None,
26743        bind_interface=None,
26744        egress_filter=None,
26745        healthy=None,
26746        hostname=None,
26747        id=None,
26748        identity_alias_healthcheck_username=None,
26749        identity_set_id=None,
26750        key_type=None,
26751        name=None,
26752        port=None,
26753        port_forwarding=None,
26754        port_override=None,
26755        proxy_cluster_id=None,
26756        secret_store_id=None,
26757        subdomain=None,
26758        tags=None,
26759        username=None,
26760    ):
26761        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26762        '''
26763         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26764        '''
26765        self.bind_interface = bind_interface if bind_interface is not None else ''
26766        '''
26767         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26768        '''
26769        self.egress_filter = egress_filter if egress_filter is not None else ''
26770        '''
26771         A filter applied to the routing logic to pin datasource to nodes.
26772        '''
26773        self.healthy = healthy if healthy is not None else False
26774        '''
26775         True if the datasource is reachable and the credentials are valid.
26776        '''
26777        self.hostname = hostname if hostname is not None else ''
26778        '''
26779         The host to dial to initiate a connection from the egress node to this resource.
26780        '''
26781        self.id = id if id is not None else ''
26782        '''
26783         Unique identifier of the Resource.
26784        '''
26785        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26786        '''
26787         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26788        '''
26789        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26790        '''
26791         The ID of the identity set to use for identity connections.
26792        '''
26793        self.key_type = key_type if key_type is not None else ''
26794        '''
26795         The key type to use e.g. rsa-2048 or ed25519
26796        '''
26797        self.name = name if name is not None else ''
26798        '''
26799         Unique human-readable name of the Resource.
26800        '''
26801        self.port = port if port is not None else 0
26802        '''
26803         The port to dial to initiate a connection from the egress node to this resource.
26804        '''
26805        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26806        '''
26807         Whether port forwarding is allowed through this server.
26808        '''
26809        self.port_override = port_override if port_override is not None else 0
26810        '''
26811         The local port used by clients to connect to this resource.
26812        '''
26813        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26814        '''
26815         ID of the proxy cluster for this resource, if any.
26816        '''
26817        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26818        '''
26819         ID of the secret store containing credentials for this resource, if any.
26820        '''
26821        self.subdomain = subdomain if subdomain is not None else ''
26822        '''
26823         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26824        '''
26825        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26826        '''
26827         Tags is a map of key, value pairs.
26828        '''
26829        self.username = username if username is not None else ''
26830        '''
26831         The username to authenticate with.
26832        '''
26833
26834    def __repr__(self):
26835        return '<sdm.SSHCert ' + \
26836            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
26837            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26838            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26839            'healthy: ' + repr(self.healthy) + ' ' +\
26840            'hostname: ' + repr(self.hostname) + ' ' +\
26841            'id: ' + repr(self.id) + ' ' +\
26842            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
26843            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
26844            'key_type: ' + repr(self.key_type) + ' ' +\
26845            'name: ' + repr(self.name) + ' ' +\
26846            'port: ' + repr(self.port) + ' ' +\
26847            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
26848            'port_override: ' + repr(self.port_override) + ' ' +\
26849            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26850            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26851            'subdomain: ' + repr(self.subdomain) + ' ' +\
26852            'tags: ' + repr(self.tags) + ' ' +\
26853            'username: ' + repr(self.username) + ' ' +\
26854            '>'
26855
26856    def to_dict(self):
26857        return {
26858            'allow_deprecated_key_exchanges':
26859            self.allow_deprecated_key_exchanges,
26860            'bind_interface': self.bind_interface,
26861            'egress_filter': self.egress_filter,
26862            'healthy': self.healthy,
26863            'hostname': self.hostname,
26864            'id': self.id,
26865            'identity_alias_healthcheck_username':
26866            self.identity_alias_healthcheck_username,
26867            'identity_set_id': self.identity_set_id,
26868            'key_type': self.key_type,
26869            'name': self.name,
26870            'port': self.port,
26871            'port_forwarding': self.port_forwarding,
26872            'port_override': self.port_override,
26873            'proxy_cluster_id': self.proxy_cluster_id,
26874            'secret_store_id': self.secret_store_id,
26875            'subdomain': self.subdomain,
26876            'tags': self.tags,
26877            'username': self.username,
26878        }
26879
26880    @classmethod
26881    def from_dict(cls, d):
26882        return cls(
26883            allow_deprecated_key_exchanges=d.get(
26884                'allow_deprecated_key_exchanges'),
26885            bind_interface=d.get('bind_interface'),
26886            egress_filter=d.get('egress_filter'),
26887            healthy=d.get('healthy'),
26888            hostname=d.get('hostname'),
26889            id=d.get('id'),
26890            identity_alias_healthcheck_username=d.get(
26891                'identity_alias_healthcheck_username'),
26892            identity_set_id=d.get('identity_set_id'),
26893            key_type=d.get('key_type'),
26894            name=d.get('name'),
26895            port=d.get('port'),
26896            port_forwarding=d.get('port_forwarding'),
26897            port_override=d.get('port_override'),
26898            proxy_cluster_id=d.get('proxy_cluster_id'),
26899            secret_store_id=d.get('secret_store_id'),
26900            subdomain=d.get('subdomain'),
26901            tags=d.get('tags'),
26902            username=d.get('username'),
26903        )
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)
26740    def __init__(
26741        self,
26742        allow_deprecated_key_exchanges=None,
26743        bind_interface=None,
26744        egress_filter=None,
26745        healthy=None,
26746        hostname=None,
26747        id=None,
26748        identity_alias_healthcheck_username=None,
26749        identity_set_id=None,
26750        key_type=None,
26751        name=None,
26752        port=None,
26753        port_forwarding=None,
26754        port_override=None,
26755        proxy_cluster_id=None,
26756        secret_store_id=None,
26757        subdomain=None,
26758        tags=None,
26759        username=None,
26760    ):
26761        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26762        '''
26763         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26764        '''
26765        self.bind_interface = bind_interface if bind_interface is not None else ''
26766        '''
26767         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26768        '''
26769        self.egress_filter = egress_filter if egress_filter is not None else ''
26770        '''
26771         A filter applied to the routing logic to pin datasource to nodes.
26772        '''
26773        self.healthy = healthy if healthy is not None else False
26774        '''
26775         True if the datasource is reachable and the credentials are valid.
26776        '''
26777        self.hostname = hostname if hostname is not None else ''
26778        '''
26779         The host to dial to initiate a connection from the egress node to this resource.
26780        '''
26781        self.id = id if id is not None else ''
26782        '''
26783         Unique identifier of the Resource.
26784        '''
26785        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26786        '''
26787         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26788        '''
26789        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26790        '''
26791         The ID of the identity set to use for identity connections.
26792        '''
26793        self.key_type = key_type if key_type is not None else ''
26794        '''
26795         The key type to use e.g. rsa-2048 or ed25519
26796        '''
26797        self.name = name if name is not None else ''
26798        '''
26799         Unique human-readable name of the Resource.
26800        '''
26801        self.port = port if port is not None else 0
26802        '''
26803         The port to dial to initiate a connection from the egress node to this resource.
26804        '''
26805        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26806        '''
26807         Whether port forwarding is allowed through this server.
26808        '''
26809        self.port_override = port_override if port_override is not None else 0
26810        '''
26811         The local port used by clients to connect to this resource.
26812        '''
26813        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26814        '''
26815         ID of the proxy cluster for this resource, if any.
26816        '''
26817        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26818        '''
26819         ID of the secret store containing credentials for this resource, if any.
26820        '''
26821        self.subdomain = subdomain if subdomain is not None else ''
26822        '''
26823         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
26824        '''
26825        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26826        '''
26827         Tags is a map of key, value pairs.
26828        '''
26829        self.username = username if username is not None else ''
26830        '''
26831         The username to authenticate with.
26832        '''
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)
26856    def to_dict(self):
26857        return {
26858            'allow_deprecated_key_exchanges':
26859            self.allow_deprecated_key_exchanges,
26860            'bind_interface': self.bind_interface,
26861            'egress_filter': self.egress_filter,
26862            'healthy': self.healthy,
26863            'hostname': self.hostname,
26864            'id': self.id,
26865            'identity_alias_healthcheck_username':
26866            self.identity_alias_healthcheck_username,
26867            'identity_set_id': self.identity_set_id,
26868            'key_type': self.key_type,
26869            'name': self.name,
26870            'port': self.port,
26871            'port_forwarding': self.port_forwarding,
26872            'port_override': self.port_override,
26873            'proxy_cluster_id': self.proxy_cluster_id,
26874            'secret_store_id': self.secret_store_id,
26875            'subdomain': self.subdomain,
26876            'tags': self.tags,
26877            'username': self.username,
26878        }
@classmethod
def from_dict(cls, d)
26880    @classmethod
26881    def from_dict(cls, d):
26882        return cls(
26883            allow_deprecated_key_exchanges=d.get(
26884                'allow_deprecated_key_exchanges'),
26885            bind_interface=d.get('bind_interface'),
26886            egress_filter=d.get('egress_filter'),
26887            healthy=d.get('healthy'),
26888            hostname=d.get('hostname'),
26889            id=d.get('id'),
26890            identity_alias_healthcheck_username=d.get(
26891                'identity_alias_healthcheck_username'),
26892            identity_set_id=d.get('identity_set_id'),
26893            key_type=d.get('key_type'),
26894            name=d.get('name'),
26895            port=d.get('port'),
26896            port_forwarding=d.get('port_forwarding'),
26897            port_override=d.get('port_override'),
26898            proxy_cluster_id=d.get('proxy_cluster_id'),
26899            secret_store_id=d.get('secret_store_id'),
26900            subdomain=d.get('subdomain'),
26901            tags=d.get('tags'),
26902            username=d.get('username'),
26903        )
class SSHCustomerKey:
26906class SSHCustomerKey:
26907    __slots__ = [
26908        'allow_deprecated_key_exchanges',
26909        'bind_interface',
26910        'egress_filter',
26911        'healthy',
26912        'hostname',
26913        'id',
26914        'identity_alias_healthcheck_username',
26915        'identity_set_id',
26916        'name',
26917        'port',
26918        'port_forwarding',
26919        'port_override',
26920        'private_key',
26921        'proxy_cluster_id',
26922        'secret_store_id',
26923        'subdomain',
26924        'tags',
26925        'username',
26926    ]
26927
26928    def __init__(
26929        self,
26930        allow_deprecated_key_exchanges=None,
26931        bind_interface=None,
26932        egress_filter=None,
26933        healthy=None,
26934        hostname=None,
26935        id=None,
26936        identity_alias_healthcheck_username=None,
26937        identity_set_id=None,
26938        name=None,
26939        port=None,
26940        port_forwarding=None,
26941        port_override=None,
26942        private_key=None,
26943        proxy_cluster_id=None,
26944        secret_store_id=None,
26945        subdomain=None,
26946        tags=None,
26947        username=None,
26948    ):
26949        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26950        '''
26951         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26952        '''
26953        self.bind_interface = bind_interface if bind_interface is not None else ''
26954        '''
26955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26956        '''
26957        self.egress_filter = egress_filter if egress_filter is not None else ''
26958        '''
26959         A filter applied to the routing logic to pin datasource to nodes.
26960        '''
26961        self.healthy = healthy if healthy is not None else False
26962        '''
26963         True if the datasource is reachable and the credentials are valid.
26964        '''
26965        self.hostname = hostname if hostname is not None else ''
26966        '''
26967         The host to dial to initiate a connection from the egress node to this resource.
26968        '''
26969        self.id = id if id is not None else ''
26970        '''
26971         Unique identifier of the Resource.
26972        '''
26973        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26974        '''
26975         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26976        '''
26977        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26978        '''
26979         The ID of the identity set to use for identity connections.
26980        '''
26981        self.name = name if name is not None else ''
26982        '''
26983         Unique human-readable name of the Resource.
26984        '''
26985        self.port = port if port is not None else 0
26986        '''
26987         The port to dial to initiate a connection from the egress node to this resource.
26988        '''
26989        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26990        '''
26991         Whether port forwarding is allowed through this server.
26992        '''
26993        self.port_override = port_override if port_override is not None else 0
26994        '''
26995         The local port used by clients to connect to this resource.
26996        '''
26997        self.private_key = private_key if private_key is not None else ''
26998        '''
26999         The private key used to authenticate with the server.
27000        '''
27001        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27002        '''
27003         ID of the proxy cluster for this resource, if any.
27004        '''
27005        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27006        '''
27007         ID of the secret store containing credentials for this resource, if any.
27008        '''
27009        self.subdomain = subdomain if subdomain is not None else ''
27010        '''
27011         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27012        '''
27013        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27014        '''
27015         Tags is a map of key, value pairs.
27016        '''
27017        self.username = username if username is not None else ''
27018        '''
27019         The username to authenticate with.
27020        '''
27021
27022    def __repr__(self):
27023        return '<sdm.SSHCustomerKey ' + \
27024            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27025            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27026            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27027            'healthy: ' + repr(self.healthy) + ' ' +\
27028            'hostname: ' + repr(self.hostname) + ' ' +\
27029            'id: ' + repr(self.id) + ' ' +\
27030            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
27031            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
27032            'name: ' + repr(self.name) + ' ' +\
27033            'port: ' + repr(self.port) + ' ' +\
27034            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27035            'port_override: ' + repr(self.port_override) + ' ' +\
27036            'private_key: ' + repr(self.private_key) + ' ' +\
27037            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27038            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27039            'subdomain: ' + repr(self.subdomain) + ' ' +\
27040            'tags: ' + repr(self.tags) + ' ' +\
27041            'username: ' + repr(self.username) + ' ' +\
27042            '>'
27043
27044    def to_dict(self):
27045        return {
27046            'allow_deprecated_key_exchanges':
27047            self.allow_deprecated_key_exchanges,
27048            'bind_interface': self.bind_interface,
27049            'egress_filter': self.egress_filter,
27050            'healthy': self.healthy,
27051            'hostname': self.hostname,
27052            'id': self.id,
27053            'identity_alias_healthcheck_username':
27054            self.identity_alias_healthcheck_username,
27055            'identity_set_id': self.identity_set_id,
27056            'name': self.name,
27057            'port': self.port,
27058            'port_forwarding': self.port_forwarding,
27059            'port_override': self.port_override,
27060            'private_key': self.private_key,
27061            'proxy_cluster_id': self.proxy_cluster_id,
27062            'secret_store_id': self.secret_store_id,
27063            'subdomain': self.subdomain,
27064            'tags': self.tags,
27065            'username': self.username,
27066        }
27067
27068    @classmethod
27069    def from_dict(cls, d):
27070        return cls(
27071            allow_deprecated_key_exchanges=d.get(
27072                'allow_deprecated_key_exchanges'),
27073            bind_interface=d.get('bind_interface'),
27074            egress_filter=d.get('egress_filter'),
27075            healthy=d.get('healthy'),
27076            hostname=d.get('hostname'),
27077            id=d.get('id'),
27078            identity_alias_healthcheck_username=d.get(
27079                'identity_alias_healthcheck_username'),
27080            identity_set_id=d.get('identity_set_id'),
27081            name=d.get('name'),
27082            port=d.get('port'),
27083            port_forwarding=d.get('port_forwarding'),
27084            port_override=d.get('port_override'),
27085            private_key=d.get('private_key'),
27086            proxy_cluster_id=d.get('proxy_cluster_id'),
27087            secret_store_id=d.get('secret_store_id'),
27088            subdomain=d.get('subdomain'),
27089            tags=d.get('tags'),
27090            username=d.get('username'),
27091        )
SSHCustomerKey( allow_deprecated_key_exchanges=None, bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port=None, port_forwarding=None, port_override=None, private_key=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
26928    def __init__(
26929        self,
26930        allow_deprecated_key_exchanges=None,
26931        bind_interface=None,
26932        egress_filter=None,
26933        healthy=None,
26934        hostname=None,
26935        id=None,
26936        identity_alias_healthcheck_username=None,
26937        identity_set_id=None,
26938        name=None,
26939        port=None,
26940        port_forwarding=None,
26941        port_override=None,
26942        private_key=None,
26943        proxy_cluster_id=None,
26944        secret_store_id=None,
26945        subdomain=None,
26946        tags=None,
26947        username=None,
26948    ):
26949        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
26950        '''
26951         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
26952        '''
26953        self.bind_interface = bind_interface if bind_interface is not None else ''
26954        '''
26955         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
26956        '''
26957        self.egress_filter = egress_filter if egress_filter is not None else ''
26958        '''
26959         A filter applied to the routing logic to pin datasource to nodes.
26960        '''
26961        self.healthy = healthy if healthy is not None else False
26962        '''
26963         True if the datasource is reachable and the credentials are valid.
26964        '''
26965        self.hostname = hostname if hostname is not None else ''
26966        '''
26967         The host to dial to initiate a connection from the egress node to this resource.
26968        '''
26969        self.id = id if id is not None else ''
26970        '''
26971         Unique identifier of the Resource.
26972        '''
26973        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
26974        '''
26975         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
26976        '''
26977        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
26978        '''
26979         The ID of the identity set to use for identity connections.
26980        '''
26981        self.name = name if name is not None else ''
26982        '''
26983         Unique human-readable name of the Resource.
26984        '''
26985        self.port = port if port is not None else 0
26986        '''
26987         The port to dial to initiate a connection from the egress node to this resource.
26988        '''
26989        self.port_forwarding = port_forwarding if port_forwarding is not None else False
26990        '''
26991         Whether port forwarding is allowed through this server.
26992        '''
26993        self.port_override = port_override if port_override is not None else 0
26994        '''
26995         The local port used by clients to connect to this resource.
26996        '''
26997        self.private_key = private_key if private_key is not None else ''
26998        '''
26999         The private key used to authenticate with the server.
27000        '''
27001        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27002        '''
27003         ID of the proxy cluster for this resource, if any.
27004        '''
27005        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27006        '''
27007         ID of the secret store containing credentials for this resource, if any.
27008        '''
27009        self.subdomain = subdomain if subdomain is not None else ''
27010        '''
27011         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27012        '''
27013        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27014        '''
27015         Tags is a map of key, value pairs.
27016        '''
27017        self.username = username if username is not None else ''
27018        '''
27019         The username to authenticate with.
27020        '''
allow_deprecated_key_exchanges

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.

bind_interface

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port

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

port_forwarding

Whether port forwarding is allowed through this server.

port_override

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

private_key

The private key used to authenticate with the server.

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
27044    def to_dict(self):
27045        return {
27046            'allow_deprecated_key_exchanges':
27047            self.allow_deprecated_key_exchanges,
27048            'bind_interface': self.bind_interface,
27049            'egress_filter': self.egress_filter,
27050            'healthy': self.healthy,
27051            'hostname': self.hostname,
27052            'id': self.id,
27053            'identity_alias_healthcheck_username':
27054            self.identity_alias_healthcheck_username,
27055            'identity_set_id': self.identity_set_id,
27056            'name': self.name,
27057            'port': self.port,
27058            'port_forwarding': self.port_forwarding,
27059            'port_override': self.port_override,
27060            'private_key': self.private_key,
27061            'proxy_cluster_id': self.proxy_cluster_id,
27062            'secret_store_id': self.secret_store_id,
27063            'subdomain': self.subdomain,
27064            'tags': self.tags,
27065            'username': self.username,
27066        }
@classmethod
def from_dict(cls, d)
27068    @classmethod
27069    def from_dict(cls, d):
27070        return cls(
27071            allow_deprecated_key_exchanges=d.get(
27072                'allow_deprecated_key_exchanges'),
27073            bind_interface=d.get('bind_interface'),
27074            egress_filter=d.get('egress_filter'),
27075            healthy=d.get('healthy'),
27076            hostname=d.get('hostname'),
27077            id=d.get('id'),
27078            identity_alias_healthcheck_username=d.get(
27079                'identity_alias_healthcheck_username'),
27080            identity_set_id=d.get('identity_set_id'),
27081            name=d.get('name'),
27082            port=d.get('port'),
27083            port_forwarding=d.get('port_forwarding'),
27084            port_override=d.get('port_override'),
27085            private_key=d.get('private_key'),
27086            proxy_cluster_id=d.get('proxy_cluster_id'),
27087            secret_store_id=d.get('secret_store_id'),
27088            subdomain=d.get('subdomain'),
27089            tags=d.get('tags'),
27090            username=d.get('username'),
27091        )
class SSHPassword:
27094class SSHPassword:
27095    __slots__ = [
27096        'allow_deprecated_key_exchanges',
27097        'bind_interface',
27098        'egress_filter',
27099        'healthy',
27100        'hostname',
27101        'id',
27102        'name',
27103        'password',
27104        'port',
27105        'port_forwarding',
27106        'port_override',
27107        'proxy_cluster_id',
27108        'secret_store_id',
27109        'subdomain',
27110        'tags',
27111        'username',
27112    ]
27113
27114    def __init__(
27115        self,
27116        allow_deprecated_key_exchanges=None,
27117        bind_interface=None,
27118        egress_filter=None,
27119        healthy=None,
27120        hostname=None,
27121        id=None,
27122        name=None,
27123        password=None,
27124        port=None,
27125        port_forwarding=None,
27126        port_override=None,
27127        proxy_cluster_id=None,
27128        secret_store_id=None,
27129        subdomain=None,
27130        tags=None,
27131        username=None,
27132    ):
27133        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27134        '''
27135         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27136        '''
27137        self.bind_interface = bind_interface if bind_interface is not None else ''
27138        '''
27139         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27140        '''
27141        self.egress_filter = egress_filter if egress_filter is not None else ''
27142        '''
27143         A filter applied to the routing logic to pin datasource to nodes.
27144        '''
27145        self.healthy = healthy if healthy is not None else False
27146        '''
27147         True if the datasource is reachable and the credentials are valid.
27148        '''
27149        self.hostname = hostname if hostname is not None else ''
27150        '''
27151         The host to dial to initiate a connection from the egress node to this resource.
27152        '''
27153        self.id = id if id is not None else ''
27154        '''
27155         Unique identifier of the Resource.
27156        '''
27157        self.name = name if name is not None else ''
27158        '''
27159         Unique human-readable name of the Resource.
27160        '''
27161        self.password = password if password is not None else ''
27162        '''
27163         The password to authenticate with.
27164        '''
27165        self.port = port if port is not None else 0
27166        '''
27167         The port to dial to initiate a connection from the egress node to this resource.
27168        '''
27169        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27170        '''
27171         Whether port forwarding is allowed through this server.
27172        '''
27173        self.port_override = port_override if port_override is not None else 0
27174        '''
27175         The local port used by clients to connect to this resource.
27176        '''
27177        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27178        '''
27179         ID of the proxy cluster for this resource, if any.
27180        '''
27181        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27182        '''
27183         ID of the secret store containing credentials for this resource, if any.
27184        '''
27185        self.subdomain = subdomain if subdomain is not None else ''
27186        '''
27187         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27188        '''
27189        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27190        '''
27191         Tags is a map of key, value pairs.
27192        '''
27193        self.username = username if username is not None else ''
27194        '''
27195         The username to authenticate with.
27196        '''
27197
27198    def __repr__(self):
27199        return '<sdm.SSHPassword ' + \
27200            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
27201            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
27202            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
27203            'healthy: ' + repr(self.healthy) + ' ' +\
27204            'hostname: ' + repr(self.hostname) + ' ' +\
27205            'id: ' + repr(self.id) + ' ' +\
27206            'name: ' + repr(self.name) + ' ' +\
27207            'password: ' + repr(self.password) + ' ' +\
27208            'port: ' + repr(self.port) + ' ' +\
27209            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
27210            'port_override: ' + repr(self.port_override) + ' ' +\
27211            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
27212            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
27213            'subdomain: ' + repr(self.subdomain) + ' ' +\
27214            'tags: ' + repr(self.tags) + ' ' +\
27215            'username: ' + repr(self.username) + ' ' +\
27216            '>'
27217
27218    def to_dict(self):
27219        return {
27220            'allow_deprecated_key_exchanges':
27221            self.allow_deprecated_key_exchanges,
27222            'bind_interface': self.bind_interface,
27223            'egress_filter': self.egress_filter,
27224            'healthy': self.healthy,
27225            'hostname': self.hostname,
27226            'id': self.id,
27227            'name': self.name,
27228            'password': self.password,
27229            'port': self.port,
27230            'port_forwarding': self.port_forwarding,
27231            'port_override': self.port_override,
27232            'proxy_cluster_id': self.proxy_cluster_id,
27233            'secret_store_id': self.secret_store_id,
27234            'subdomain': self.subdomain,
27235            'tags': self.tags,
27236            'username': self.username,
27237        }
27238
27239    @classmethod
27240    def from_dict(cls, d):
27241        return cls(
27242            allow_deprecated_key_exchanges=d.get(
27243                'allow_deprecated_key_exchanges'),
27244            bind_interface=d.get('bind_interface'),
27245            egress_filter=d.get('egress_filter'),
27246            healthy=d.get('healthy'),
27247            hostname=d.get('hostname'),
27248            id=d.get('id'),
27249            name=d.get('name'),
27250            password=d.get('password'),
27251            port=d.get('port'),
27252            port_forwarding=d.get('port_forwarding'),
27253            port_override=d.get('port_override'),
27254            proxy_cluster_id=d.get('proxy_cluster_id'),
27255            secret_store_id=d.get('secret_store_id'),
27256            subdomain=d.get('subdomain'),
27257            tags=d.get('tags'),
27258            username=d.get('username'),
27259        )
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)
27114    def __init__(
27115        self,
27116        allow_deprecated_key_exchanges=None,
27117        bind_interface=None,
27118        egress_filter=None,
27119        healthy=None,
27120        hostname=None,
27121        id=None,
27122        name=None,
27123        password=None,
27124        port=None,
27125        port_forwarding=None,
27126        port_override=None,
27127        proxy_cluster_id=None,
27128        secret_store_id=None,
27129        subdomain=None,
27130        tags=None,
27131        username=None,
27132    ):
27133        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
27134        '''
27135         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
27136        '''
27137        self.bind_interface = bind_interface if bind_interface is not None else ''
27138        '''
27139         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
27140        '''
27141        self.egress_filter = egress_filter if egress_filter is not None else ''
27142        '''
27143         A filter applied to the routing logic to pin datasource to nodes.
27144        '''
27145        self.healthy = healthy if healthy is not None else False
27146        '''
27147         True if the datasource is reachable and the credentials are valid.
27148        '''
27149        self.hostname = hostname if hostname is not None else ''
27150        '''
27151         The host to dial to initiate a connection from the egress node to this resource.
27152        '''
27153        self.id = id if id is not None else ''
27154        '''
27155         Unique identifier of the Resource.
27156        '''
27157        self.name = name if name is not None else ''
27158        '''
27159         Unique human-readable name of the Resource.
27160        '''
27161        self.password = password if password is not None else ''
27162        '''
27163         The password to authenticate with.
27164        '''
27165        self.port = port if port is not None else 0
27166        '''
27167         The port to dial to initiate a connection from the egress node to this resource.
27168        '''
27169        self.port_forwarding = port_forwarding if port_forwarding is not None else False
27170        '''
27171         Whether port forwarding is allowed through this server.
27172        '''
27173        self.port_override = port_override if port_override is not None else 0
27174        '''
27175         The local port used by clients to connect to this resource.
27176        '''
27177        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
27178        '''
27179         ID of the proxy cluster for this resource, if any.
27180        '''
27181        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
27182        '''
27183         ID of the secret store containing credentials for this resource, if any.
27184        '''
27185        self.subdomain = subdomain if subdomain is not None else ''
27186        '''
27187         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
27188        '''
27189        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27190        '''
27191         Tags is a map of key, value pairs.
27192        '''
27193        self.username = username if username is not None else ''
27194        '''
27195         The username to authenticate with.
27196        '''
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)
27218    def to_dict(self):
27219        return {
27220            'allow_deprecated_key_exchanges':
27221            self.allow_deprecated_key_exchanges,
27222            'bind_interface': self.bind_interface,
27223            'egress_filter': self.egress_filter,
27224            'healthy': self.healthy,
27225            'hostname': self.hostname,
27226            'id': self.id,
27227            'name': self.name,
27228            'password': self.password,
27229            'port': self.port,
27230            'port_forwarding': self.port_forwarding,
27231            'port_override': self.port_override,
27232            'proxy_cluster_id': self.proxy_cluster_id,
27233            'secret_store_id': self.secret_store_id,
27234            'subdomain': self.subdomain,
27235            'tags': self.tags,
27236            'username': self.username,
27237        }
@classmethod
def from_dict(cls, d)
27239    @classmethod
27240    def from_dict(cls, d):
27241        return cls(
27242            allow_deprecated_key_exchanges=d.get(
27243                'allow_deprecated_key_exchanges'),
27244            bind_interface=d.get('bind_interface'),
27245            egress_filter=d.get('egress_filter'),
27246            healthy=d.get('healthy'),
27247            hostname=d.get('hostname'),
27248            id=d.get('id'),
27249            name=d.get('name'),
27250            password=d.get('password'),
27251            port=d.get('port'),
27252            port_forwarding=d.get('port_forwarding'),
27253            port_override=d.get('port_override'),
27254            proxy_cluster_id=d.get('proxy_cluster_id'),
27255            secret_store_id=d.get('secret_store_id'),
27256            subdomain=d.get('subdomain'),
27257            tags=d.get('tags'),
27258            username=d.get('username'),
27259        )
class SecretEngineCreateRequest:
27262class SecretEngineCreateRequest:
27263    '''
27264         SecretEngineCreateRequest specifies a Secret Engine to create.
27265    '''
27266    __slots__ = [
27267        'secret_engine',
27268    ]
27269
27270    def __init__(
27271        self,
27272        secret_engine=None,
27273    ):
27274        self.secret_engine = secret_engine if secret_engine is not None else None
27275        '''
27276         Parameters to define the new Secret Engine.
27277        '''
27278
27279    def __repr__(self):
27280        return '<sdm.SecretEngineCreateRequest ' + \
27281            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27282            '>'
27283
27284    def to_dict(self):
27285        return {
27286            'secret_engine': self.secret_engine,
27287        }
27288
27289    @classmethod
27290    def from_dict(cls, d):
27291        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
27270    def __init__(
27271        self,
27272        secret_engine=None,
27273    ):
27274        self.secret_engine = secret_engine if secret_engine is not None else None
27275        '''
27276         Parameters to define the new Secret Engine.
27277        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
27284    def to_dict(self):
27285        return {
27286            'secret_engine': self.secret_engine,
27287        }
@classmethod
def from_dict(cls, d)
27289    @classmethod
27290    def from_dict(cls, d):
27291        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
27294class SecretEngineCreateResponse:
27295    '''
27296         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
27297    '''
27298    __slots__ = [
27299        'meta',
27300        'rate_limit',
27301        'secret_engine',
27302    ]
27303
27304    def __init__(
27305        self,
27306        meta=None,
27307        rate_limit=None,
27308        secret_engine=None,
27309    ):
27310        self.meta = meta if meta is not None else None
27311        '''
27312         Reserved for future use.
27313        '''
27314        self.rate_limit = rate_limit if rate_limit is not None else None
27315        '''
27316         Rate limit information.
27317        '''
27318        self.secret_engine = secret_engine if secret_engine is not None else None
27319        '''
27320         The requested Secret Engine.
27321        '''
27322
27323    def __repr__(self):
27324        return '<sdm.SecretEngineCreateResponse ' + \
27325            'meta: ' + repr(self.meta) + ' ' +\
27326            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27327            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27328            '>'
27329
27330    def to_dict(self):
27331        return {
27332            'meta': self.meta,
27333            'rate_limit': self.rate_limit,
27334            'secret_engine': self.secret_engine,
27335        }
27336
27337    @classmethod
27338    def from_dict(cls, d):
27339        return cls(
27340            meta=d.get('meta'),
27341            rate_limit=d.get('rate_limit'),
27342            secret_engine=d.get('secret_engine'),
27343        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
27304    def __init__(
27305        self,
27306        meta=None,
27307        rate_limit=None,
27308        secret_engine=None,
27309    ):
27310        self.meta = meta if meta is not None else None
27311        '''
27312         Reserved for future use.
27313        '''
27314        self.rate_limit = rate_limit if rate_limit is not None else None
27315        '''
27316         Rate limit information.
27317        '''
27318        self.secret_engine = secret_engine if secret_engine is not None else None
27319        '''
27320         The requested Secret Engine.
27321        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27330    def to_dict(self):
27331        return {
27332            'meta': self.meta,
27333            'rate_limit': self.rate_limit,
27334            'secret_engine': self.secret_engine,
27335        }
@classmethod
def from_dict(cls, d)
27337    @classmethod
27338    def from_dict(cls, d):
27339        return cls(
27340            meta=d.get('meta'),
27341            rate_limit=d.get('rate_limit'),
27342            secret_engine=d.get('secret_engine'),
27343        )
class SecretEngineDeleteRequest:
27346class SecretEngineDeleteRequest:
27347    '''
27348         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
27349    '''
27350    __slots__ = [
27351        'id',
27352    ]
27353
27354    def __init__(
27355        self,
27356        id=None,
27357    ):
27358        self.id = id if id is not None else ''
27359        '''
27360         The unique identifier of the Secret Engine to delete.
27361        '''
27362
27363    def __repr__(self):
27364        return '<sdm.SecretEngineDeleteRequest ' + \
27365            'id: ' + repr(self.id) + ' ' +\
27366            '>'
27367
27368    def to_dict(self):
27369        return {
27370            'id': self.id,
27371        }
27372
27373    @classmethod
27374    def from_dict(cls, d):
27375        return cls(id=d.get('id'), )

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

SecretEngineDeleteRequest(id=None)
27354    def __init__(
27355        self,
27356        id=None,
27357    ):
27358        self.id = id if id is not None else ''
27359        '''
27360         The unique identifier of the Secret Engine to delete.
27361        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
27368    def to_dict(self):
27369        return {
27370            'id': self.id,
27371        }
@classmethod
def from_dict(cls, d)
27373    @classmethod
27374    def from_dict(cls, d):
27375        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
27378class SecretEngineDeleteResponse:
27379    '''
27380         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
27381    '''
27382    __slots__ = [
27383        'rate_limit',
27384    ]
27385
27386    def __init__(
27387        self,
27388        rate_limit=None,
27389    ):
27390        self.rate_limit = rate_limit if rate_limit is not None else None
27391        '''
27392         Rate limit information.
27393        '''
27394
27395    def __repr__(self):
27396        return '<sdm.SecretEngineDeleteResponse ' + \
27397            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27398            '>'
27399
27400    def to_dict(self):
27401        return {
27402            'rate_limit': self.rate_limit,
27403        }
27404
27405    @classmethod
27406    def from_dict(cls, d):
27407        return cls(rate_limit=d.get('rate_limit'), )

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

SecretEngineDeleteResponse(rate_limit=None)
27386    def __init__(
27387        self,
27388        rate_limit=None,
27389    ):
27390        self.rate_limit = rate_limit if rate_limit is not None else None
27391        '''
27392         Rate limit information.
27393        '''
rate_limit

Rate limit information.

def to_dict(self)
27400    def to_dict(self):
27401        return {
27402            'rate_limit': self.rate_limit,
27403        }
@classmethod
def from_dict(cls, d)
27405    @classmethod
27406    def from_dict(cls, d):
27407        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
27410class SecretEngineGetRequest:
27411    '''
27412         SecretEngineGetRequest specifies which Secret Engine to retrieve
27413    '''
27414    __slots__ = [
27415        'id',
27416    ]
27417
27418    def __init__(
27419        self,
27420        id=None,
27421    ):
27422        self.id = id if id is not None else ''
27423        '''
27424         The unique identifier of the Secret Engine to retrieve.
27425        '''
27426
27427    def __repr__(self):
27428        return '<sdm.SecretEngineGetRequest ' + \
27429            'id: ' + repr(self.id) + ' ' +\
27430            '>'
27431
27432    def to_dict(self):
27433        return {
27434            'id': self.id,
27435        }
27436
27437    @classmethod
27438    def from_dict(cls, d):
27439        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
27418    def __init__(
27419        self,
27420        id=None,
27421    ):
27422        self.id = id if id is not None else ''
27423        '''
27424         The unique identifier of the Secret Engine to retrieve.
27425        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
27432    def to_dict(self):
27433        return {
27434            'id': self.id,
27435        }
@classmethod
def from_dict(cls, d)
27437    @classmethod
27438    def from_dict(cls, d):
27439        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
27442class SecretEngineGetResponse:
27443    '''
27444         SecretEngineGetResponse contains information about requested Secret Engine
27445    '''
27446    __slots__ = [
27447        'meta',
27448        'rate_limit',
27449        'secret_engine',
27450    ]
27451
27452    def __init__(
27453        self,
27454        meta=None,
27455        rate_limit=None,
27456        secret_engine=None,
27457    ):
27458        self.meta = meta if meta is not None else None
27459        '''
27460         Reserved for future use.
27461        '''
27462        self.rate_limit = rate_limit if rate_limit is not None else None
27463        '''
27464         Rate limit information.
27465        '''
27466        self.secret_engine = secret_engine if secret_engine is not None else None
27467        '''
27468         The requested Secret Engine.
27469        '''
27470
27471    def __repr__(self):
27472        return '<sdm.SecretEngineGetResponse ' + \
27473            'meta: ' + repr(self.meta) + ' ' +\
27474            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27475            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27476            '>'
27477
27478    def to_dict(self):
27479        return {
27480            'meta': self.meta,
27481            'rate_limit': self.rate_limit,
27482            'secret_engine': self.secret_engine,
27483        }
27484
27485    @classmethod
27486    def from_dict(cls, d):
27487        return cls(
27488            meta=d.get('meta'),
27489            rate_limit=d.get('rate_limit'),
27490            secret_engine=d.get('secret_engine'),
27491        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
27452    def __init__(
27453        self,
27454        meta=None,
27455        rate_limit=None,
27456        secret_engine=None,
27457    ):
27458        self.meta = meta if meta is not None else None
27459        '''
27460         Reserved for future use.
27461        '''
27462        self.rate_limit = rate_limit if rate_limit is not None else None
27463        '''
27464         Rate limit information.
27465        '''
27466        self.secret_engine = secret_engine if secret_engine is not None else None
27467        '''
27468         The requested Secret Engine.
27469        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27478    def to_dict(self):
27479        return {
27480            'meta': self.meta,
27481            'rate_limit': self.rate_limit,
27482            'secret_engine': self.secret_engine,
27483        }
@classmethod
def from_dict(cls, d)
27485    @classmethod
27486    def from_dict(cls, d):
27487        return cls(
27488            meta=d.get('meta'),
27489            rate_limit=d.get('rate_limit'),
27490            secret_engine=d.get('secret_engine'),
27491        )
class SecretEngineListRequest:
27494class SecretEngineListRequest:
27495    '''
27496         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
27497    '''
27498    __slots__ = [
27499        'filter',
27500    ]
27501
27502    def __init__(
27503        self,
27504        filter=None,
27505    ):
27506        self.filter = filter if filter is not None else ''
27507        '''
27508         A human-readable filter query string.
27509        '''
27510
27511    def __repr__(self):
27512        return '<sdm.SecretEngineListRequest ' + \
27513            'filter: ' + repr(self.filter) + ' ' +\
27514            '>'
27515
27516    def to_dict(self):
27517        return {
27518            'filter': self.filter,
27519        }
27520
27521    @classmethod
27522    def from_dict(cls, d):
27523        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
27502    def __init__(
27503        self,
27504        filter=None,
27505    ):
27506        self.filter = filter if filter is not None else ''
27507        '''
27508         A human-readable filter query string.
27509        '''
filter

A human-readable filter query string.

def to_dict(self)
27516    def to_dict(self):
27517        return {
27518            'filter': self.filter,
27519        }
@classmethod
def from_dict(cls, d)
27521    @classmethod
27522    def from_dict(cls, d):
27523        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
27526class SecretEngineListResponse:
27527    '''
27528         SecretEngineListResponse contains a list of requested Secret Engine
27529    '''
27530    __slots__ = [
27531        'rate_limit',
27532    ]
27533
27534    def __init__(
27535        self,
27536        rate_limit=None,
27537    ):
27538        self.rate_limit = rate_limit if rate_limit is not None else None
27539        '''
27540         Rate limit information.
27541        '''
27542
27543    def __repr__(self):
27544        return '<sdm.SecretEngineListResponse ' + \
27545            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27546            '>'
27547
27548    def to_dict(self):
27549        return {
27550            'rate_limit': self.rate_limit,
27551        }
27552
27553    @classmethod
27554    def from_dict(cls, d):
27555        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
27534    def __init__(
27535        self,
27536        rate_limit=None,
27537    ):
27538        self.rate_limit = rate_limit if rate_limit is not None else None
27539        '''
27540         Rate limit information.
27541        '''
rate_limit

Rate limit information.

def to_dict(self)
27548    def to_dict(self):
27549        return {
27550            'rate_limit': self.rate_limit,
27551        }
@classmethod
def from_dict(cls, d)
27553    @classmethod
27554    def from_dict(cls, d):
27555        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
27558class SecretEnginePasswordPolicy:
27559    __slots__ = [
27560        'allow_repeat',
27561        'exclude_characters',
27562        'exclude_upper_case',
27563        'length',
27564        'num_digits',
27565        'num_symbols',
27566    ]
27567
27568    def __init__(
27569        self,
27570        allow_repeat=None,
27571        exclude_characters=None,
27572        exclude_upper_case=None,
27573        length=None,
27574        num_digits=None,
27575        num_symbols=None,
27576    ):
27577        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27578        '''
27579         If set to true allows for consecutive characters to repeat itself
27580        '''
27581        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27582        '''
27583         Characters to exclude when generating password
27584        '''
27585        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27586        '''
27587         If set to true do not include upper case letters when generating password
27588        '''
27589        self.length = length if length is not None else 0
27590        '''
27591         Password length.
27592        '''
27593        self.num_digits = num_digits if num_digits is not None else 0
27594        '''
27595         Numbers of digits to use when generating password
27596        '''
27597        self.num_symbols = num_symbols if num_symbols is not None else 0
27598        '''
27599         Number of symbols to use when generating password
27600        '''
27601
27602    def __repr__(self):
27603        return '<sdm.SecretEnginePasswordPolicy ' + \
27604            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
27605            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
27606            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
27607            'length: ' + repr(self.length) + ' ' +\
27608            'num_digits: ' + repr(self.num_digits) + ' ' +\
27609            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
27610            '>'
27611
27612    def to_dict(self):
27613        return {
27614            'allow_repeat': self.allow_repeat,
27615            'exclude_characters': self.exclude_characters,
27616            'exclude_upper_case': self.exclude_upper_case,
27617            'length': self.length,
27618            'num_digits': self.num_digits,
27619            'num_symbols': self.num_symbols,
27620        }
27621
27622    @classmethod
27623    def from_dict(cls, d):
27624        return cls(
27625            allow_repeat=d.get('allow_repeat'),
27626            exclude_characters=d.get('exclude_characters'),
27627            exclude_upper_case=d.get('exclude_upper_case'),
27628            length=d.get('length'),
27629            num_digits=d.get('num_digits'),
27630            num_symbols=d.get('num_symbols'),
27631        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
27568    def __init__(
27569        self,
27570        allow_repeat=None,
27571        exclude_characters=None,
27572        exclude_upper_case=None,
27573        length=None,
27574        num_digits=None,
27575        num_symbols=None,
27576    ):
27577        self.allow_repeat = allow_repeat if allow_repeat is not None else False
27578        '''
27579         If set to true allows for consecutive characters to repeat itself
27580        '''
27581        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
27582        '''
27583         Characters to exclude when generating password
27584        '''
27585        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
27586        '''
27587         If set to true do not include upper case letters when generating password
27588        '''
27589        self.length = length if length is not None else 0
27590        '''
27591         Password length.
27592        '''
27593        self.num_digits = num_digits if num_digits is not None else 0
27594        '''
27595         Numbers of digits to use when generating password
27596        '''
27597        self.num_symbols = num_symbols if num_symbols is not None else 0
27598        '''
27599         Number of symbols to use when generating password
27600        '''
allow_repeat

If set to true allows for consecutive characters to repeat itself

exclude_characters

Characters to exclude when generating password

exclude_upper_case

If set to true do not include upper case letters when generating password

length

Password length.

num_digits

Numbers of digits to use when generating password

num_symbols

Number of symbols to use when generating password

def to_dict(self)
27612    def to_dict(self):
27613        return {
27614            'allow_repeat': self.allow_repeat,
27615            'exclude_characters': self.exclude_characters,
27616            'exclude_upper_case': self.exclude_upper_case,
27617            'length': self.length,
27618            'num_digits': self.num_digits,
27619            'num_symbols': self.num_symbols,
27620        }
@classmethod
def from_dict(cls, d)
27622    @classmethod
27623    def from_dict(cls, d):
27624        return cls(
27625            allow_repeat=d.get('allow_repeat'),
27626            exclude_characters=d.get('exclude_characters'),
27627            exclude_upper_case=d.get('exclude_upper_case'),
27628            length=d.get('length'),
27629            num_digits=d.get('num_digits'),
27630            num_symbols=d.get('num_symbols'),
27631        )
class SecretEnginePolicy:
27634class SecretEnginePolicy:
27635    __slots__ = [
27636        'password_policy',
27637    ]
27638
27639    def __init__(
27640        self,
27641        password_policy=None,
27642    ):
27643        self.password_policy = password_policy if password_policy is not None else None
27644        '''
27645         Policy for password
27646        '''
27647
27648    def __repr__(self):
27649        return '<sdm.SecretEnginePolicy ' + \
27650            'password_policy: ' + repr(self.password_policy) + ' ' +\
27651            '>'
27652
27653    def to_dict(self):
27654        return {
27655            'password_policy': self.password_policy,
27656        }
27657
27658    @classmethod
27659    def from_dict(cls, d):
27660        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
27639    def __init__(
27640        self,
27641        password_policy=None,
27642    ):
27643        self.password_policy = password_policy if password_policy is not None else None
27644        '''
27645         Policy for password
27646        '''
password_policy

Policy for password

def to_dict(self)
27653    def to_dict(self):
27654        return {
27655            'password_policy': self.password_policy,
27656        }
@classmethod
def from_dict(cls, d)
27658    @classmethod
27659    def from_dict(cls, d):
27660        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
27663class SecretEngineRotateRequest:
27664    __slots__ = [
27665        'id',
27666        'password_policy',
27667    ]
27668
27669    def __init__(
27670        self,
27671        id=None,
27672        password_policy=None,
27673    ):
27674        self.id = id if id is not None else ''
27675        '''
27676         The unique identifier of the Secret Engine to rotate credentials for.
27677        '''
27678        self.password_policy = password_policy if password_policy is not None else None
27679        '''
27680         Optional password policy to use when generating a password
27681         If not provided it will use secret engine's password_policy
27682        '''
27683
27684    def __repr__(self):
27685        return '<sdm.SecretEngineRotateRequest ' + \
27686            'id: ' + repr(self.id) + ' ' +\
27687            'password_policy: ' + repr(self.password_policy) + ' ' +\
27688            '>'
27689
27690    def to_dict(self):
27691        return {
27692            'id': self.id,
27693            'password_policy': self.password_policy,
27694        }
27695
27696    @classmethod
27697    def from_dict(cls, d):
27698        return cls(
27699            id=d.get('id'),
27700            password_policy=d.get('password_policy'),
27701        )
SecretEngineRotateRequest(id=None, password_policy=None)
27669    def __init__(
27670        self,
27671        id=None,
27672        password_policy=None,
27673    ):
27674        self.id = id if id is not None else ''
27675        '''
27676         The unique identifier of the Secret Engine to rotate credentials for.
27677        '''
27678        self.password_policy = password_policy if password_policy is not None else None
27679        '''
27680         Optional password policy to use when generating a password
27681         If not provided it will use secret engine's password_policy
27682        '''
id

The unique identifier of the Secret Engine to rotate credentials for.

password_policy

Optional password policy to use when generating a password If not provided it will use secret engine's password_policy

def to_dict(self)
27690    def to_dict(self):
27691        return {
27692            'id': self.id,
27693            'password_policy': self.password_policy,
27694        }
@classmethod
def from_dict(cls, d)
27696    @classmethod
27697    def from_dict(cls, d):
27698        return cls(
27699            id=d.get('id'),
27700            password_policy=d.get('password_policy'),
27701        )
class SecretEngineRotateResponse:
27704class SecretEngineRotateResponse:
27705    __slots__ = [
27706        'rate_limit',
27707    ]
27708
27709    def __init__(
27710        self,
27711        rate_limit=None,
27712    ):
27713        self.rate_limit = rate_limit if rate_limit is not None else None
27714        '''
27715         Rate limit information.
27716        '''
27717
27718    def __repr__(self):
27719        return '<sdm.SecretEngineRotateResponse ' + \
27720            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27721            '>'
27722
27723    def to_dict(self):
27724        return {
27725            'rate_limit': self.rate_limit,
27726        }
27727
27728    @classmethod
27729    def from_dict(cls, d):
27730        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
27709    def __init__(
27710        self,
27711        rate_limit=None,
27712    ):
27713        self.rate_limit = rate_limit if rate_limit is not None else None
27714        '''
27715         Rate limit information.
27716        '''
rate_limit

Rate limit information.

def to_dict(self)
27723    def to_dict(self):
27724        return {
27725            'rate_limit': self.rate_limit,
27726        }
@classmethod
def from_dict(cls, d)
27728    @classmethod
27729    def from_dict(cls, d):
27730        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
27733class SecretEngineUpdateRequest:
27734    '''
27735         SecretEngineUpdateRequest specifies secret engine to update
27736    '''
27737    __slots__ = [
27738        'secret_engine',
27739    ]
27740
27741    def __init__(
27742        self,
27743        secret_engine=None,
27744    ):
27745        self.secret_engine = secret_engine if secret_engine is not None else None
27746        '''
27747         Secret engine to update
27748        '''
27749
27750    def __repr__(self):
27751        return '<sdm.SecretEngineUpdateRequest ' + \
27752            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
27753            '>'
27754
27755    def to_dict(self):
27756        return {
27757            'secret_engine': self.secret_engine,
27758        }
27759
27760    @classmethod
27761    def from_dict(cls, d):
27762        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
27741    def __init__(
27742        self,
27743        secret_engine=None,
27744    ):
27745        self.secret_engine = secret_engine if secret_engine is not None else None
27746        '''
27747         Secret engine to update
27748        '''
secret_engine

Secret engine to update

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

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

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

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
27801    def to_dict(self):
27802        return {
27803            'meta': self.meta,
27804            'rate_limit': self.rate_limit,
27805            'secret_engine': self.secret_engine,
27806        }
@classmethod
def from_dict(cls, d)
27808    @classmethod
27809    def from_dict(cls, d):
27810        return cls(
27811            meta=d.get('meta'),
27812            rate_limit=d.get('rate_limit'),
27813            secret_engine=d.get('secret_engine'),
27814        )
class SecretStoreCreateResponse:
27817class SecretStoreCreateResponse:
27818    '''
27819         SecretStoreCreateResponse reports how the SecretStores were created in the system.
27820    '''
27821    __slots__ = [
27822        'meta',
27823        'rate_limit',
27824        'secret_store',
27825    ]
27826
27827    def __init__(
27828        self,
27829        meta=None,
27830        rate_limit=None,
27831        secret_store=None,
27832    ):
27833        self.meta = meta if meta is not None else None
27834        '''
27835         Reserved for future use.
27836        '''
27837        self.rate_limit = rate_limit if rate_limit is not None else None
27838        '''
27839         Rate limit information.
27840        '''
27841        self.secret_store = secret_store if secret_store is not None else None
27842        '''
27843         The created SecretStore.
27844        '''
27845
27846    def __repr__(self):
27847        return '<sdm.SecretStoreCreateResponse ' + \
27848            'meta: ' + repr(self.meta) + ' ' +\
27849            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27850            'secret_store: ' + repr(self.secret_store) + ' ' +\
27851            '>'
27852
27853    def to_dict(self):
27854        return {
27855            'meta': self.meta,
27856            'rate_limit': self.rate_limit,
27857            'secret_store': self.secret_store,
27858        }
27859
27860    @classmethod
27861    def from_dict(cls, d):
27862        return cls(
27863            meta=d.get('meta'),
27864            rate_limit=d.get('rate_limit'),
27865            secret_store=d.get('secret_store'),
27866        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
27827    def __init__(
27828        self,
27829        meta=None,
27830        rate_limit=None,
27831        secret_store=None,
27832    ):
27833        self.meta = meta if meta is not None else None
27834        '''
27835         Reserved for future use.
27836        '''
27837        self.rate_limit = rate_limit if rate_limit is not None else None
27838        '''
27839         Rate limit information.
27840        '''
27841        self.secret_store = secret_store if secret_store is not None else None
27842        '''
27843         The created SecretStore.
27844        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
27853    def to_dict(self):
27854        return {
27855            'meta': self.meta,
27856            'rate_limit': self.rate_limit,
27857            'secret_store': self.secret_store,
27858        }
@classmethod
def from_dict(cls, d)
27860    @classmethod
27861    def from_dict(cls, d):
27862        return cls(
27863            meta=d.get('meta'),
27864            rate_limit=d.get('rate_limit'),
27865            secret_store=d.get('secret_store'),
27866        )
class SecretStoreDeleteResponse:
27869class SecretStoreDeleteResponse:
27870    '''
27871         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
27872    '''
27873    __slots__ = [
27874        'meta',
27875        'rate_limit',
27876    ]
27877
27878    def __init__(
27879        self,
27880        meta=None,
27881        rate_limit=None,
27882    ):
27883        self.meta = meta if meta is not None else None
27884        '''
27885         Reserved for future use.
27886        '''
27887        self.rate_limit = rate_limit if rate_limit is not None else None
27888        '''
27889         Rate limit information.
27890        '''
27891
27892    def __repr__(self):
27893        return '<sdm.SecretStoreDeleteResponse ' + \
27894            'meta: ' + repr(self.meta) + ' ' +\
27895            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27896            '>'
27897
27898    def to_dict(self):
27899        return {
27900            'meta': self.meta,
27901            'rate_limit': self.rate_limit,
27902        }
27903
27904    @classmethod
27905    def from_dict(cls, d):
27906        return cls(
27907            meta=d.get('meta'),
27908            rate_limit=d.get('rate_limit'),
27909        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
27878    def __init__(
27879        self,
27880        meta=None,
27881        rate_limit=None,
27882    ):
27883        self.meta = meta if meta is not None else None
27884        '''
27885         Reserved for future use.
27886        '''
27887        self.rate_limit = rate_limit if rate_limit is not None else None
27888        '''
27889         Rate limit information.
27890        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27898    def to_dict(self):
27899        return {
27900            'meta': self.meta,
27901            'rate_limit': self.rate_limit,
27902        }
@classmethod
def from_dict(cls, d)
27904    @classmethod
27905    def from_dict(cls, d):
27906        return cls(
27907            meta=d.get('meta'),
27908            rate_limit=d.get('rate_limit'),
27909        )
class SecretStoreGetResponse:
27912class SecretStoreGetResponse:
27913    '''
27914         SecretStoreGetResponse returns a requested SecretStore.
27915    '''
27916    __slots__ = [
27917        'meta',
27918        'rate_limit',
27919        'secret_store',
27920    ]
27921
27922    def __init__(
27923        self,
27924        meta=None,
27925        rate_limit=None,
27926        secret_store=None,
27927    ):
27928        self.meta = meta if meta is not None else None
27929        '''
27930         Reserved for future use.
27931        '''
27932        self.rate_limit = rate_limit if rate_limit is not None else None
27933        '''
27934         Rate limit information.
27935        '''
27936        self.secret_store = secret_store if secret_store is not None else None
27937        '''
27938         The requested SecretStore.
27939        '''
27940
27941    def __repr__(self):
27942        return '<sdm.SecretStoreGetResponse ' + \
27943            'meta: ' + repr(self.meta) + ' ' +\
27944            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27945            'secret_store: ' + repr(self.secret_store) + ' ' +\
27946            '>'
27947
27948    def to_dict(self):
27949        return {
27950            'meta': self.meta,
27951            'rate_limit': self.rate_limit,
27952            'secret_store': self.secret_store,
27953        }
27954
27955    @classmethod
27956    def from_dict(cls, d):
27957        return cls(
27958            meta=d.get('meta'),
27959            rate_limit=d.get('rate_limit'),
27960            secret_store=d.get('secret_store'),
27961        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
27922    def __init__(
27923        self,
27924        meta=None,
27925        rate_limit=None,
27926        secret_store=None,
27927    ):
27928        self.meta = meta if meta is not None else None
27929        '''
27930         Reserved for future use.
27931        '''
27932        self.rate_limit = rate_limit if rate_limit is not None else None
27933        '''
27934         Rate limit information.
27935        '''
27936        self.secret_store = secret_store if secret_store is not None else None
27937        '''
27938         The requested SecretStore.
27939        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
27948    def to_dict(self):
27949        return {
27950            'meta': self.meta,
27951            'rate_limit': self.rate_limit,
27952            'secret_store': self.secret_store,
27953        }
@classmethod
def from_dict(cls, d)
27955    @classmethod
27956    def from_dict(cls, d):
27957        return cls(
27958            meta=d.get('meta'),
27959            rate_limit=d.get('rate_limit'),
27960            secret_store=d.get('secret_store'),
27961        )
class SecretStoreHealth:
27964class SecretStoreHealth:
27965    '''
27966         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
27967     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
27968     or set of nodes.
27969    '''
27970    __slots__ = [
27971        'changed_at',
27972        'checked_at',
27973        'error',
27974        'flags',
27975        'node_id',
27976        'reachability',
27977        'secret_store_id',
27978        'status',
27979    ]
27980
27981    def __init__(
27982        self,
27983        changed_at=None,
27984        checked_at=None,
27985        error=None,
27986        flags=None,
27987        node_id=None,
27988        reachability=None,
27989        secret_store_id=None,
27990        status=None,
27991    ):
27992        self.changed_at = changed_at if changed_at is not None else None
27993        '''
27994         The time when the status last changed
27995        '''
27996        self.checked_at = checked_at if checked_at is not None else None
27997        '''
27998         The time when the status was last checked by the node
27999        '''
28000        self.error = error if error is not None else ''
28001        '''
28002         The error associated with this health check, if it occurred after reachability checks succeeded.
28003        '''
28004        self.flags = flags if flags is not None else []
28005        '''
28006         Any specific status or error flags associated with this health check.
28007        '''
28008        self.node_id = node_id if node_id is not None else ''
28009        '''
28010         Associated node id for this health
28011        '''
28012        self.reachability = reachability if reachability is not None else ''
28013        '''
28014         The error associated with this health check, if it occurred during reachability checks.
28015        '''
28016        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28017        '''
28018         Associated secret store for this health
28019        '''
28020        self.status = status if status is not None else ''
28021        '''
28022         The status of the link between the node and secret store
28023        '''
28024
28025    def __repr__(self):
28026        return '<sdm.SecretStoreHealth ' + \
28027            'changed_at: ' + repr(self.changed_at) + ' ' +\
28028            'checked_at: ' + repr(self.checked_at) + ' ' +\
28029            'error: ' + repr(self.error) + ' ' +\
28030            'flags: ' + repr(self.flags) + ' ' +\
28031            'node_id: ' + repr(self.node_id) + ' ' +\
28032            'reachability: ' + repr(self.reachability) + ' ' +\
28033            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28034            'status: ' + repr(self.status) + ' ' +\
28035            '>'
28036
28037    def to_dict(self):
28038        return {
28039            'changed_at': self.changed_at,
28040            'checked_at': self.checked_at,
28041            'error': self.error,
28042            'flags': self.flags,
28043            'node_id': self.node_id,
28044            'reachability': self.reachability,
28045            'secret_store_id': self.secret_store_id,
28046            'status': self.status,
28047        }
28048
28049    @classmethod
28050    def from_dict(cls, d):
28051        return cls(
28052            changed_at=d.get('changed_at'),
28053            checked_at=d.get('checked_at'),
28054            error=d.get('error'),
28055            flags=d.get('flags'),
28056            node_id=d.get('node_id'),
28057            reachability=d.get('reachability'),
28058            secret_store_id=d.get('secret_store_id'),
28059            status=d.get('status'),
28060        )

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)
27981    def __init__(
27982        self,
27983        changed_at=None,
27984        checked_at=None,
27985        error=None,
27986        flags=None,
27987        node_id=None,
27988        reachability=None,
27989        secret_store_id=None,
27990        status=None,
27991    ):
27992        self.changed_at = changed_at if changed_at is not None else None
27993        '''
27994         The time when the status last changed
27995        '''
27996        self.checked_at = checked_at if checked_at is not None else None
27997        '''
27998         The time when the status was last checked by the node
27999        '''
28000        self.error = error if error is not None else ''
28001        '''
28002         The error associated with this health check, if it occurred after reachability checks succeeded.
28003        '''
28004        self.flags = flags if flags is not None else []
28005        '''
28006         Any specific status or error flags associated with this health check.
28007        '''
28008        self.node_id = node_id if node_id is not None else ''
28009        '''
28010         Associated node id for this health
28011        '''
28012        self.reachability = reachability if reachability is not None else ''
28013        '''
28014         The error associated with this health check, if it occurred during reachability checks.
28015        '''
28016        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28017        '''
28018         Associated secret store for this health
28019        '''
28020        self.status = status if status is not None else ''
28021        '''
28022         The status of the link between the node and secret store
28023        '''
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)
28037    def to_dict(self):
28038        return {
28039            'changed_at': self.changed_at,
28040            'checked_at': self.checked_at,
28041            'error': self.error,
28042            'flags': self.flags,
28043            'node_id': self.node_id,
28044            'reachability': self.reachability,
28045            'secret_store_id': self.secret_store_id,
28046            'status': self.status,
28047        }
@classmethod
def from_dict(cls, d)
28049    @classmethod
28050    def from_dict(cls, d):
28051        return cls(
28052            changed_at=d.get('changed_at'),
28053            checked_at=d.get('checked_at'),
28054            error=d.get('error'),
28055            flags=d.get('flags'),
28056            node_id=d.get('node_id'),
28057            reachability=d.get('reachability'),
28058            secret_store_id=d.get('secret_store_id'),
28059            status=d.get('status'),
28060        )
class SecretStoreHealthListResponse:
28063class SecretStoreHealthListResponse:
28064    __slots__ = [
28065        'rate_limit',
28066    ]
28067
28068    def __init__(
28069        self,
28070        rate_limit=None,
28071    ):
28072        self.rate_limit = rate_limit if rate_limit is not None else None
28073        '''
28074         Rate limit information.
28075        '''
28076
28077    def __repr__(self):
28078        return '<sdm.SecretStoreHealthListResponse ' + \
28079            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28080            '>'
28081
28082    def to_dict(self):
28083        return {
28084            'rate_limit': self.rate_limit,
28085        }
28086
28087    @classmethod
28088    def from_dict(cls, d):
28089        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
28068    def __init__(
28069        self,
28070        rate_limit=None,
28071    ):
28072        self.rate_limit = rate_limit if rate_limit is not None else None
28073        '''
28074         Rate limit information.
28075        '''
rate_limit

Rate limit information.

def to_dict(self)
28082    def to_dict(self):
28083        return {
28084            'rate_limit': self.rate_limit,
28085        }
@classmethod
def from_dict(cls, d)
28087    @classmethod
28088    def from_dict(cls, d):
28089        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
28092class SecretStoreHealthcheckResponse:
28093    __slots__ = [
28094        'rate_limit',
28095    ]
28096
28097    def __init__(
28098        self,
28099        rate_limit=None,
28100    ):
28101        self.rate_limit = rate_limit if rate_limit is not None else None
28102        '''
28103         Rate limit information.
28104        '''
28105
28106    def __repr__(self):
28107        return '<sdm.SecretStoreHealthcheckResponse ' + \
28108            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28109            '>'
28110
28111    def to_dict(self):
28112        return {
28113            'rate_limit': self.rate_limit,
28114        }
28115
28116    @classmethod
28117    def from_dict(cls, d):
28118        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
28097    def __init__(
28098        self,
28099        rate_limit=None,
28100    ):
28101        self.rate_limit = rate_limit if rate_limit is not None else None
28102        '''
28103         Rate limit information.
28104        '''
rate_limit

Rate limit information.

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

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)
28134    def __init__(
28135        self,
28136        activity_id=None,
28137        deleted_at=None,
28138        secret_store=None,
28139        timestamp=None,
28140    ):
28141        self.activity_id = activity_id if activity_id is not None else ''
28142        '''
28143         The unique identifier of the Activity that produced this change to the SecretStore.
28144         May be empty for some system-initiated updates.
28145        '''
28146        self.deleted_at = deleted_at if deleted_at is not None else None
28147        '''
28148         If this SecretStore was deleted, the time it was deleted.
28149        '''
28150        self.secret_store = secret_store if secret_store is not None else None
28151        '''
28152         The complete SecretStore state at this time.
28153        '''
28154        self.timestamp = timestamp if timestamp is not None else None
28155        '''
28156         The time at which the SecretStore state was recorded.
28157        '''
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)
28167    def to_dict(self):
28168        return {
28169            'activity_id': self.activity_id,
28170            'deleted_at': self.deleted_at,
28171            'secret_store': self.secret_store,
28172            'timestamp': self.timestamp,
28173        }
@classmethod
def from_dict(cls, d)
28175    @classmethod
28176    def from_dict(cls, d):
28177        return cls(
28178            activity_id=d.get('activity_id'),
28179            deleted_at=d.get('deleted_at'),
28180            secret_store=d.get('secret_store'),
28181            timestamp=d.get('timestamp'),
28182        )
class SecretStoreUpdateResponse:
28185class SecretStoreUpdateResponse:
28186    '''
28187         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
28188     a SecretStoreUpdateRequest.
28189    '''
28190    __slots__ = [
28191        'meta',
28192        'rate_limit',
28193        'secret_store',
28194    ]
28195
28196    def __init__(
28197        self,
28198        meta=None,
28199        rate_limit=None,
28200        secret_store=None,
28201    ):
28202        self.meta = meta if meta is not None else None
28203        '''
28204         Reserved for future use.
28205        '''
28206        self.rate_limit = rate_limit if rate_limit is not None else None
28207        '''
28208         Rate limit information.
28209        '''
28210        self.secret_store = secret_store if secret_store is not None else None
28211        '''
28212         The updated SecretStore.
28213        '''
28214
28215    def __repr__(self):
28216        return '<sdm.SecretStoreUpdateResponse ' + \
28217            'meta: ' + repr(self.meta) + ' ' +\
28218            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28219            'secret_store: ' + repr(self.secret_store) + ' ' +\
28220            '>'
28221
28222    def to_dict(self):
28223        return {
28224            'meta': self.meta,
28225            'rate_limit': self.rate_limit,
28226            'secret_store': self.secret_store,
28227        }
28228
28229    @classmethod
28230    def from_dict(cls, d):
28231        return cls(
28232            meta=d.get('meta'),
28233            rate_limit=d.get('rate_limit'),
28234            secret_store=d.get('secret_store'),
28235        )

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

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
28196    def __init__(
28197        self,
28198        meta=None,
28199        rate_limit=None,
28200        secret_store=None,
28201    ):
28202        self.meta = meta if meta is not None else None
28203        '''
28204         Reserved for future use.
28205        '''
28206        self.rate_limit = rate_limit if rate_limit is not None else None
28207        '''
28208         Rate limit information.
28209        '''
28210        self.secret_store = secret_store if secret_store is not None else None
28211        '''
28212         The updated SecretStore.
28213        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
28222    def to_dict(self):
28223        return {
28224            'meta': self.meta,
28225            'rate_limit': self.rate_limit,
28226            'secret_store': self.secret_store,
28227        }
@classmethod
def from_dict(cls, d)
28229    @classmethod
28230    def from_dict(cls, d):
28231        return cls(
28232            meta=d.get('meta'),
28233            rate_limit=d.get('rate_limit'),
28234            secret_store=d.get('secret_store'),
28235        )
class Service:
28238class Service:
28239    '''
28240         A Service is a service account that can connect to resources they are granted
28241     directly, or granted via roles. Services are typically automated jobs.
28242    '''
28243    __slots__ = [
28244        'id',
28245        'name',
28246        'suspended',
28247        'tags',
28248    ]
28249
28250    def __init__(
28251        self,
28252        id=None,
28253        name=None,
28254        suspended=None,
28255        tags=None,
28256    ):
28257        self.id = id if id is not None else ''
28258        '''
28259         Unique identifier of the Service.
28260        '''
28261        self.name = name if name is not None else ''
28262        '''
28263         Unique human-readable name of the Service.
28264        '''
28265        self.suspended = suspended if suspended is not None else False
28266        '''
28267         The Service's suspended state.
28268        '''
28269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28270        '''
28271         Tags is a map of key, value pairs.
28272        '''
28273
28274    def __repr__(self):
28275        return '<sdm.Service ' + \
28276            'id: ' + repr(self.id) + ' ' +\
28277            'name: ' + repr(self.name) + ' ' +\
28278            'suspended: ' + repr(self.suspended) + ' ' +\
28279            'tags: ' + repr(self.tags) + ' ' +\
28280            '>'
28281
28282    def to_dict(self):
28283        return {
28284            'id': self.id,
28285            'name': self.name,
28286            'suspended': self.suspended,
28287            'tags': self.tags,
28288        }
28289
28290    @classmethod
28291    def from_dict(cls, d):
28292        return cls(
28293            id=d.get('id'),
28294            name=d.get('name'),
28295            suspended=d.get('suspended'),
28296            tags=d.get('tags'),
28297        )

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)
28250    def __init__(
28251        self,
28252        id=None,
28253        name=None,
28254        suspended=None,
28255        tags=None,
28256    ):
28257        self.id = id if id is not None else ''
28258        '''
28259         Unique identifier of the Service.
28260        '''
28261        self.name = name if name is not None else ''
28262        '''
28263         Unique human-readable name of the Service.
28264        '''
28265        self.suspended = suspended if suspended is not None else False
28266        '''
28267         The Service's suspended state.
28268        '''
28269        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28270        '''
28271         Tags is a map of key, value pairs.
28272        '''
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)
28282    def to_dict(self):
28283        return {
28284            'id': self.id,
28285            'name': self.name,
28286            'suspended': self.suspended,
28287            'tags': self.tags,
28288        }
@classmethod
def from_dict(cls, d)
28290    @classmethod
28291    def from_dict(cls, d):
28292        return cls(
28293            id=d.get('id'),
28294            name=d.get('name'),
28295            suspended=d.get('suspended'),
28296            tags=d.get('tags'),
28297        )
class SingleStore:
28300class SingleStore:
28301    __slots__ = [
28302        'bind_interface',
28303        'database',
28304        'egress_filter',
28305        'healthy',
28306        'hostname',
28307        'id',
28308        'name',
28309        'password',
28310        'port',
28311        'port_override',
28312        'proxy_cluster_id',
28313        'require_native_auth',
28314        'secret_store_id',
28315        'subdomain',
28316        'tags',
28317        'use_azure_single_server_usernames',
28318        'username',
28319    ]
28320
28321    def __init__(
28322        self,
28323        bind_interface=None,
28324        database=None,
28325        egress_filter=None,
28326        healthy=None,
28327        hostname=None,
28328        id=None,
28329        name=None,
28330        password=None,
28331        port=None,
28332        port_override=None,
28333        proxy_cluster_id=None,
28334        require_native_auth=None,
28335        secret_store_id=None,
28336        subdomain=None,
28337        tags=None,
28338        use_azure_single_server_usernames=None,
28339        username=None,
28340    ):
28341        self.bind_interface = bind_interface if bind_interface is not None else ''
28342        '''
28343         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28344        '''
28345        self.database = database if database is not None else ''
28346        '''
28347         The database for healthchecks. Does not affect client requests.
28348        '''
28349        self.egress_filter = egress_filter if egress_filter is not None else ''
28350        '''
28351         A filter applied to the routing logic to pin datasource to nodes.
28352        '''
28353        self.healthy = healthy if healthy is not None else False
28354        '''
28355         True if the datasource is reachable and the credentials are valid.
28356        '''
28357        self.hostname = hostname if hostname is not None else ''
28358        '''
28359         The host to dial to initiate a connection from the egress node to this resource.
28360        '''
28361        self.id = id if id is not None else ''
28362        '''
28363         Unique identifier of the Resource.
28364        '''
28365        self.name = name if name is not None else ''
28366        '''
28367         Unique human-readable name of the Resource.
28368        '''
28369        self.password = password if password is not None else ''
28370        '''
28371         The password to authenticate with.
28372        '''
28373        self.port = port if port is not None else 0
28374        '''
28375         The port to dial to initiate a connection from the egress node to this resource.
28376        '''
28377        self.port_override = port_override if port_override is not None else 0
28378        '''
28379         The local port used by clients to connect to this resource.
28380        '''
28381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28382        '''
28383         ID of the proxy cluster for this resource, if any.
28384        '''
28385        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28386        '''
28387         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28388        '''
28389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28390        '''
28391         ID of the secret store containing credentials for this resource, if any.
28392        '''
28393        self.subdomain = subdomain if subdomain is not None else ''
28394        '''
28395         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28396        '''
28397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28398        '''
28399         Tags is a map of key, value pairs.
28400        '''
28401        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28402        '''
28403         If true, appends the hostname to the username when hitting a database.azure.com address
28404        '''
28405        self.username = username if username is not None else ''
28406        '''
28407         The username to authenticate with.
28408        '''
28409
28410    def __repr__(self):
28411        return '<sdm.SingleStore ' + \
28412            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28413            'database: ' + repr(self.database) + ' ' +\
28414            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28415            'healthy: ' + repr(self.healthy) + ' ' +\
28416            'hostname: ' + repr(self.hostname) + ' ' +\
28417            'id: ' + repr(self.id) + ' ' +\
28418            'name: ' + repr(self.name) + ' ' +\
28419            'password: ' + repr(self.password) + ' ' +\
28420            'port: ' + repr(self.port) + ' ' +\
28421            'port_override: ' + repr(self.port_override) + ' ' +\
28422            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28423            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
28424            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28425            'subdomain: ' + repr(self.subdomain) + ' ' +\
28426            'tags: ' + repr(self.tags) + ' ' +\
28427            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
28428            'username: ' + repr(self.username) + ' ' +\
28429            '>'
28430
28431    def to_dict(self):
28432        return {
28433            'bind_interface': self.bind_interface,
28434            'database': self.database,
28435            'egress_filter': self.egress_filter,
28436            'healthy': self.healthy,
28437            'hostname': self.hostname,
28438            'id': self.id,
28439            'name': self.name,
28440            'password': self.password,
28441            'port': self.port,
28442            'port_override': self.port_override,
28443            'proxy_cluster_id': self.proxy_cluster_id,
28444            'require_native_auth': self.require_native_auth,
28445            'secret_store_id': self.secret_store_id,
28446            'subdomain': self.subdomain,
28447            'tags': self.tags,
28448            'use_azure_single_server_usernames':
28449            self.use_azure_single_server_usernames,
28450            'username': self.username,
28451        }
28452
28453    @classmethod
28454    def from_dict(cls, d):
28455        return cls(
28456            bind_interface=d.get('bind_interface'),
28457            database=d.get('database'),
28458            egress_filter=d.get('egress_filter'),
28459            healthy=d.get('healthy'),
28460            hostname=d.get('hostname'),
28461            id=d.get('id'),
28462            name=d.get('name'),
28463            password=d.get('password'),
28464            port=d.get('port'),
28465            port_override=d.get('port_override'),
28466            proxy_cluster_id=d.get('proxy_cluster_id'),
28467            require_native_auth=d.get('require_native_auth'),
28468            secret_store_id=d.get('secret_store_id'),
28469            subdomain=d.get('subdomain'),
28470            tags=d.get('tags'),
28471            use_azure_single_server_usernames=d.get(
28472                'use_azure_single_server_usernames'),
28473            username=d.get('username'),
28474        )
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)
28321    def __init__(
28322        self,
28323        bind_interface=None,
28324        database=None,
28325        egress_filter=None,
28326        healthy=None,
28327        hostname=None,
28328        id=None,
28329        name=None,
28330        password=None,
28331        port=None,
28332        port_override=None,
28333        proxy_cluster_id=None,
28334        require_native_auth=None,
28335        secret_store_id=None,
28336        subdomain=None,
28337        tags=None,
28338        use_azure_single_server_usernames=None,
28339        username=None,
28340    ):
28341        self.bind_interface = bind_interface if bind_interface is not None else ''
28342        '''
28343         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28344        '''
28345        self.database = database if database is not None else ''
28346        '''
28347         The database for healthchecks. Does not affect client requests.
28348        '''
28349        self.egress_filter = egress_filter if egress_filter is not None else ''
28350        '''
28351         A filter applied to the routing logic to pin datasource to nodes.
28352        '''
28353        self.healthy = healthy if healthy is not None else False
28354        '''
28355         True if the datasource is reachable and the credentials are valid.
28356        '''
28357        self.hostname = hostname if hostname is not None else ''
28358        '''
28359         The host to dial to initiate a connection from the egress node to this resource.
28360        '''
28361        self.id = id if id is not None else ''
28362        '''
28363         Unique identifier of the Resource.
28364        '''
28365        self.name = name if name is not None else ''
28366        '''
28367         Unique human-readable name of the Resource.
28368        '''
28369        self.password = password if password is not None else ''
28370        '''
28371         The password to authenticate with.
28372        '''
28373        self.port = port if port is not None else 0
28374        '''
28375         The port to dial to initiate a connection from the egress node to this resource.
28376        '''
28377        self.port_override = port_override if port_override is not None else 0
28378        '''
28379         The local port used by clients to connect to this resource.
28380        '''
28381        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28382        '''
28383         ID of the proxy cluster for this resource, if any.
28384        '''
28385        self.require_native_auth = require_native_auth if require_native_auth is not None else False
28386        '''
28387         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
28388        '''
28389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28390        '''
28391         ID of the secret store containing credentials for this resource, if any.
28392        '''
28393        self.subdomain = subdomain if subdomain is not None else ''
28394        '''
28395         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28396        '''
28397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28398        '''
28399         Tags is a map of key, value pairs.
28400        '''
28401        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
28402        '''
28403         If true, appends the hostname to the username when hitting a database.azure.com address
28404        '''
28405        self.username = username if username is not None else ''
28406        '''
28407         The username to authenticate with.
28408        '''
bind_interface

The bind interface is the IP 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)
28431    def to_dict(self):
28432        return {
28433            'bind_interface': self.bind_interface,
28434            'database': self.database,
28435            'egress_filter': self.egress_filter,
28436            'healthy': self.healthy,
28437            'hostname': self.hostname,
28438            'id': self.id,
28439            'name': self.name,
28440            'password': self.password,
28441            'port': self.port,
28442            'port_override': self.port_override,
28443            'proxy_cluster_id': self.proxy_cluster_id,
28444            'require_native_auth': self.require_native_auth,
28445            'secret_store_id': self.secret_store_id,
28446            'subdomain': self.subdomain,
28447            'tags': self.tags,
28448            'use_azure_single_server_usernames':
28449            self.use_azure_single_server_usernames,
28450            'username': self.username,
28451        }
@classmethod
def from_dict(cls, d)
28453    @classmethod
28454    def from_dict(cls, d):
28455        return cls(
28456            bind_interface=d.get('bind_interface'),
28457            database=d.get('database'),
28458            egress_filter=d.get('egress_filter'),
28459            healthy=d.get('healthy'),
28460            hostname=d.get('hostname'),
28461            id=d.get('id'),
28462            name=d.get('name'),
28463            password=d.get('password'),
28464            port=d.get('port'),
28465            port_override=d.get('port_override'),
28466            proxy_cluster_id=d.get('proxy_cluster_id'),
28467            require_native_auth=d.get('require_native_auth'),
28468            secret_store_id=d.get('secret_store_id'),
28469            subdomain=d.get('subdomain'),
28470            tags=d.get('tags'),
28471            use_azure_single_server_usernames=d.get(
28472                'use_azure_single_server_usernames'),
28473            username=d.get('username'),
28474        )
class Snowflake:
28477class Snowflake:
28478    __slots__ = [
28479        'bind_interface',
28480        'database',
28481        'egress_filter',
28482        'healthy',
28483        'hostname',
28484        'id',
28485        'name',
28486        'password',
28487        'port_override',
28488        'proxy_cluster_id',
28489        'schema',
28490        'secret_store_id',
28491        'subdomain',
28492        'tags',
28493        'username',
28494    ]
28495
28496    def __init__(
28497        self,
28498        bind_interface=None,
28499        database=None,
28500        egress_filter=None,
28501        healthy=None,
28502        hostname=None,
28503        id=None,
28504        name=None,
28505        password=None,
28506        port_override=None,
28507        proxy_cluster_id=None,
28508        schema=None,
28509        secret_store_id=None,
28510        subdomain=None,
28511        tags=None,
28512        username=None,
28513    ):
28514        self.bind_interface = bind_interface if bind_interface is not None else ''
28515        '''
28516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28517        '''
28518        self.database = database if database is not None else ''
28519        '''
28520         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28521        '''
28522        self.egress_filter = egress_filter if egress_filter is not None else ''
28523        '''
28524         A filter applied to the routing logic to pin datasource to nodes.
28525        '''
28526        self.healthy = healthy if healthy is not None else False
28527        '''
28528         True if the datasource is reachable and the credentials are valid.
28529        '''
28530        self.hostname = hostname if hostname is not None else ''
28531        '''
28532         The host to dial to initiate a connection from the egress node to this resource.
28533        '''
28534        self.id = id if id is not None else ''
28535        '''
28536         Unique identifier of the Resource.
28537        '''
28538        self.name = name if name is not None else ''
28539        '''
28540         Unique human-readable name of the Resource.
28541        '''
28542        self.password = password if password is not None else ''
28543        '''
28544         The password to authenticate with.
28545        '''
28546        self.port_override = port_override if port_override is not None else 0
28547        '''
28548         The local port used by clients to connect to this resource.
28549        '''
28550        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28551        '''
28552         ID of the proxy cluster for this resource, if any.
28553        '''
28554        self.schema = schema if schema is not None else ''
28555        '''
28556         The schema to provide on authentication.
28557        '''
28558        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28559        '''
28560         ID of the secret store containing credentials for this resource, if any.
28561        '''
28562        self.subdomain = subdomain if subdomain is not None else ''
28563        '''
28564         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28565        '''
28566        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28567        '''
28568         Tags is a map of key, value pairs.
28569        '''
28570        self.username = username if username is not None else ''
28571        '''
28572         The username to authenticate with.
28573        '''
28574
28575    def __repr__(self):
28576        return '<sdm.Snowflake ' + \
28577            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28578            'database: ' + repr(self.database) + ' ' +\
28579            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28580            'healthy: ' + repr(self.healthy) + ' ' +\
28581            'hostname: ' + repr(self.hostname) + ' ' +\
28582            'id: ' + repr(self.id) + ' ' +\
28583            'name: ' + repr(self.name) + ' ' +\
28584            'password: ' + repr(self.password) + ' ' +\
28585            'port_override: ' + repr(self.port_override) + ' ' +\
28586            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28587            'schema: ' + repr(self.schema) + ' ' +\
28588            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28589            'subdomain: ' + repr(self.subdomain) + ' ' +\
28590            'tags: ' + repr(self.tags) + ' ' +\
28591            'username: ' + repr(self.username) + ' ' +\
28592            '>'
28593
28594    def to_dict(self):
28595        return {
28596            'bind_interface': self.bind_interface,
28597            'database': self.database,
28598            'egress_filter': self.egress_filter,
28599            'healthy': self.healthy,
28600            'hostname': self.hostname,
28601            'id': self.id,
28602            'name': self.name,
28603            'password': self.password,
28604            'port_override': self.port_override,
28605            'proxy_cluster_id': self.proxy_cluster_id,
28606            'schema': self.schema,
28607            'secret_store_id': self.secret_store_id,
28608            'subdomain': self.subdomain,
28609            'tags': self.tags,
28610            'username': self.username,
28611        }
28612
28613    @classmethod
28614    def from_dict(cls, d):
28615        return cls(
28616            bind_interface=d.get('bind_interface'),
28617            database=d.get('database'),
28618            egress_filter=d.get('egress_filter'),
28619            healthy=d.get('healthy'),
28620            hostname=d.get('hostname'),
28621            id=d.get('id'),
28622            name=d.get('name'),
28623            password=d.get('password'),
28624            port_override=d.get('port_override'),
28625            proxy_cluster_id=d.get('proxy_cluster_id'),
28626            schema=d.get('schema'),
28627            secret_store_id=d.get('secret_store_id'),
28628            subdomain=d.get('subdomain'),
28629            tags=d.get('tags'),
28630            username=d.get('username'),
28631        )
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)
28496    def __init__(
28497        self,
28498        bind_interface=None,
28499        database=None,
28500        egress_filter=None,
28501        healthy=None,
28502        hostname=None,
28503        id=None,
28504        name=None,
28505        password=None,
28506        port_override=None,
28507        proxy_cluster_id=None,
28508        schema=None,
28509        secret_store_id=None,
28510        subdomain=None,
28511        tags=None,
28512        username=None,
28513    ):
28514        self.bind_interface = bind_interface if bind_interface is not None else ''
28515        '''
28516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28517        '''
28518        self.database = database if database is not None else ''
28519        '''
28520         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
28521        '''
28522        self.egress_filter = egress_filter if egress_filter is not None else ''
28523        '''
28524         A filter applied to the routing logic to pin datasource to nodes.
28525        '''
28526        self.healthy = healthy if healthy is not None else False
28527        '''
28528         True if the datasource is reachable and the credentials are valid.
28529        '''
28530        self.hostname = hostname if hostname is not None else ''
28531        '''
28532         The host to dial to initiate a connection from the egress node to this resource.
28533        '''
28534        self.id = id if id is not None else ''
28535        '''
28536         Unique identifier of the Resource.
28537        '''
28538        self.name = name if name is not None else ''
28539        '''
28540         Unique human-readable name of the Resource.
28541        '''
28542        self.password = password if password is not None else ''
28543        '''
28544         The password to authenticate with.
28545        '''
28546        self.port_override = port_override if port_override is not None else 0
28547        '''
28548         The local port used by clients to connect to this resource.
28549        '''
28550        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28551        '''
28552         ID of the proxy cluster for this resource, if any.
28553        '''
28554        self.schema = schema if schema is not None else ''
28555        '''
28556         The schema to provide on authentication.
28557        '''
28558        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28559        '''
28560         ID of the secret store containing credentials for this resource, if any.
28561        '''
28562        self.subdomain = subdomain if subdomain is not None else ''
28563        '''
28564         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28565        '''
28566        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28567        '''
28568         Tags is a map of key, value pairs.
28569        '''
28570        self.username = username if username is not None else ''
28571        '''
28572         The username to authenticate with.
28573        '''
bind_interface

The bind interface is the IP 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)
28594    def to_dict(self):
28595        return {
28596            'bind_interface': self.bind_interface,
28597            'database': self.database,
28598            'egress_filter': self.egress_filter,
28599            'healthy': self.healthy,
28600            'hostname': self.hostname,
28601            'id': self.id,
28602            'name': self.name,
28603            'password': self.password,
28604            'port_override': self.port_override,
28605            'proxy_cluster_id': self.proxy_cluster_id,
28606            'schema': self.schema,
28607            'secret_store_id': self.secret_store_id,
28608            'subdomain': self.subdomain,
28609            'tags': self.tags,
28610            'username': self.username,
28611        }
@classmethod
def from_dict(cls, d)
28613    @classmethod
28614    def from_dict(cls, d):
28615        return cls(
28616            bind_interface=d.get('bind_interface'),
28617            database=d.get('database'),
28618            egress_filter=d.get('egress_filter'),
28619            healthy=d.get('healthy'),
28620            hostname=d.get('hostname'),
28621            id=d.get('id'),
28622            name=d.get('name'),
28623            password=d.get('password'),
28624            port_override=d.get('port_override'),
28625            proxy_cluster_id=d.get('proxy_cluster_id'),
28626            schema=d.get('schema'),
28627            secret_store_id=d.get('secret_store_id'),
28628            subdomain=d.get('subdomain'),
28629            tags=d.get('tags'),
28630            username=d.get('username'),
28631        )
class Snowsight:
28634class Snowsight:
28635    __slots__ = [
28636        'bind_interface',
28637        'egress_filter',
28638        'healthcheck_username',
28639        'healthy',
28640        'id',
28641        'name',
28642        'port_override',
28643        'proxy_cluster_id',
28644        'samlmetadata',
28645        'secret_store_id',
28646        'subdomain',
28647        'tags',
28648    ]
28649
28650    def __init__(
28651        self,
28652        bind_interface=None,
28653        egress_filter=None,
28654        healthcheck_username=None,
28655        healthy=None,
28656        id=None,
28657        name=None,
28658        port_override=None,
28659        proxy_cluster_id=None,
28660        samlmetadata=None,
28661        secret_store_id=None,
28662        subdomain=None,
28663        tags=None,
28664    ):
28665        self.bind_interface = bind_interface if bind_interface is not None else ''
28666        '''
28667         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28668        '''
28669        self.egress_filter = egress_filter if egress_filter is not None else ''
28670        '''
28671         A filter applied to the routing logic to pin datasource to nodes.
28672        '''
28673        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28674        '''
28675         The StrongDM user email to use for healthchecks.
28676        '''
28677        self.healthy = healthy if healthy is not None else False
28678        '''
28679         True if the datasource is reachable and the credentials are valid.
28680        '''
28681        self.id = id if id is not None else ''
28682        '''
28683         Unique identifier of the Resource.
28684        '''
28685        self.name = name if name is not None else ''
28686        '''
28687         Unique human-readable name of the Resource.
28688        '''
28689        self.port_override = port_override if port_override is not None else 0
28690        '''
28691         The local port used by clients to connect to this resource.
28692        '''
28693        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28694        '''
28695         ID of the proxy cluster for this resource, if any.
28696        '''
28697        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28698        '''
28699         The Metadata for your snowflake IDP integration
28700        '''
28701        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28702        '''
28703         ID of the secret store containing credentials for this resource, if any.
28704        '''
28705        self.subdomain = subdomain if subdomain is not None else ''
28706        '''
28707         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28708        '''
28709        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28710        '''
28711         Tags is a map of key, value pairs.
28712        '''
28713
28714    def __repr__(self):
28715        return '<sdm.Snowsight ' + \
28716            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28717            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28718            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
28719            'healthy: ' + repr(self.healthy) + ' ' +\
28720            'id: ' + repr(self.id) + ' ' +\
28721            'name: ' + repr(self.name) + ' ' +\
28722            'port_override: ' + repr(self.port_override) + ' ' +\
28723            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28724            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
28725            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28726            'subdomain: ' + repr(self.subdomain) + ' ' +\
28727            'tags: ' + repr(self.tags) + ' ' +\
28728            '>'
28729
28730    def to_dict(self):
28731        return {
28732            'bind_interface': self.bind_interface,
28733            'egress_filter': self.egress_filter,
28734            'healthcheck_username': self.healthcheck_username,
28735            'healthy': self.healthy,
28736            'id': self.id,
28737            'name': self.name,
28738            'port_override': self.port_override,
28739            'proxy_cluster_id': self.proxy_cluster_id,
28740            'samlmetadata': self.samlmetadata,
28741            'secret_store_id': self.secret_store_id,
28742            'subdomain': self.subdomain,
28743            'tags': self.tags,
28744        }
28745
28746    @classmethod
28747    def from_dict(cls, d):
28748        return cls(
28749            bind_interface=d.get('bind_interface'),
28750            egress_filter=d.get('egress_filter'),
28751            healthcheck_username=d.get('healthcheck_username'),
28752            healthy=d.get('healthy'),
28753            id=d.get('id'),
28754            name=d.get('name'),
28755            port_override=d.get('port_override'),
28756            proxy_cluster_id=d.get('proxy_cluster_id'),
28757            samlmetadata=d.get('samlmetadata'),
28758            secret_store_id=d.get('secret_store_id'),
28759            subdomain=d.get('subdomain'),
28760            tags=d.get('tags'),
28761        )
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)
28650    def __init__(
28651        self,
28652        bind_interface=None,
28653        egress_filter=None,
28654        healthcheck_username=None,
28655        healthy=None,
28656        id=None,
28657        name=None,
28658        port_override=None,
28659        proxy_cluster_id=None,
28660        samlmetadata=None,
28661        secret_store_id=None,
28662        subdomain=None,
28663        tags=None,
28664    ):
28665        self.bind_interface = bind_interface if bind_interface is not None else ''
28666        '''
28667         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28668        '''
28669        self.egress_filter = egress_filter if egress_filter is not None else ''
28670        '''
28671         A filter applied to the routing logic to pin datasource to nodes.
28672        '''
28673        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
28674        '''
28675         The StrongDM user email to use for healthchecks.
28676        '''
28677        self.healthy = healthy if healthy is not None else False
28678        '''
28679         True if the datasource is reachable and the credentials are valid.
28680        '''
28681        self.id = id if id is not None else ''
28682        '''
28683         Unique identifier of the Resource.
28684        '''
28685        self.name = name if name is not None else ''
28686        '''
28687         Unique human-readable name of the Resource.
28688        '''
28689        self.port_override = port_override if port_override is not None else 0
28690        '''
28691         The local port used by clients to connect to this resource.
28692        '''
28693        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28694        '''
28695         ID of the proxy cluster for this resource, if any.
28696        '''
28697        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
28698        '''
28699         The Metadata for your snowflake IDP integration
28700        '''
28701        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28702        '''
28703         ID of the secret store containing credentials for this resource, if any.
28704        '''
28705        self.subdomain = subdomain if subdomain is not None else ''
28706        '''
28707         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28708        '''
28709        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28710        '''
28711         Tags is a map of key, value pairs.
28712        '''
bind_interface

The bind interface is the IP 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)
28730    def to_dict(self):
28731        return {
28732            'bind_interface': self.bind_interface,
28733            'egress_filter': self.egress_filter,
28734            'healthcheck_username': self.healthcheck_username,
28735            'healthy': self.healthy,
28736            'id': self.id,
28737            'name': self.name,
28738            'port_override': self.port_override,
28739            'proxy_cluster_id': self.proxy_cluster_id,
28740            'samlmetadata': self.samlmetadata,
28741            'secret_store_id': self.secret_store_id,
28742            'subdomain': self.subdomain,
28743            'tags': self.tags,
28744        }
@classmethod
def from_dict(cls, d)
28746    @classmethod
28747    def from_dict(cls, d):
28748        return cls(
28749            bind_interface=d.get('bind_interface'),
28750            egress_filter=d.get('egress_filter'),
28751            healthcheck_username=d.get('healthcheck_username'),
28752            healthy=d.get('healthy'),
28753            id=d.get('id'),
28754            name=d.get('name'),
28755            port_override=d.get('port_override'),
28756            proxy_cluster_id=d.get('proxy_cluster_id'),
28757            samlmetadata=d.get('samlmetadata'),
28758            secret_store_id=d.get('secret_store_id'),
28759            subdomain=d.get('subdomain'),
28760            tags=d.get('tags'),
28761        )
class Sybase:
28764class Sybase:
28765    __slots__ = [
28766        'bind_interface',
28767        'egress_filter',
28768        'healthy',
28769        'hostname',
28770        'id',
28771        'name',
28772        'password',
28773        'port',
28774        'port_override',
28775        'proxy_cluster_id',
28776        'secret_store_id',
28777        'subdomain',
28778        'tags',
28779        'username',
28780    ]
28781
28782    def __init__(
28783        self,
28784        bind_interface=None,
28785        egress_filter=None,
28786        healthy=None,
28787        hostname=None,
28788        id=None,
28789        name=None,
28790        password=None,
28791        port=None,
28792        port_override=None,
28793        proxy_cluster_id=None,
28794        secret_store_id=None,
28795        subdomain=None,
28796        tags=None,
28797        username=None,
28798    ):
28799        self.bind_interface = bind_interface if bind_interface is not None else ''
28800        '''
28801         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28802        '''
28803        self.egress_filter = egress_filter if egress_filter is not None else ''
28804        '''
28805         A filter applied to the routing logic to pin datasource to nodes.
28806        '''
28807        self.healthy = healthy if healthy is not None else False
28808        '''
28809         True if the datasource is reachable and the credentials are valid.
28810        '''
28811        self.hostname = hostname if hostname is not None else ''
28812        '''
28813         The host to dial to initiate a connection from the egress node to this resource.
28814        '''
28815        self.id = id if id is not None else ''
28816        '''
28817         Unique identifier of the Resource.
28818        '''
28819        self.name = name if name is not None else ''
28820        '''
28821         Unique human-readable name of the Resource.
28822        '''
28823        self.password = password if password is not None else ''
28824        '''
28825         The password to authenticate with.
28826        '''
28827        self.port = port if port is not None else 0
28828        '''
28829         The port to dial to initiate a connection from the egress node to this resource.
28830        '''
28831        self.port_override = port_override if port_override is not None else 0
28832        '''
28833         The local port used by clients to connect to this resource.
28834        '''
28835        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28836        '''
28837         ID of the proxy cluster for this resource, if any.
28838        '''
28839        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28840        '''
28841         ID of the secret store containing credentials for this resource, if any.
28842        '''
28843        self.subdomain = subdomain if subdomain is not None else ''
28844        '''
28845         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28846        '''
28847        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28848        '''
28849         Tags is a map of key, value pairs.
28850        '''
28851        self.username = username if username is not None else ''
28852        '''
28853         The username to authenticate with.
28854        '''
28855
28856    def __repr__(self):
28857        return '<sdm.Sybase ' + \
28858            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28859            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28860            'healthy: ' + repr(self.healthy) + ' ' +\
28861            'hostname: ' + repr(self.hostname) + ' ' +\
28862            'id: ' + repr(self.id) + ' ' +\
28863            'name: ' + repr(self.name) + ' ' +\
28864            'password: ' + repr(self.password) + ' ' +\
28865            'port: ' + repr(self.port) + ' ' +\
28866            'port_override: ' + repr(self.port_override) + ' ' +\
28867            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28868            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28869            'subdomain: ' + repr(self.subdomain) + ' ' +\
28870            'tags: ' + repr(self.tags) + ' ' +\
28871            'username: ' + repr(self.username) + ' ' +\
28872            '>'
28873
28874    def to_dict(self):
28875        return {
28876            'bind_interface': self.bind_interface,
28877            'egress_filter': self.egress_filter,
28878            'healthy': self.healthy,
28879            'hostname': self.hostname,
28880            'id': self.id,
28881            'name': self.name,
28882            'password': self.password,
28883            'port': self.port,
28884            'port_override': self.port_override,
28885            'proxy_cluster_id': self.proxy_cluster_id,
28886            'secret_store_id': self.secret_store_id,
28887            'subdomain': self.subdomain,
28888            'tags': self.tags,
28889            'username': self.username,
28890        }
28891
28892    @classmethod
28893    def from_dict(cls, d):
28894        return cls(
28895            bind_interface=d.get('bind_interface'),
28896            egress_filter=d.get('egress_filter'),
28897            healthy=d.get('healthy'),
28898            hostname=d.get('hostname'),
28899            id=d.get('id'),
28900            name=d.get('name'),
28901            password=d.get('password'),
28902            port=d.get('port'),
28903            port_override=d.get('port_override'),
28904            proxy_cluster_id=d.get('proxy_cluster_id'),
28905            secret_store_id=d.get('secret_store_id'),
28906            subdomain=d.get('subdomain'),
28907            tags=d.get('tags'),
28908            username=d.get('username'),
28909        )
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)
28782    def __init__(
28783        self,
28784        bind_interface=None,
28785        egress_filter=None,
28786        healthy=None,
28787        hostname=None,
28788        id=None,
28789        name=None,
28790        password=None,
28791        port=None,
28792        port_override=None,
28793        proxy_cluster_id=None,
28794        secret_store_id=None,
28795        subdomain=None,
28796        tags=None,
28797        username=None,
28798    ):
28799        self.bind_interface = bind_interface if bind_interface is not None else ''
28800        '''
28801         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28802        '''
28803        self.egress_filter = egress_filter if egress_filter is not None else ''
28804        '''
28805         A filter applied to the routing logic to pin datasource to nodes.
28806        '''
28807        self.healthy = healthy if healthy is not None else False
28808        '''
28809         True if the datasource is reachable and the credentials are valid.
28810        '''
28811        self.hostname = hostname if hostname is not None else ''
28812        '''
28813         The host to dial to initiate a connection from the egress node to this resource.
28814        '''
28815        self.id = id if id is not None else ''
28816        '''
28817         Unique identifier of the Resource.
28818        '''
28819        self.name = name if name is not None else ''
28820        '''
28821         Unique human-readable name of the Resource.
28822        '''
28823        self.password = password if password is not None else ''
28824        '''
28825         The password to authenticate with.
28826        '''
28827        self.port = port if port is not None else 0
28828        '''
28829         The port to dial to initiate a connection from the egress node to this resource.
28830        '''
28831        self.port_override = port_override if port_override is not None else 0
28832        '''
28833         The local port used by clients to connect to this resource.
28834        '''
28835        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28836        '''
28837         ID of the proxy cluster for this resource, if any.
28838        '''
28839        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28840        '''
28841         ID of the secret store containing credentials for this resource, if any.
28842        '''
28843        self.subdomain = subdomain if subdomain is not None else ''
28844        '''
28845         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28846        '''
28847        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28848        '''
28849         Tags is a map of key, value pairs.
28850        '''
28851        self.username = username if username is not None else ''
28852        '''
28853         The username to authenticate with.
28854        '''
bind_interface

The bind interface is the IP 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)
28874    def to_dict(self):
28875        return {
28876            'bind_interface': self.bind_interface,
28877            'egress_filter': self.egress_filter,
28878            'healthy': self.healthy,
28879            'hostname': self.hostname,
28880            'id': self.id,
28881            'name': self.name,
28882            'password': self.password,
28883            'port': self.port,
28884            'port_override': self.port_override,
28885            'proxy_cluster_id': self.proxy_cluster_id,
28886            'secret_store_id': self.secret_store_id,
28887            'subdomain': self.subdomain,
28888            'tags': self.tags,
28889            'username': self.username,
28890        }
@classmethod
def from_dict(cls, d)
28892    @classmethod
28893    def from_dict(cls, d):
28894        return cls(
28895            bind_interface=d.get('bind_interface'),
28896            egress_filter=d.get('egress_filter'),
28897            healthy=d.get('healthy'),
28898            hostname=d.get('hostname'),
28899            id=d.get('id'),
28900            name=d.get('name'),
28901            password=d.get('password'),
28902            port=d.get('port'),
28903            port_override=d.get('port_override'),
28904            proxy_cluster_id=d.get('proxy_cluster_id'),
28905            secret_store_id=d.get('secret_store_id'),
28906            subdomain=d.get('subdomain'),
28907            tags=d.get('tags'),
28908            username=d.get('username'),
28909        )
class SybaseIQ:
28912class SybaseIQ:
28913    __slots__ = [
28914        'bind_interface',
28915        'egress_filter',
28916        'healthy',
28917        'hostname',
28918        'id',
28919        'name',
28920        'password',
28921        'port',
28922        'port_override',
28923        'proxy_cluster_id',
28924        'secret_store_id',
28925        'subdomain',
28926        'tags',
28927        'username',
28928    ]
28929
28930    def __init__(
28931        self,
28932        bind_interface=None,
28933        egress_filter=None,
28934        healthy=None,
28935        hostname=None,
28936        id=None,
28937        name=None,
28938        password=None,
28939        port=None,
28940        port_override=None,
28941        proxy_cluster_id=None,
28942        secret_store_id=None,
28943        subdomain=None,
28944        tags=None,
28945        username=None,
28946    ):
28947        self.bind_interface = bind_interface if bind_interface is not None else ''
28948        '''
28949         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28950        '''
28951        self.egress_filter = egress_filter if egress_filter is not None else ''
28952        '''
28953         A filter applied to the routing logic to pin datasource to nodes.
28954        '''
28955        self.healthy = healthy if healthy is not None else False
28956        '''
28957         True if the datasource is reachable and the credentials are valid.
28958        '''
28959        self.hostname = hostname if hostname is not None else ''
28960        '''
28961         The host to dial to initiate a connection from the egress node to this resource.
28962        '''
28963        self.id = id if id is not None else ''
28964        '''
28965         Unique identifier of the Resource.
28966        '''
28967        self.name = name if name is not None else ''
28968        '''
28969         Unique human-readable name of the Resource.
28970        '''
28971        self.password = password if password is not None else ''
28972        '''
28973         The password to authenticate with.
28974        '''
28975        self.port = port if port is not None else 0
28976        '''
28977         The port to dial to initiate a connection from the egress node to this resource.
28978        '''
28979        self.port_override = port_override if port_override is not None else 0
28980        '''
28981         The local port used by clients to connect to this resource.
28982        '''
28983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28984        '''
28985         ID of the proxy cluster for this resource, if any.
28986        '''
28987        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28988        '''
28989         ID of the secret store containing credentials for this resource, if any.
28990        '''
28991        self.subdomain = subdomain if subdomain is not None else ''
28992        '''
28993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28994        '''
28995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28996        '''
28997         Tags is a map of key, value pairs.
28998        '''
28999        self.username = username if username is not None else ''
29000        '''
29001         The username to authenticate with.
29002        '''
29003
29004    def __repr__(self):
29005        return '<sdm.SybaseIQ ' + \
29006            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29007            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29008            'healthy: ' + repr(self.healthy) + ' ' +\
29009            'hostname: ' + repr(self.hostname) + ' ' +\
29010            'id: ' + repr(self.id) + ' ' +\
29011            'name: ' + repr(self.name) + ' ' +\
29012            'password: ' + repr(self.password) + ' ' +\
29013            'port: ' + repr(self.port) + ' ' +\
29014            'port_override: ' + repr(self.port_override) + ' ' +\
29015            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29016            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29017            'subdomain: ' + repr(self.subdomain) + ' ' +\
29018            'tags: ' + repr(self.tags) + ' ' +\
29019            'username: ' + repr(self.username) + ' ' +\
29020            '>'
29021
29022    def to_dict(self):
29023        return {
29024            'bind_interface': self.bind_interface,
29025            'egress_filter': self.egress_filter,
29026            'healthy': self.healthy,
29027            'hostname': self.hostname,
29028            'id': self.id,
29029            'name': self.name,
29030            'password': self.password,
29031            'port': self.port,
29032            'port_override': self.port_override,
29033            'proxy_cluster_id': self.proxy_cluster_id,
29034            'secret_store_id': self.secret_store_id,
29035            'subdomain': self.subdomain,
29036            'tags': self.tags,
29037            'username': self.username,
29038        }
29039
29040    @classmethod
29041    def from_dict(cls, d):
29042        return cls(
29043            bind_interface=d.get('bind_interface'),
29044            egress_filter=d.get('egress_filter'),
29045            healthy=d.get('healthy'),
29046            hostname=d.get('hostname'),
29047            id=d.get('id'),
29048            name=d.get('name'),
29049            password=d.get('password'),
29050            port=d.get('port'),
29051            port_override=d.get('port_override'),
29052            proxy_cluster_id=d.get('proxy_cluster_id'),
29053            secret_store_id=d.get('secret_store_id'),
29054            subdomain=d.get('subdomain'),
29055            tags=d.get('tags'),
29056            username=d.get('username'),
29057        )
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)
28930    def __init__(
28931        self,
28932        bind_interface=None,
28933        egress_filter=None,
28934        healthy=None,
28935        hostname=None,
28936        id=None,
28937        name=None,
28938        password=None,
28939        port=None,
28940        port_override=None,
28941        proxy_cluster_id=None,
28942        secret_store_id=None,
28943        subdomain=None,
28944        tags=None,
28945        username=None,
28946    ):
28947        self.bind_interface = bind_interface if bind_interface is not None else ''
28948        '''
28949         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
28950        '''
28951        self.egress_filter = egress_filter if egress_filter is not None else ''
28952        '''
28953         A filter applied to the routing logic to pin datasource to nodes.
28954        '''
28955        self.healthy = healthy if healthy is not None else False
28956        '''
28957         True if the datasource is reachable and the credentials are valid.
28958        '''
28959        self.hostname = hostname if hostname is not None else ''
28960        '''
28961         The host to dial to initiate a connection from the egress node to this resource.
28962        '''
28963        self.id = id if id is not None else ''
28964        '''
28965         Unique identifier of the Resource.
28966        '''
28967        self.name = name if name is not None else ''
28968        '''
28969         Unique human-readable name of the Resource.
28970        '''
28971        self.password = password if password is not None else ''
28972        '''
28973         The password to authenticate with.
28974        '''
28975        self.port = port if port is not None else 0
28976        '''
28977         The port to dial to initiate a connection from the egress node to this resource.
28978        '''
28979        self.port_override = port_override if port_override is not None else 0
28980        '''
28981         The local port used by clients to connect to this resource.
28982        '''
28983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28984        '''
28985         ID of the proxy cluster for this resource, if any.
28986        '''
28987        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28988        '''
28989         ID of the secret store containing credentials for this resource, if any.
28990        '''
28991        self.subdomain = subdomain if subdomain is not None else ''
28992        '''
28993         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
28994        '''
28995        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28996        '''
28997         Tags is a map of key, value pairs.
28998        '''
28999        self.username = username if username is not None else ''
29000        '''
29001         The username to authenticate with.
29002        '''
bind_interface

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

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port

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

port_override

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

proxy_cluster_id

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

secret_store_id

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

subdomain

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

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29210    def to_dict(self):
29211        return {
29212            'bind_interface': self.bind_interface,
29213            'egress_filter': self.egress_filter,
29214            'healthy': self.healthy,
29215            'hostname': self.hostname,
29216            'id': self.id,
29217            'name': self.name,
29218            'password': self.password,
29219            'port': self.port,
29220            'port_override': self.port_override,
29221            'proxy_cluster_id': self.proxy_cluster_id,
29222            'secret_store_id': self.secret_store_id,
29223            'subdomain': self.subdomain,
29224            'tags': self.tags,
29225            'username': self.username,
29226        }
@classmethod
def from_dict(cls, d)
29228    @classmethod
29229    def from_dict(cls, d):
29230        return cls(
29231            bind_interface=d.get('bind_interface'),
29232            egress_filter=d.get('egress_filter'),
29233            healthy=d.get('healthy'),
29234            hostname=d.get('hostname'),
29235            id=d.get('id'),
29236            name=d.get('name'),
29237            password=d.get('password'),
29238            port=d.get('port'),
29239            port_override=d.get('port_override'),
29240            proxy_cluster_id=d.get('proxy_cluster_id'),
29241            secret_store_id=d.get('secret_store_id'),
29242            subdomain=d.get('subdomain'),
29243            tags=d.get('tags'),
29244            username=d.get('username'),
29245        )
class Token:
29248class Token:
29249    '''
29250         A Token is an account providing tokenized access for automation or integration use.
29251     Tokens include admin tokens, API keys, and SCIM tokens.
29252    '''
29253    __slots__ = [
29254        'account_type',
29255        'deadline',
29256        'duration',
29257        'id',
29258        'name',
29259        'permissions',
29260        'rekeyed',
29261        'suspended',
29262        'tags',
29263    ]
29264
29265    def __init__(
29266        self,
29267        account_type=None,
29268        deadline=None,
29269        duration=None,
29270        id=None,
29271        name=None,
29272        permissions=None,
29273        rekeyed=None,
29274        suspended=None,
29275        tags=None,
29276    ):
29277        self.account_type = account_type if account_type is not None else ''
29278        '''
29279         Corresponds to the type of token, e.g. api or admin-token.
29280        '''
29281        self.deadline = deadline if deadline is not None else None
29282        '''
29283         The timestamp when the Token will expire.
29284        '''
29285        self.duration = duration if duration is not None else None
29286        '''
29287         Duration from token creation to expiration.
29288        '''
29289        self.id = id if id is not None else ''
29290        '''
29291         Unique identifier of the Token.
29292        '''
29293        self.name = name if name is not None else ''
29294        '''
29295         Unique human-readable name of the Token.
29296        '''
29297        self.permissions = permissions if permissions is not None else []
29298        '''
29299         Permissions assigned to the token, e.g. role:create.
29300        '''
29301        self.rekeyed = rekeyed if rekeyed is not None else None
29302        '''
29303         The timestamp when the Token was last rekeyed.
29304        '''
29305        self.suspended = suspended if suspended is not None else False
29306        '''
29307         Reserved for future use.  Always false for tokens.
29308        '''
29309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29310        '''
29311         Tags is a map of key, value pairs.
29312        '''
29313
29314    def __repr__(self):
29315        return '<sdm.Token ' + \
29316            'account_type: ' + repr(self.account_type) + ' ' +\
29317            'deadline: ' + repr(self.deadline) + ' ' +\
29318            'duration: ' + repr(self.duration) + ' ' +\
29319            'id: ' + repr(self.id) + ' ' +\
29320            'name: ' + repr(self.name) + ' ' +\
29321            'permissions: ' + repr(self.permissions) + ' ' +\
29322            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
29323            'suspended: ' + repr(self.suspended) + ' ' +\
29324            'tags: ' + repr(self.tags) + ' ' +\
29325            '>'
29326
29327    def to_dict(self):
29328        return {
29329            'account_type': self.account_type,
29330            'deadline': self.deadline,
29331            'duration': self.duration,
29332            'id': self.id,
29333            'name': self.name,
29334            'permissions': self.permissions,
29335            'rekeyed': self.rekeyed,
29336            'suspended': self.suspended,
29337            'tags': self.tags,
29338        }
29339
29340    @classmethod
29341    def from_dict(cls, d):
29342        return cls(
29343            account_type=d.get('account_type'),
29344            deadline=d.get('deadline'),
29345            duration=d.get('duration'),
29346            id=d.get('id'),
29347            name=d.get('name'),
29348            permissions=d.get('permissions'),
29349            rekeyed=d.get('rekeyed'),
29350            suspended=d.get('suspended'),
29351            tags=d.get('tags'),
29352        )

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)
29265    def __init__(
29266        self,
29267        account_type=None,
29268        deadline=None,
29269        duration=None,
29270        id=None,
29271        name=None,
29272        permissions=None,
29273        rekeyed=None,
29274        suspended=None,
29275        tags=None,
29276    ):
29277        self.account_type = account_type if account_type is not None else ''
29278        '''
29279         Corresponds to the type of token, e.g. api or admin-token.
29280        '''
29281        self.deadline = deadline if deadline is not None else None
29282        '''
29283         The timestamp when the Token will expire.
29284        '''
29285        self.duration = duration if duration is not None else None
29286        '''
29287         Duration from token creation to expiration.
29288        '''
29289        self.id = id if id is not None else ''
29290        '''
29291         Unique identifier of the Token.
29292        '''
29293        self.name = name if name is not None else ''
29294        '''
29295         Unique human-readable name of the Token.
29296        '''
29297        self.permissions = permissions if permissions is not None else []
29298        '''
29299         Permissions assigned to the token, e.g. role:create.
29300        '''
29301        self.rekeyed = rekeyed if rekeyed is not None else None
29302        '''
29303         The timestamp when the Token was last rekeyed.
29304        '''
29305        self.suspended = suspended if suspended is not None else False
29306        '''
29307         Reserved for future use.  Always false for tokens.
29308        '''
29309        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29310        '''
29311         Tags is a map of key, value pairs.
29312        '''
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)
29327    def to_dict(self):
29328        return {
29329            'account_type': self.account_type,
29330            'deadline': self.deadline,
29331            'duration': self.duration,
29332            'id': self.id,
29333            'name': self.name,
29334            'permissions': self.permissions,
29335            'rekeyed': self.rekeyed,
29336            'suspended': self.suspended,
29337            'tags': self.tags,
29338        }
@classmethod
def from_dict(cls, d)
29340    @classmethod
29341    def from_dict(cls, d):
29342        return cls(
29343            account_type=d.get('account_type'),
29344            deadline=d.get('deadline'),
29345            duration=d.get('duration'),
29346            id=d.get('id'),
29347            name=d.get('name'),
29348            permissions=d.get('permissions'),
29349            rekeyed=d.get('rekeyed'),
29350            suspended=d.get('suspended'),
29351            tags=d.get('tags'),
29352        )
class Trino:
29355class Trino:
29356    '''
29357    Trino is currently unstable, and its API may change, or it may be removed,
29358    without a major version bump.
29359    '''
29360    __slots__ = [
29361        'bind_interface',
29362        'egress_filter',
29363        'healthy',
29364        'hostname',
29365        'id',
29366        'name',
29367        'password',
29368        'port',
29369        'port_override',
29370        'proxy_cluster_id',
29371        'secret_store_id',
29372        'subdomain',
29373        'tags',
29374        'tls_required',
29375        'username',
29376    ]
29377
29378    def __init__(
29379        self,
29380        bind_interface=None,
29381        egress_filter=None,
29382        healthy=None,
29383        hostname=None,
29384        id=None,
29385        name=None,
29386        password=None,
29387        port=None,
29388        port_override=None,
29389        proxy_cluster_id=None,
29390        secret_store_id=None,
29391        subdomain=None,
29392        tags=None,
29393        tls_required=None,
29394        username=None,
29395    ):
29396        self.bind_interface = bind_interface if bind_interface is not None else ''
29397        '''
29398         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29399        '''
29400        self.egress_filter = egress_filter if egress_filter is not None else ''
29401        '''
29402         A filter applied to the routing logic to pin datasource to nodes.
29403        '''
29404        self.healthy = healthy if healthy is not None else False
29405        '''
29406         True if the datasource is reachable and the credentials are valid.
29407        '''
29408        self.hostname = hostname if hostname is not None else ''
29409        '''
29410         The host to dial to initiate a connection from the egress node to this resource.
29411        '''
29412        self.id = id if id is not None else ''
29413        '''
29414         Unique identifier of the Resource.
29415        '''
29416        self.name = name if name is not None else ''
29417        '''
29418         Unique human-readable name of the Resource.
29419        '''
29420        self.password = password if password is not None else ''
29421        '''
29422         The password to authenticate with.
29423        '''
29424        self.port = port if port is not None else 0
29425        '''
29426         The port to dial to initiate a connection from the egress node to this resource.
29427        '''
29428        self.port_override = port_override if port_override is not None else 0
29429        '''
29430         The local port used by clients to connect to this resource.
29431        '''
29432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29433        '''
29434         ID of the proxy cluster for this resource, if any.
29435        '''
29436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29437        '''
29438         ID of the secret store containing credentials for this resource, if any.
29439        '''
29440        self.subdomain = subdomain if subdomain is not None else ''
29441        '''
29442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29443        '''
29444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29445        '''
29446         Tags is a map of key, value pairs.
29447        '''
29448        self.tls_required = tls_required if tls_required is not None else False
29449        '''
29450         If set, TLS must be used to connect to this resource.
29451        '''
29452        self.username = username if username is not None else ''
29453        '''
29454         The username to authenticate with.
29455        '''
29456
29457    def __repr__(self):
29458        return '<sdm.Trino ' + \
29459            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29460            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29461            'healthy: ' + repr(self.healthy) + ' ' +\
29462            'hostname: ' + repr(self.hostname) + ' ' +\
29463            'id: ' + repr(self.id) + ' ' +\
29464            'name: ' + repr(self.name) + ' ' +\
29465            'password: ' + repr(self.password) + ' ' +\
29466            'port: ' + repr(self.port) + ' ' +\
29467            'port_override: ' + repr(self.port_override) + ' ' +\
29468            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29469            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29470            'subdomain: ' + repr(self.subdomain) + ' ' +\
29471            'tags: ' + repr(self.tags) + ' ' +\
29472            'tls_required: ' + repr(self.tls_required) + ' ' +\
29473            'username: ' + repr(self.username) + ' ' +\
29474            '>'
29475
29476    def to_dict(self):
29477        return {
29478            'bind_interface': self.bind_interface,
29479            'egress_filter': self.egress_filter,
29480            'healthy': self.healthy,
29481            'hostname': self.hostname,
29482            'id': self.id,
29483            'name': self.name,
29484            'password': self.password,
29485            'port': self.port,
29486            'port_override': self.port_override,
29487            'proxy_cluster_id': self.proxy_cluster_id,
29488            'secret_store_id': self.secret_store_id,
29489            'subdomain': self.subdomain,
29490            'tags': self.tags,
29491            'tls_required': self.tls_required,
29492            'username': self.username,
29493        }
29494
29495    @classmethod
29496    def from_dict(cls, d):
29497        return cls(
29498            bind_interface=d.get('bind_interface'),
29499            egress_filter=d.get('egress_filter'),
29500            healthy=d.get('healthy'),
29501            hostname=d.get('hostname'),
29502            id=d.get('id'),
29503            name=d.get('name'),
29504            password=d.get('password'),
29505            port=d.get('port'),
29506            port_override=d.get('port_override'),
29507            proxy_cluster_id=d.get('proxy_cluster_id'),
29508            secret_store_id=d.get('secret_store_id'),
29509            subdomain=d.get('subdomain'),
29510            tags=d.get('tags'),
29511            tls_required=d.get('tls_required'),
29512            username=d.get('username'),
29513        )

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

Trino( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
29378    def __init__(
29379        self,
29380        bind_interface=None,
29381        egress_filter=None,
29382        healthy=None,
29383        hostname=None,
29384        id=None,
29385        name=None,
29386        password=None,
29387        port=None,
29388        port_override=None,
29389        proxy_cluster_id=None,
29390        secret_store_id=None,
29391        subdomain=None,
29392        tags=None,
29393        tls_required=None,
29394        username=None,
29395    ):
29396        self.bind_interface = bind_interface if bind_interface is not None else ''
29397        '''
29398         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
29399        '''
29400        self.egress_filter = egress_filter if egress_filter is not None else ''
29401        '''
29402         A filter applied to the routing logic to pin datasource to nodes.
29403        '''
29404        self.healthy = healthy if healthy is not None else False
29405        '''
29406         True if the datasource is reachable and the credentials are valid.
29407        '''
29408        self.hostname = hostname if hostname is not None else ''
29409        '''
29410         The host to dial to initiate a connection from the egress node to this resource.
29411        '''
29412        self.id = id if id is not None else ''
29413        '''
29414         Unique identifier of the Resource.
29415        '''
29416        self.name = name if name is not None else ''
29417        '''
29418         Unique human-readable name of the Resource.
29419        '''
29420        self.password = password if password is not None else ''
29421        '''
29422         The password to authenticate with.
29423        '''
29424        self.port = port if port is not None else 0
29425        '''
29426         The port to dial to initiate a connection from the egress node to this resource.
29427        '''
29428        self.port_override = port_override if port_override is not None else 0
29429        '''
29430         The local port used by clients to connect to this resource.
29431        '''
29432        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29433        '''
29434         ID of the proxy cluster for this resource, if any.
29435        '''
29436        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29437        '''
29438         ID of the secret store containing credentials for this resource, if any.
29439        '''
29440        self.subdomain = subdomain if subdomain is not None else ''
29441        '''
29442         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
29443        '''
29444        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29445        '''
29446         Tags is a map of key, value pairs.
29447        '''
29448        self.tls_required = tls_required if tls_required is not None else False
29449        '''
29450         If set, TLS must be used to connect to this resource.
29451        '''
29452        self.username = username if username is not None else ''
29453        '''
29454         The username to authenticate with.
29455        '''
bind_interface

The bind interface is the IP 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)
29476    def to_dict(self):
29477        return {
29478            'bind_interface': self.bind_interface,
29479            'egress_filter': self.egress_filter,
29480            'healthy': self.healthy,
29481            'hostname': self.hostname,
29482            'id': self.id,
29483            'name': self.name,
29484            'password': self.password,
29485            'port': self.port,
29486            'port_override': self.port_override,
29487            'proxy_cluster_id': self.proxy_cluster_id,
29488            'secret_store_id': self.secret_store_id,
29489            'subdomain': self.subdomain,
29490            'tags': self.tags,
29491            'tls_required': self.tls_required,
29492            'username': self.username,
29493        }
@classmethod
def from_dict(cls, d)
29495    @classmethod
29496    def from_dict(cls, d):
29497        return cls(
29498            bind_interface=d.get('bind_interface'),
29499            egress_filter=d.get('egress_filter'),
29500            healthy=d.get('healthy'),
29501            hostname=d.get('hostname'),
29502            id=d.get('id'),
29503            name=d.get('name'),
29504            password=d.get('password'),
29505            port=d.get('port'),
29506            port_override=d.get('port_override'),
29507            proxy_cluster_id=d.get('proxy_cluster_id'),
29508            secret_store_id=d.get('secret_store_id'),
29509            subdomain=d.get('subdomain'),
29510            tags=d.get('tags'),
29511            tls_required=d.get('tls_required'),
29512            username=d.get('username'),
29513        )
class UpdateResponseMetadata:
29516class UpdateResponseMetadata:
29517    '''
29518         UpdateResponseMetadata is reserved for future use.
29519    '''
29520    __slots__ = []
29521
29522    def __init__(self, ):
29523        pass
29524
29525    def __repr__(self):
29526        return '<sdm.UpdateResponseMetadata ' + \
29527            '>'
29528
29529    def to_dict(self):
29530        return {}
29531
29532    @classmethod
29533    def from_dict(cls, d):
29534        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
29522    def __init__(self, ):
29523        pass
def to_dict(self)
29529    def to_dict(self):
29530        return {}
@classmethod
def from_dict(cls, d)
29532    @classmethod
29533    def from_dict(cls, d):
29534        return cls()
class User:
29537class User:
29538    '''
29539         A User can connect to resources they are granted directly, or granted
29540     via roles.
29541    '''
29542    __slots__ = [
29543        'scim',
29544        'email',
29545        'external_id',
29546        'first_name',
29547        'id',
29548        'last_name',
29549        'managed_by',
29550        'manager_id',
29551        'password',
29552        'permission_level',
29553        'resolved_manager_id',
29554        'suspended',
29555        'tags',
29556    ]
29557
29558    def __init__(
29559        self,
29560        scim=None,
29561        email=None,
29562        external_id=None,
29563        first_name=None,
29564        id=None,
29565        last_name=None,
29566        managed_by=None,
29567        manager_id=None,
29568        password=None,
29569        permission_level=None,
29570        resolved_manager_id=None,
29571        suspended=None,
29572        tags=None,
29573    ):
29574        self.scim = scim if scim is not None else ''
29575        '''
29576         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29577        '''
29578        self.email = email if email is not None else ''
29579        '''
29580         The User's email address. Must be unique.
29581        '''
29582        self.external_id = external_id if external_id is not None else ''
29583        '''
29584         External ID is an alternative unique ID this user is represented by within an external service.
29585        '''
29586        self.first_name = first_name if first_name is not None else ''
29587        '''
29588         The User's first name.
29589        '''
29590        self.id = id if id is not None else ''
29591        '''
29592         Unique identifier of the User.
29593        '''
29594        self.last_name = last_name if last_name is not None else ''
29595        '''
29596         The User's last name.
29597        '''
29598        self.managed_by = managed_by if managed_by is not None else ''
29599        '''
29600         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29601        '''
29602        self.manager_id = manager_id if manager_id is not None else ''
29603        '''
29604         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29605        '''
29606        self.password = password if password is not None else ''
29607        '''
29608         Password is a write-only field that can be used to set the user's password.
29609         Currently only supported for update.
29610        '''
29611        self.permission_level = permission_level if permission_level is not None else ''
29612        '''
29613         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29614        '''
29615        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29616        '''
29617         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29618         if present, or from the SCIM metadata.
29619         This is a read-only field that's only populated for get and list.
29620        '''
29621        self.suspended = suspended if suspended is not None else False
29622        '''
29623         Suspended is a read only field for the User's suspended state.
29624        '''
29625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29626        '''
29627         Tags is a map of key, value pairs.
29628        '''
29629
29630    def __repr__(self):
29631        return '<sdm.User ' + \
29632            'scim: ' + repr(self.scim) + ' ' +\
29633            'email: ' + repr(self.email) + ' ' +\
29634            'external_id: ' + repr(self.external_id) + ' ' +\
29635            'first_name: ' + repr(self.first_name) + ' ' +\
29636            'id: ' + repr(self.id) + ' ' +\
29637            'last_name: ' + repr(self.last_name) + ' ' +\
29638            'managed_by: ' + repr(self.managed_by) + ' ' +\
29639            'manager_id: ' + repr(self.manager_id) + ' ' +\
29640            'password: ' + repr(self.password) + ' ' +\
29641            'permission_level: ' + repr(self.permission_level) + ' ' +\
29642            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
29643            'suspended: ' + repr(self.suspended) + ' ' +\
29644            'tags: ' + repr(self.tags) + ' ' +\
29645            '>'
29646
29647    def to_dict(self):
29648        return {
29649            'scim': self.scim,
29650            'email': self.email,
29651            'external_id': self.external_id,
29652            'first_name': self.first_name,
29653            'id': self.id,
29654            'last_name': self.last_name,
29655            'managed_by': self.managed_by,
29656            'manager_id': self.manager_id,
29657            'password': self.password,
29658            'permission_level': self.permission_level,
29659            'resolved_manager_id': self.resolved_manager_id,
29660            'suspended': self.suspended,
29661            'tags': self.tags,
29662        }
29663
29664    @classmethod
29665    def from_dict(cls, d):
29666        return cls(
29667            scim=d.get('scim'),
29668            email=d.get('email'),
29669            external_id=d.get('external_id'),
29670            first_name=d.get('first_name'),
29671            id=d.get('id'),
29672            last_name=d.get('last_name'),
29673            managed_by=d.get('managed_by'),
29674            manager_id=d.get('manager_id'),
29675            password=d.get('password'),
29676            permission_level=d.get('permission_level'),
29677            resolved_manager_id=d.get('resolved_manager_id'),
29678            suspended=d.get('suspended'),
29679            tags=d.get('tags'),
29680        )

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

User( scim=None, email=None, external_id=None, first_name=None, id=None, last_name=None, managed_by=None, manager_id=None, password=None, permission_level=None, resolved_manager_id=None, suspended=None, tags=None)
29558    def __init__(
29559        self,
29560        scim=None,
29561        email=None,
29562        external_id=None,
29563        first_name=None,
29564        id=None,
29565        last_name=None,
29566        managed_by=None,
29567        manager_id=None,
29568        password=None,
29569        permission_level=None,
29570        resolved_manager_id=None,
29571        suspended=None,
29572        tags=None,
29573    ):
29574        self.scim = scim if scim is not None else ''
29575        '''
29576         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
29577        '''
29578        self.email = email if email is not None else ''
29579        '''
29580         The User's email address. Must be unique.
29581        '''
29582        self.external_id = external_id if external_id is not None else ''
29583        '''
29584         External ID is an alternative unique ID this user is represented by within an external service.
29585        '''
29586        self.first_name = first_name if first_name is not None else ''
29587        '''
29588         The User's first name.
29589        '''
29590        self.id = id if id is not None else ''
29591        '''
29592         Unique identifier of the User.
29593        '''
29594        self.last_name = last_name if last_name is not None else ''
29595        '''
29596         The User's last name.
29597        '''
29598        self.managed_by = managed_by if managed_by is not None else ''
29599        '''
29600         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
29601        '''
29602        self.manager_id = manager_id if manager_id is not None else ''
29603        '''
29604         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
29605        '''
29606        self.password = password if password is not None else ''
29607        '''
29608         Password is a write-only field that can be used to set the user's password.
29609         Currently only supported for update.
29610        '''
29611        self.permission_level = permission_level if permission_level is not None else ''
29612        '''
29613         PermissionLevel is the user's permission level e.g. admin, DBA, user.
29614        '''
29615        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
29616        '''
29617         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
29618         if present, or from the SCIM metadata.
29619         This is a read-only field that's only populated for get and list.
29620        '''
29621        self.suspended = suspended if suspended is not None else False
29622        '''
29623         Suspended is a read only field for the User's suspended state.
29624        '''
29625        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29626        '''
29627         Tags is a map of key, value pairs.
29628        '''
scim

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

email

The User's email address. Must be unique.

external_id

External ID is an alternative unique ID this user is represented by within an external service.

first_name

The User's first name.

id

Unique identifier of the User.

last_name

The User's last name.

managed_by

Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.

manager_id

Manager ID is the ID of the user's manager. This field is empty when the user has no manager.

password

Password is a write-only field that can be used to set the user's password. Currently only supported for update.

permission_level

PermissionLevel is the user's permission level e.g. admin, DBA, user.

resolved_manager_id

Resolved Manager ID is the ID of the user's manager derived from the manager_id, if present, or from the SCIM metadata. This is a read-only field that's only populated for get and list.

suspended

Suspended is a read only field for the User's suspended state.

tags

Tags is a map of key, value pairs.

def to_dict(self)
29647    def to_dict(self):
29648        return {
29649            'scim': self.scim,
29650            'email': self.email,
29651            'external_id': self.external_id,
29652            'first_name': self.first_name,
29653            'id': self.id,
29654            'last_name': self.last_name,
29655            'managed_by': self.managed_by,
29656            'manager_id': self.manager_id,
29657            'password': self.password,
29658            'permission_level': self.permission_level,
29659            'resolved_manager_id': self.resolved_manager_id,
29660            'suspended': self.suspended,
29661            'tags': self.tags,
29662        }
@classmethod
def from_dict(cls, d)
29664    @classmethod
29665    def from_dict(cls, d):
29666        return cls(
29667            scim=d.get('scim'),
29668            email=d.get('email'),
29669            external_id=d.get('external_id'),
29670            first_name=d.get('first_name'),
29671            id=d.get('id'),
29672            last_name=d.get('last_name'),
29673            managed_by=d.get('managed_by'),
29674            manager_id=d.get('manager_id'),
29675            password=d.get('password'),
29676            permission_level=d.get('permission_level'),
29677            resolved_manager_id=d.get('resolved_manager_id'),
29678            suspended=d.get('suspended'),
29679            tags=d.get('tags'),
29680        )
class VaultAWSEC2Store:
29683class VaultAWSEC2Store:
29684    __slots__ = [
29685        'id',
29686        'name',
29687        'namespace',
29688        'server_address',
29689        'tags',
29690    ]
29691
29692    def __init__(
29693        self,
29694        id=None,
29695        name=None,
29696        namespace=None,
29697        server_address=None,
29698        tags=None,
29699    ):
29700        self.id = id if id is not None else ''
29701        '''
29702         Unique identifier of the SecretStore.
29703        '''
29704        self.name = name if name is not None else ''
29705        '''
29706         Unique human-readable name of the SecretStore.
29707        '''
29708        self.namespace = namespace if namespace is not None else ''
29709        '''
29710         The namespace to make requests within
29711        '''
29712        self.server_address = server_address if server_address is not None else ''
29713        '''
29714         The URL of the Vault to target
29715        '''
29716        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29717        '''
29718         Tags is a map of key, value pairs.
29719        '''
29720
29721    def __repr__(self):
29722        return '<sdm.VaultAWSEC2Store ' + \
29723            'id: ' + repr(self.id) + ' ' +\
29724            'name: ' + repr(self.name) + ' ' +\
29725            'namespace: ' + repr(self.namespace) + ' ' +\
29726            'server_address: ' + repr(self.server_address) + ' ' +\
29727            'tags: ' + repr(self.tags) + ' ' +\
29728            '>'
29729
29730    def to_dict(self):
29731        return {
29732            'id': self.id,
29733            'name': self.name,
29734            'namespace': self.namespace,
29735            'server_address': self.server_address,
29736            'tags': self.tags,
29737        }
29738
29739    @classmethod
29740    def from_dict(cls, d):
29741        return cls(
29742            id=d.get('id'),
29743            name=d.get('name'),
29744            namespace=d.get('namespace'),
29745            server_address=d.get('server_address'),
29746            tags=d.get('tags'),
29747        )
VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
29692    def __init__(
29693        self,
29694        id=None,
29695        name=None,
29696        namespace=None,
29697        server_address=None,
29698        tags=None,
29699    ):
29700        self.id = id if id is not None else ''
29701        '''
29702         Unique identifier of the SecretStore.
29703        '''
29704        self.name = name if name is not None else ''
29705        '''
29706         Unique human-readable name of the SecretStore.
29707        '''
29708        self.namespace = namespace if namespace is not None else ''
29709        '''
29710         The namespace to make requests within
29711        '''
29712        self.server_address = server_address if server_address is not None else ''
29713        '''
29714         The URL of the Vault to target
29715        '''
29716        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29717        '''
29718         Tags is a map of key, value pairs.
29719        '''
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)
29730    def to_dict(self):
29731        return {
29732            'id': self.id,
29733            'name': self.name,
29734            'namespace': self.namespace,
29735            'server_address': self.server_address,
29736            'tags': self.tags,
29737        }
@classmethod
def from_dict(cls, d)
29739    @classmethod
29740    def from_dict(cls, d):
29741        return cls(
29742            id=d.get('id'),
29743            name=d.get('name'),
29744            namespace=d.get('namespace'),
29745            server_address=d.get('server_address'),
29746            tags=d.get('tags'),
29747        )
class VaultAWSIAMStore:
29750class VaultAWSIAMStore:
29751    __slots__ = [
29752        'id',
29753        'name',
29754        'namespace',
29755        'server_address',
29756        'tags',
29757    ]
29758
29759    def __init__(
29760        self,
29761        id=None,
29762        name=None,
29763        namespace=None,
29764        server_address=None,
29765        tags=None,
29766    ):
29767        self.id = id if id is not None else ''
29768        '''
29769         Unique identifier of the SecretStore.
29770        '''
29771        self.name = name if name is not None else ''
29772        '''
29773         Unique human-readable name of the SecretStore.
29774        '''
29775        self.namespace = namespace if namespace is not None else ''
29776        '''
29777         The namespace to make requests within
29778        '''
29779        self.server_address = server_address if server_address is not None else ''
29780        '''
29781         The URL of the Vault to target
29782        '''
29783        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29784        '''
29785         Tags is a map of key, value pairs.
29786        '''
29787
29788    def __repr__(self):
29789        return '<sdm.VaultAWSIAMStore ' + \
29790            'id: ' + repr(self.id) + ' ' +\
29791            'name: ' + repr(self.name) + ' ' +\
29792            'namespace: ' + repr(self.namespace) + ' ' +\
29793            'server_address: ' + repr(self.server_address) + ' ' +\
29794            'tags: ' + repr(self.tags) + ' ' +\
29795            '>'
29796
29797    def to_dict(self):
29798        return {
29799            'id': self.id,
29800            'name': self.name,
29801            'namespace': self.namespace,
29802            'server_address': self.server_address,
29803            'tags': self.tags,
29804        }
29805
29806    @classmethod
29807    def from_dict(cls, d):
29808        return cls(
29809            id=d.get('id'),
29810            name=d.get('name'),
29811            namespace=d.get('namespace'),
29812            server_address=d.get('server_address'),
29813            tags=d.get('tags'),
29814        )
VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
29759    def __init__(
29760        self,
29761        id=None,
29762        name=None,
29763        namespace=None,
29764        server_address=None,
29765        tags=None,
29766    ):
29767        self.id = id if id is not None else ''
29768        '''
29769         Unique identifier of the SecretStore.
29770        '''
29771        self.name = name if name is not None else ''
29772        '''
29773         Unique human-readable name of the SecretStore.
29774        '''
29775        self.namespace = namespace if namespace is not None else ''
29776        '''
29777         The namespace to make requests within
29778        '''
29779        self.server_address = server_address if server_address is not None else ''
29780        '''
29781         The URL of the Vault to target
29782        '''
29783        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29784        '''
29785         Tags is a map of key, value pairs.
29786        '''
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)
29797    def to_dict(self):
29798        return {
29799            'id': self.id,
29800            'name': self.name,
29801            'namespace': self.namespace,
29802            'server_address': self.server_address,
29803            'tags': self.tags,
29804        }
@classmethod
def from_dict(cls, d)
29806    @classmethod
29807    def from_dict(cls, d):
29808        return cls(
29809            id=d.get('id'),
29810            name=d.get('name'),
29811            namespace=d.get('namespace'),
29812            server_address=d.get('server_address'),
29813            tags=d.get('tags'),
29814        )
class VaultAppRoleCertSSHStore:
29817class VaultAppRoleCertSSHStore:
29818    __slots__ = [
29819        'id',
29820        'issuedcertttlminutes',
29821        'name',
29822        'namespace',
29823        'server_address',
29824        'signing_role',
29825        'ssh_mount_point',
29826        'tags',
29827    ]
29828
29829    def __init__(
29830        self,
29831        id=None,
29832        issuedcertttlminutes=None,
29833        name=None,
29834        namespace=None,
29835        server_address=None,
29836        signing_role=None,
29837        ssh_mount_point=None,
29838        tags=None,
29839    ):
29840        self.id = id if id is not None else ''
29841        '''
29842         Unique identifier of the SecretStore.
29843        '''
29844        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29845        '''
29846         The lifetime of certificates issued by this CA represented in minutes.
29847        '''
29848        self.name = name if name is not None else ''
29849        '''
29850         Unique human-readable name of the SecretStore.
29851        '''
29852        self.namespace = namespace if namespace is not None else ''
29853        '''
29854         The namespace to make requests within
29855        '''
29856        self.server_address = server_address if server_address is not None else ''
29857        '''
29858         The URL of the Vault to target
29859        '''
29860        self.signing_role = signing_role if signing_role is not None else ''
29861        '''
29862         The signing role to be used for signing certificates
29863        '''
29864        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29865        '''
29866         The mount point of the SSH engine configured with the desired CA
29867        '''
29868        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29869        '''
29870         Tags is a map of key, value pairs.
29871        '''
29872
29873    def __repr__(self):
29874        return '<sdm.VaultAppRoleCertSSHStore ' + \
29875            'id: ' + repr(self.id) + ' ' +\
29876            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29877            'name: ' + repr(self.name) + ' ' +\
29878            'namespace: ' + repr(self.namespace) + ' ' +\
29879            'server_address: ' + repr(self.server_address) + ' ' +\
29880            'signing_role: ' + repr(self.signing_role) + ' ' +\
29881            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
29882            'tags: ' + repr(self.tags) + ' ' +\
29883            '>'
29884
29885    def to_dict(self):
29886        return {
29887            'id': self.id,
29888            'issuedcertttlminutes': self.issuedcertttlminutes,
29889            'name': self.name,
29890            'namespace': self.namespace,
29891            'server_address': self.server_address,
29892            'signing_role': self.signing_role,
29893            'ssh_mount_point': self.ssh_mount_point,
29894            'tags': self.tags,
29895        }
29896
29897    @classmethod
29898    def from_dict(cls, d):
29899        return cls(
29900            id=d.get('id'),
29901            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29902            name=d.get('name'),
29903            namespace=d.get('namespace'),
29904            server_address=d.get('server_address'),
29905            signing_role=d.get('signing_role'),
29906            ssh_mount_point=d.get('ssh_mount_point'),
29907            tags=d.get('tags'),
29908        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
29829    def __init__(
29830        self,
29831        id=None,
29832        issuedcertttlminutes=None,
29833        name=None,
29834        namespace=None,
29835        server_address=None,
29836        signing_role=None,
29837        ssh_mount_point=None,
29838        tags=None,
29839    ):
29840        self.id = id if id is not None else ''
29841        '''
29842         Unique identifier of the SecretStore.
29843        '''
29844        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29845        '''
29846         The lifetime of certificates issued by this CA represented in minutes.
29847        '''
29848        self.name = name if name is not None else ''
29849        '''
29850         Unique human-readable name of the SecretStore.
29851        '''
29852        self.namespace = namespace if namespace is not None else ''
29853        '''
29854         The namespace to make requests within
29855        '''
29856        self.server_address = server_address if server_address is not None else ''
29857        '''
29858         The URL of the Vault to target
29859        '''
29860        self.signing_role = signing_role if signing_role is not None else ''
29861        '''
29862         The signing role to be used for signing certificates
29863        '''
29864        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
29865        '''
29866         The mount point of the SSH engine configured with the desired CA
29867        '''
29868        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29869        '''
29870         Tags is a map of key, value pairs.
29871        '''
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)
29885    def to_dict(self):
29886        return {
29887            'id': self.id,
29888            'issuedcertttlminutes': self.issuedcertttlminutes,
29889            'name': self.name,
29890            'namespace': self.namespace,
29891            'server_address': self.server_address,
29892            'signing_role': self.signing_role,
29893            'ssh_mount_point': self.ssh_mount_point,
29894            'tags': self.tags,
29895        }
@classmethod
def from_dict(cls, d)
29897    @classmethod
29898    def from_dict(cls, d):
29899        return cls(
29900            id=d.get('id'),
29901            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29902            name=d.get('name'),
29903            namespace=d.get('namespace'),
29904            server_address=d.get('server_address'),
29905            signing_role=d.get('signing_role'),
29906            ssh_mount_point=d.get('ssh_mount_point'),
29907            tags=d.get('tags'),
29908        )
class VaultAppRoleCertX509Store:
29911class VaultAppRoleCertX509Store:
29912    __slots__ = [
29913        'id',
29914        'issuedcertttlminutes',
29915        'name',
29916        'namespace',
29917        'pki_mount_point',
29918        'server_address',
29919        'signing_role',
29920        'tags',
29921    ]
29922
29923    def __init__(
29924        self,
29925        id=None,
29926        issuedcertttlminutes=None,
29927        name=None,
29928        namespace=None,
29929        pki_mount_point=None,
29930        server_address=None,
29931        signing_role=None,
29932        tags=None,
29933    ):
29934        self.id = id if id is not None else ''
29935        '''
29936         Unique identifier of the SecretStore.
29937        '''
29938        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29939        '''
29940         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29941        '''
29942        self.name = name if name is not None else ''
29943        '''
29944         Unique human-readable name of the SecretStore.
29945        '''
29946        self.namespace = namespace if namespace is not None else ''
29947        '''
29948         The namespace to make requests within
29949        '''
29950        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29951        '''
29952         The mount point of the PKI engine configured with the desired CA
29953        '''
29954        self.server_address = server_address if server_address is not None else ''
29955        '''
29956         The URL of the Vault to target
29957        '''
29958        self.signing_role = signing_role if signing_role is not None else ''
29959        '''
29960         The signing role to be used for signing certificates
29961        '''
29962        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29963        '''
29964         Tags is a map of key, value pairs.
29965        '''
29966
29967    def __repr__(self):
29968        return '<sdm.VaultAppRoleCertX509Store ' + \
29969            'id: ' + repr(self.id) + ' ' +\
29970            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
29971            'name: ' + repr(self.name) + ' ' +\
29972            'namespace: ' + repr(self.namespace) + ' ' +\
29973            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
29974            'server_address: ' + repr(self.server_address) + ' ' +\
29975            'signing_role: ' + repr(self.signing_role) + ' ' +\
29976            'tags: ' + repr(self.tags) + ' ' +\
29977            '>'
29978
29979    def to_dict(self):
29980        return {
29981            'id': self.id,
29982            'issuedcertttlminutes': self.issuedcertttlminutes,
29983            'name': self.name,
29984            'namespace': self.namespace,
29985            'pki_mount_point': self.pki_mount_point,
29986            'server_address': self.server_address,
29987            'signing_role': self.signing_role,
29988            'tags': self.tags,
29989        }
29990
29991    @classmethod
29992    def from_dict(cls, d):
29993        return cls(
29994            id=d.get('id'),
29995            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29996            name=d.get('name'),
29997            namespace=d.get('namespace'),
29998            pki_mount_point=d.get('pki_mount_point'),
29999            server_address=d.get('server_address'),
30000            signing_role=d.get('signing_role'),
30001            tags=d.get('tags'),
30002        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
29923    def __init__(
29924        self,
29925        id=None,
29926        issuedcertttlminutes=None,
29927        name=None,
29928        namespace=None,
29929        pki_mount_point=None,
29930        server_address=None,
29931        signing_role=None,
29932        tags=None,
29933    ):
29934        self.id = id if id is not None else ''
29935        '''
29936         Unique identifier of the SecretStore.
29937        '''
29938        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
29939        '''
29940         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
29941        '''
29942        self.name = name if name is not None else ''
29943        '''
29944         Unique human-readable name of the SecretStore.
29945        '''
29946        self.namespace = namespace if namespace is not None else ''
29947        '''
29948         The namespace to make requests within
29949        '''
29950        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
29951        '''
29952         The mount point of the PKI engine configured with the desired CA
29953        '''
29954        self.server_address = server_address if server_address is not None else ''
29955        '''
29956         The URL of the Vault to target
29957        '''
29958        self.signing_role = signing_role if signing_role is not None else ''
29959        '''
29960         The signing role to be used for signing certificates
29961        '''
29962        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29963        '''
29964         Tags is a map of key, value pairs.
29965        '''
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)
29979    def to_dict(self):
29980        return {
29981            'id': self.id,
29982            'issuedcertttlminutes': self.issuedcertttlminutes,
29983            'name': self.name,
29984            'namespace': self.namespace,
29985            'pki_mount_point': self.pki_mount_point,
29986            'server_address': self.server_address,
29987            'signing_role': self.signing_role,
29988            'tags': self.tags,
29989        }
@classmethod
def from_dict(cls, d)
29991    @classmethod
29992    def from_dict(cls, d):
29993        return cls(
29994            id=d.get('id'),
29995            issuedcertttlminutes=d.get('issuedcertttlminutes'),
29996            name=d.get('name'),
29997            namespace=d.get('namespace'),
29998            pki_mount_point=d.get('pki_mount_point'),
29999            server_address=d.get('server_address'),
30000            signing_role=d.get('signing_role'),
30001            tags=d.get('tags'),
30002        )
class VaultAppRoleStore:
30005class VaultAppRoleStore:
30006    __slots__ = [
30007        'id',
30008        'name',
30009        'namespace',
30010        'server_address',
30011        'tags',
30012    ]
30013
30014    def __init__(
30015        self,
30016        id=None,
30017        name=None,
30018        namespace=None,
30019        server_address=None,
30020        tags=None,
30021    ):
30022        self.id = id if id is not None else ''
30023        '''
30024         Unique identifier of the SecretStore.
30025        '''
30026        self.name = name if name is not None else ''
30027        '''
30028         Unique human-readable name of the SecretStore.
30029        '''
30030        self.namespace = namespace if namespace is not None else ''
30031        '''
30032         The namespace to make requests within
30033        '''
30034        self.server_address = server_address if server_address is not None else ''
30035        '''
30036         The URL of the Vault to target
30037        '''
30038        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30039        '''
30040         Tags is a map of key, value pairs.
30041        '''
30042
30043    def __repr__(self):
30044        return '<sdm.VaultAppRoleStore ' + \
30045            'id: ' + repr(self.id) + ' ' +\
30046            'name: ' + repr(self.name) + ' ' +\
30047            'namespace: ' + repr(self.namespace) + ' ' +\
30048            'server_address: ' + repr(self.server_address) + ' ' +\
30049            'tags: ' + repr(self.tags) + ' ' +\
30050            '>'
30051
30052    def to_dict(self):
30053        return {
30054            'id': self.id,
30055            'name': self.name,
30056            'namespace': self.namespace,
30057            'server_address': self.server_address,
30058            'tags': self.tags,
30059        }
30060
30061    @classmethod
30062    def from_dict(cls, d):
30063        return cls(
30064            id=d.get('id'),
30065            name=d.get('name'),
30066            namespace=d.get('namespace'),
30067            server_address=d.get('server_address'),
30068            tags=d.get('tags'),
30069        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30014    def __init__(
30015        self,
30016        id=None,
30017        name=None,
30018        namespace=None,
30019        server_address=None,
30020        tags=None,
30021    ):
30022        self.id = id if id is not None else ''
30023        '''
30024         Unique identifier of the SecretStore.
30025        '''
30026        self.name = name if name is not None else ''
30027        '''
30028         Unique human-readable name of the SecretStore.
30029        '''
30030        self.namespace = namespace if namespace is not None else ''
30031        '''
30032         The namespace to make requests within
30033        '''
30034        self.server_address = server_address if server_address is not None else ''
30035        '''
30036         The URL of the Vault to target
30037        '''
30038        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30039        '''
30040         Tags is a map of key, value pairs.
30041        '''
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)
30052    def to_dict(self):
30053        return {
30054            'id': self.id,
30055            'name': self.name,
30056            'namespace': self.namespace,
30057            'server_address': self.server_address,
30058            'tags': self.tags,
30059        }
@classmethod
def from_dict(cls, d)
30061    @classmethod
30062    def from_dict(cls, d):
30063        return cls(
30064            id=d.get('id'),
30065            name=d.get('name'),
30066            namespace=d.get('namespace'),
30067            server_address=d.get('server_address'),
30068            tags=d.get('tags'),
30069        )
class VaultTLSCertSSHStore:
30072class VaultTLSCertSSHStore:
30073    __slots__ = [
30074        'ca_cert_path',
30075        'client_cert_path',
30076        'client_key_path',
30077        'id',
30078        'issuedcertttlminutes',
30079        'name',
30080        'namespace',
30081        'server_address',
30082        'signing_role',
30083        'ssh_mount_point',
30084        'tags',
30085    ]
30086
30087    def __init__(
30088        self,
30089        ca_cert_path=None,
30090        client_cert_path=None,
30091        client_key_path=None,
30092        id=None,
30093        issuedcertttlminutes=None,
30094        name=None,
30095        namespace=None,
30096        server_address=None,
30097        signing_role=None,
30098        ssh_mount_point=None,
30099        tags=None,
30100    ):
30101        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30102        '''
30103         A path to a CA file accessible by a Node
30104        '''
30105        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30106        '''
30107         A path to a client certificate file accessible by a Node
30108        '''
30109        self.client_key_path = client_key_path if client_key_path is not None else ''
30110        '''
30111         A path to a client key file accessible by a Node
30112        '''
30113        self.id = id if id is not None else ''
30114        '''
30115         Unique identifier of the SecretStore.
30116        '''
30117        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30118        '''
30119         The lifetime of certificates issued by this CA represented in minutes.
30120        '''
30121        self.name = name if name is not None else ''
30122        '''
30123         Unique human-readable name of the SecretStore.
30124        '''
30125        self.namespace = namespace if namespace is not None else ''
30126        '''
30127         The namespace to make requests within
30128        '''
30129        self.server_address = server_address if server_address is not None else ''
30130        '''
30131         The URL of the Vault to target
30132        '''
30133        self.signing_role = signing_role if signing_role is not None else ''
30134        '''
30135         The signing role to be used for signing certificates
30136        '''
30137        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30138        '''
30139         The mount point of the SSH engine configured with the desired CA
30140        '''
30141        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30142        '''
30143         Tags is a map of key, value pairs.
30144        '''
30145
30146    def __repr__(self):
30147        return '<sdm.VaultTLSCertSSHStore ' + \
30148            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30149            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30150            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30151            'id: ' + repr(self.id) + ' ' +\
30152            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30153            'name: ' + repr(self.name) + ' ' +\
30154            'namespace: ' + repr(self.namespace) + ' ' +\
30155            'server_address: ' + repr(self.server_address) + ' ' +\
30156            'signing_role: ' + repr(self.signing_role) + ' ' +\
30157            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30158            'tags: ' + repr(self.tags) + ' ' +\
30159            '>'
30160
30161    def to_dict(self):
30162        return {
30163            'ca_cert_path': self.ca_cert_path,
30164            'client_cert_path': self.client_cert_path,
30165            'client_key_path': self.client_key_path,
30166            'id': self.id,
30167            'issuedcertttlminutes': self.issuedcertttlminutes,
30168            'name': self.name,
30169            'namespace': self.namespace,
30170            'server_address': self.server_address,
30171            'signing_role': self.signing_role,
30172            'ssh_mount_point': self.ssh_mount_point,
30173            'tags': self.tags,
30174        }
30175
30176    @classmethod
30177    def from_dict(cls, d):
30178        return cls(
30179            ca_cert_path=d.get('ca_cert_path'),
30180            client_cert_path=d.get('client_cert_path'),
30181            client_key_path=d.get('client_key_path'),
30182            id=d.get('id'),
30183            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30184            name=d.get('name'),
30185            namespace=d.get('namespace'),
30186            server_address=d.get('server_address'),
30187            signing_role=d.get('signing_role'),
30188            ssh_mount_point=d.get('ssh_mount_point'),
30189            tags=d.get('tags'),
30190        )
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)
30087    def __init__(
30088        self,
30089        ca_cert_path=None,
30090        client_cert_path=None,
30091        client_key_path=None,
30092        id=None,
30093        issuedcertttlminutes=None,
30094        name=None,
30095        namespace=None,
30096        server_address=None,
30097        signing_role=None,
30098        ssh_mount_point=None,
30099        tags=None,
30100    ):
30101        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30102        '''
30103         A path to a CA file accessible by a Node
30104        '''
30105        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30106        '''
30107         A path to a client certificate file accessible by a Node
30108        '''
30109        self.client_key_path = client_key_path if client_key_path is not None else ''
30110        '''
30111         A path to a client key file accessible by a Node
30112        '''
30113        self.id = id if id is not None else ''
30114        '''
30115         Unique identifier of the SecretStore.
30116        '''
30117        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30118        '''
30119         The lifetime of certificates issued by this CA represented in minutes.
30120        '''
30121        self.name = name if name is not None else ''
30122        '''
30123         Unique human-readable name of the SecretStore.
30124        '''
30125        self.namespace = namespace if namespace is not None else ''
30126        '''
30127         The namespace to make requests within
30128        '''
30129        self.server_address = server_address if server_address is not None else ''
30130        '''
30131         The URL of the Vault to target
30132        '''
30133        self.signing_role = signing_role if signing_role is not None else ''
30134        '''
30135         The signing role to be used for signing certificates
30136        '''
30137        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30138        '''
30139         The mount point of the SSH engine configured with the desired CA
30140        '''
30141        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30142        '''
30143         Tags is a map of key, value pairs.
30144        '''
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)
30161    def to_dict(self):
30162        return {
30163            'ca_cert_path': self.ca_cert_path,
30164            'client_cert_path': self.client_cert_path,
30165            'client_key_path': self.client_key_path,
30166            'id': self.id,
30167            'issuedcertttlminutes': self.issuedcertttlminutes,
30168            'name': self.name,
30169            'namespace': self.namespace,
30170            'server_address': self.server_address,
30171            'signing_role': self.signing_role,
30172            'ssh_mount_point': self.ssh_mount_point,
30173            'tags': self.tags,
30174        }
@classmethod
def from_dict(cls, d)
30176    @classmethod
30177    def from_dict(cls, d):
30178        return cls(
30179            ca_cert_path=d.get('ca_cert_path'),
30180            client_cert_path=d.get('client_cert_path'),
30181            client_key_path=d.get('client_key_path'),
30182            id=d.get('id'),
30183            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30184            name=d.get('name'),
30185            namespace=d.get('namespace'),
30186            server_address=d.get('server_address'),
30187            signing_role=d.get('signing_role'),
30188            ssh_mount_point=d.get('ssh_mount_point'),
30189            tags=d.get('tags'),
30190        )
class VaultTLSCertX509Store:
30193class VaultTLSCertX509Store:
30194    __slots__ = [
30195        'ca_cert_path',
30196        'client_cert_path',
30197        'client_key_path',
30198        'id',
30199        'issuedcertttlminutes',
30200        'name',
30201        'namespace',
30202        'pki_mount_point',
30203        'server_address',
30204        'signing_role',
30205        'tags',
30206    ]
30207
30208    def __init__(
30209        self,
30210        ca_cert_path=None,
30211        client_cert_path=None,
30212        client_key_path=None,
30213        id=None,
30214        issuedcertttlminutes=None,
30215        name=None,
30216        namespace=None,
30217        pki_mount_point=None,
30218        server_address=None,
30219        signing_role=None,
30220        tags=None,
30221    ):
30222        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30223        '''
30224         A path to a CA file accessible by a Node
30225        '''
30226        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30227        '''
30228         A path to a client certificate file accessible by a Node
30229        '''
30230        self.client_key_path = client_key_path if client_key_path is not None else ''
30231        '''
30232         A path to a client key file accessible by a Node
30233        '''
30234        self.id = id if id is not None else ''
30235        '''
30236         Unique identifier of the SecretStore.
30237        '''
30238        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30239        '''
30240         The lifetime of certificates issued by this CA represented in minutes.
30241        '''
30242        self.name = name if name is not None else ''
30243        '''
30244         Unique human-readable name of the SecretStore.
30245        '''
30246        self.namespace = namespace if namespace is not None else ''
30247        '''
30248         The namespace to make requests within
30249        '''
30250        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30251        '''
30252         The mount point of the PKI engine configured with the desired CA
30253        '''
30254        self.server_address = server_address if server_address is not None else ''
30255        '''
30256         The URL of the Vault to target
30257        '''
30258        self.signing_role = signing_role if signing_role is not None else ''
30259        '''
30260         The signing role to be used for signing certificates
30261        '''
30262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30263        '''
30264         Tags is a map of key, value pairs.
30265        '''
30266
30267    def __repr__(self):
30268        return '<sdm.VaultTLSCertX509Store ' + \
30269            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30270            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30271            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30272            'id: ' + repr(self.id) + ' ' +\
30273            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30274            'name: ' + repr(self.name) + ' ' +\
30275            'namespace: ' + repr(self.namespace) + ' ' +\
30276            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30277            'server_address: ' + repr(self.server_address) + ' ' +\
30278            'signing_role: ' + repr(self.signing_role) + ' ' +\
30279            'tags: ' + repr(self.tags) + ' ' +\
30280            '>'
30281
30282    def to_dict(self):
30283        return {
30284            'ca_cert_path': self.ca_cert_path,
30285            'client_cert_path': self.client_cert_path,
30286            'client_key_path': self.client_key_path,
30287            'id': self.id,
30288            'issuedcertttlminutes': self.issuedcertttlminutes,
30289            'name': self.name,
30290            'namespace': self.namespace,
30291            'pki_mount_point': self.pki_mount_point,
30292            'server_address': self.server_address,
30293            'signing_role': self.signing_role,
30294            'tags': self.tags,
30295        }
30296
30297    @classmethod
30298    def from_dict(cls, d):
30299        return cls(
30300            ca_cert_path=d.get('ca_cert_path'),
30301            client_cert_path=d.get('client_cert_path'),
30302            client_key_path=d.get('client_key_path'),
30303            id=d.get('id'),
30304            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30305            name=d.get('name'),
30306            namespace=d.get('namespace'),
30307            pki_mount_point=d.get('pki_mount_point'),
30308            server_address=d.get('server_address'),
30309            signing_role=d.get('signing_role'),
30310            tags=d.get('tags'),
30311        )
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)
30208    def __init__(
30209        self,
30210        ca_cert_path=None,
30211        client_cert_path=None,
30212        client_key_path=None,
30213        id=None,
30214        issuedcertttlminutes=None,
30215        name=None,
30216        namespace=None,
30217        pki_mount_point=None,
30218        server_address=None,
30219        signing_role=None,
30220        tags=None,
30221    ):
30222        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30223        '''
30224         A path to a CA file accessible by a Node
30225        '''
30226        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30227        '''
30228         A path to a client certificate file accessible by a Node
30229        '''
30230        self.client_key_path = client_key_path if client_key_path is not None else ''
30231        '''
30232         A path to a client key file accessible by a Node
30233        '''
30234        self.id = id if id is not None else ''
30235        '''
30236         Unique identifier of the SecretStore.
30237        '''
30238        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30239        '''
30240         The lifetime of certificates issued by this CA represented in minutes.
30241        '''
30242        self.name = name if name is not None else ''
30243        '''
30244         Unique human-readable name of the SecretStore.
30245        '''
30246        self.namespace = namespace if namespace is not None else ''
30247        '''
30248         The namespace to make requests within
30249        '''
30250        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30251        '''
30252         The mount point of the PKI engine configured with the desired CA
30253        '''
30254        self.server_address = server_address if server_address is not None else ''
30255        '''
30256         The URL of the Vault to target
30257        '''
30258        self.signing_role = signing_role if signing_role is not None else ''
30259        '''
30260         The signing role to be used for signing certificates
30261        '''
30262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30263        '''
30264         Tags is a map of key, value pairs.
30265        '''
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)
30282    def to_dict(self):
30283        return {
30284            'ca_cert_path': self.ca_cert_path,
30285            'client_cert_path': self.client_cert_path,
30286            'client_key_path': self.client_key_path,
30287            'id': self.id,
30288            'issuedcertttlminutes': self.issuedcertttlminutes,
30289            'name': self.name,
30290            'namespace': self.namespace,
30291            'pki_mount_point': self.pki_mount_point,
30292            'server_address': self.server_address,
30293            'signing_role': self.signing_role,
30294            'tags': self.tags,
30295        }
@classmethod
def from_dict(cls, d)
30297    @classmethod
30298    def from_dict(cls, d):
30299        return cls(
30300            ca_cert_path=d.get('ca_cert_path'),
30301            client_cert_path=d.get('client_cert_path'),
30302            client_key_path=d.get('client_key_path'),
30303            id=d.get('id'),
30304            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30305            name=d.get('name'),
30306            namespace=d.get('namespace'),
30307            pki_mount_point=d.get('pki_mount_point'),
30308            server_address=d.get('server_address'),
30309            signing_role=d.get('signing_role'),
30310            tags=d.get('tags'),
30311        )
class VaultTLSStore:
30314class VaultTLSStore:
30315    __slots__ = [
30316        'ca_cert_path',
30317        'client_cert_path',
30318        'client_key_path',
30319        'id',
30320        'name',
30321        'namespace',
30322        'server_address',
30323        'tags',
30324    ]
30325
30326    def __init__(
30327        self,
30328        ca_cert_path=None,
30329        client_cert_path=None,
30330        client_key_path=None,
30331        id=None,
30332        name=None,
30333        namespace=None,
30334        server_address=None,
30335        tags=None,
30336    ):
30337        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30338        '''
30339         A path to a CA file accessible by a Node
30340        '''
30341        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30342        '''
30343         A path to a client certificate file accessible by a Node
30344        '''
30345        self.client_key_path = client_key_path if client_key_path is not None else ''
30346        '''
30347         A path to a client key file accessible by a Node
30348        '''
30349        self.id = id if id is not None else ''
30350        '''
30351         Unique identifier of the SecretStore.
30352        '''
30353        self.name = name if name is not None else ''
30354        '''
30355         Unique human-readable name of the SecretStore.
30356        '''
30357        self.namespace = namespace if namespace is not None else ''
30358        '''
30359         The namespace to make requests within
30360        '''
30361        self.server_address = server_address if server_address is not None else ''
30362        '''
30363         The URL of the Vault to target
30364        '''
30365        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30366        '''
30367         Tags is a map of key, value pairs.
30368        '''
30369
30370    def __repr__(self):
30371        return '<sdm.VaultTLSStore ' + \
30372            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
30373            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
30374            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
30375            'id: ' + repr(self.id) + ' ' +\
30376            'name: ' + repr(self.name) + ' ' +\
30377            'namespace: ' + repr(self.namespace) + ' ' +\
30378            'server_address: ' + repr(self.server_address) + ' ' +\
30379            'tags: ' + repr(self.tags) + ' ' +\
30380            '>'
30381
30382    def to_dict(self):
30383        return {
30384            'ca_cert_path': self.ca_cert_path,
30385            'client_cert_path': self.client_cert_path,
30386            'client_key_path': self.client_key_path,
30387            'id': self.id,
30388            'name': self.name,
30389            'namespace': self.namespace,
30390            'server_address': self.server_address,
30391            'tags': self.tags,
30392        }
30393
30394    @classmethod
30395    def from_dict(cls, d):
30396        return cls(
30397            ca_cert_path=d.get('ca_cert_path'),
30398            client_cert_path=d.get('client_cert_path'),
30399            client_key_path=d.get('client_key_path'),
30400            id=d.get('id'),
30401            name=d.get('name'),
30402            namespace=d.get('namespace'),
30403            server_address=d.get('server_address'),
30404            tags=d.get('tags'),
30405        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
30326    def __init__(
30327        self,
30328        ca_cert_path=None,
30329        client_cert_path=None,
30330        client_key_path=None,
30331        id=None,
30332        name=None,
30333        namespace=None,
30334        server_address=None,
30335        tags=None,
30336    ):
30337        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
30338        '''
30339         A path to a CA file accessible by a Node
30340        '''
30341        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
30342        '''
30343         A path to a client certificate file accessible by a Node
30344        '''
30345        self.client_key_path = client_key_path if client_key_path is not None else ''
30346        '''
30347         A path to a client key file accessible by a Node
30348        '''
30349        self.id = id if id is not None else ''
30350        '''
30351         Unique identifier of the SecretStore.
30352        '''
30353        self.name = name if name is not None else ''
30354        '''
30355         Unique human-readable name of the SecretStore.
30356        '''
30357        self.namespace = namespace if namespace is not None else ''
30358        '''
30359         The namespace to make requests within
30360        '''
30361        self.server_address = server_address if server_address is not None else ''
30362        '''
30363         The URL of the Vault to target
30364        '''
30365        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30366        '''
30367         Tags is a map of key, value pairs.
30368        '''
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)
30382    def to_dict(self):
30383        return {
30384            'ca_cert_path': self.ca_cert_path,
30385            'client_cert_path': self.client_cert_path,
30386            'client_key_path': self.client_key_path,
30387            'id': self.id,
30388            'name': self.name,
30389            'namespace': self.namespace,
30390            'server_address': self.server_address,
30391            'tags': self.tags,
30392        }
@classmethod
def from_dict(cls, d)
30394    @classmethod
30395    def from_dict(cls, d):
30396        return cls(
30397            ca_cert_path=d.get('ca_cert_path'),
30398            client_cert_path=d.get('client_cert_path'),
30399            client_key_path=d.get('client_key_path'),
30400            id=d.get('id'),
30401            name=d.get('name'),
30402            namespace=d.get('namespace'),
30403            server_address=d.get('server_address'),
30404            tags=d.get('tags'),
30405        )
class VaultTokenCertSSHStore:
30408class VaultTokenCertSSHStore:
30409    __slots__ = [
30410        'id',
30411        'issuedcertttlminutes',
30412        'name',
30413        'namespace',
30414        'server_address',
30415        'signing_role',
30416        'ssh_mount_point',
30417        'tags',
30418    ]
30419
30420    def __init__(
30421        self,
30422        id=None,
30423        issuedcertttlminutes=None,
30424        name=None,
30425        namespace=None,
30426        server_address=None,
30427        signing_role=None,
30428        ssh_mount_point=None,
30429        tags=None,
30430    ):
30431        self.id = id if id is not None else ''
30432        '''
30433         Unique identifier of the SecretStore.
30434        '''
30435        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30436        '''
30437         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30438        '''
30439        self.name = name if name is not None else ''
30440        '''
30441         Unique human-readable name of the SecretStore.
30442        '''
30443        self.namespace = namespace if namespace is not None else ''
30444        '''
30445         The namespace to make requests within
30446        '''
30447        self.server_address = server_address if server_address is not None else ''
30448        '''
30449         The URL of the Vault to target
30450        '''
30451        self.signing_role = signing_role if signing_role is not None else ''
30452        '''
30453         The signing role to be used for signing certificates
30454        '''
30455        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30456        '''
30457         The mount point of the SSH engine configured with the desired CA
30458        '''
30459        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30460        '''
30461         Tags is a map of key, value pairs.
30462        '''
30463
30464    def __repr__(self):
30465        return '<sdm.VaultTokenCertSSHStore ' + \
30466            'id: ' + repr(self.id) + ' ' +\
30467            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30468            'name: ' + repr(self.name) + ' ' +\
30469            'namespace: ' + repr(self.namespace) + ' ' +\
30470            'server_address: ' + repr(self.server_address) + ' ' +\
30471            'signing_role: ' + repr(self.signing_role) + ' ' +\
30472            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
30473            'tags: ' + repr(self.tags) + ' ' +\
30474            '>'
30475
30476    def to_dict(self):
30477        return {
30478            'id': self.id,
30479            'issuedcertttlminutes': self.issuedcertttlminutes,
30480            'name': self.name,
30481            'namespace': self.namespace,
30482            'server_address': self.server_address,
30483            'signing_role': self.signing_role,
30484            'ssh_mount_point': self.ssh_mount_point,
30485            'tags': self.tags,
30486        }
30487
30488    @classmethod
30489    def from_dict(cls, d):
30490        return cls(
30491            id=d.get('id'),
30492            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30493            name=d.get('name'),
30494            namespace=d.get('namespace'),
30495            server_address=d.get('server_address'),
30496            signing_role=d.get('signing_role'),
30497            ssh_mount_point=d.get('ssh_mount_point'),
30498            tags=d.get('tags'),
30499        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
30420    def __init__(
30421        self,
30422        id=None,
30423        issuedcertttlminutes=None,
30424        name=None,
30425        namespace=None,
30426        server_address=None,
30427        signing_role=None,
30428        ssh_mount_point=None,
30429        tags=None,
30430    ):
30431        self.id = id if id is not None else ''
30432        '''
30433         Unique identifier of the SecretStore.
30434        '''
30435        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30436        '''
30437         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
30438        '''
30439        self.name = name if name is not None else ''
30440        '''
30441         Unique human-readable name of the SecretStore.
30442        '''
30443        self.namespace = namespace if namespace is not None else ''
30444        '''
30445         The namespace to make requests within
30446        '''
30447        self.server_address = server_address if server_address is not None else ''
30448        '''
30449         The URL of the Vault to target
30450        '''
30451        self.signing_role = signing_role if signing_role is not None else ''
30452        '''
30453         The signing role to be used for signing certificates
30454        '''
30455        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
30456        '''
30457         The mount point of the SSH engine configured with the desired CA
30458        '''
30459        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30460        '''
30461         Tags is a map of key, value pairs.
30462        '''
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)
30476    def to_dict(self):
30477        return {
30478            'id': self.id,
30479            'issuedcertttlminutes': self.issuedcertttlminutes,
30480            'name': self.name,
30481            'namespace': self.namespace,
30482            'server_address': self.server_address,
30483            'signing_role': self.signing_role,
30484            'ssh_mount_point': self.ssh_mount_point,
30485            'tags': self.tags,
30486        }
@classmethod
def from_dict(cls, d)
30488    @classmethod
30489    def from_dict(cls, d):
30490        return cls(
30491            id=d.get('id'),
30492            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30493            name=d.get('name'),
30494            namespace=d.get('namespace'),
30495            server_address=d.get('server_address'),
30496            signing_role=d.get('signing_role'),
30497            ssh_mount_point=d.get('ssh_mount_point'),
30498            tags=d.get('tags'),
30499        )
class VaultTokenCertX509Store:
30502class VaultTokenCertX509Store:
30503    __slots__ = [
30504        'id',
30505        'issuedcertttlminutes',
30506        'name',
30507        'namespace',
30508        'pki_mount_point',
30509        'server_address',
30510        'signing_role',
30511        'tags',
30512    ]
30513
30514    def __init__(
30515        self,
30516        id=None,
30517        issuedcertttlminutes=None,
30518        name=None,
30519        namespace=None,
30520        pki_mount_point=None,
30521        server_address=None,
30522        signing_role=None,
30523        tags=None,
30524    ):
30525        self.id = id if id is not None else ''
30526        '''
30527         Unique identifier of the SecretStore.
30528        '''
30529        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30530        '''
30531         The lifetime of certificates issued by this CA represented in minutes.
30532        '''
30533        self.name = name if name is not None else ''
30534        '''
30535         Unique human-readable name of the SecretStore.
30536        '''
30537        self.namespace = namespace if namespace is not None else ''
30538        '''
30539         The namespace to make requests within
30540        '''
30541        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30542        '''
30543         The mount point of the PKI engine configured with the desired CA
30544        '''
30545        self.server_address = server_address if server_address is not None else ''
30546        '''
30547         The URL of the Vault to target
30548        '''
30549        self.signing_role = signing_role if signing_role is not None else ''
30550        '''
30551         The signing role to be used for signing certificates
30552        '''
30553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30554        '''
30555         Tags is a map of key, value pairs.
30556        '''
30557
30558    def __repr__(self):
30559        return '<sdm.VaultTokenCertX509Store ' + \
30560            'id: ' + repr(self.id) + ' ' +\
30561            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
30562            'name: ' + repr(self.name) + ' ' +\
30563            'namespace: ' + repr(self.namespace) + ' ' +\
30564            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
30565            'server_address: ' + repr(self.server_address) + ' ' +\
30566            'signing_role: ' + repr(self.signing_role) + ' ' +\
30567            'tags: ' + repr(self.tags) + ' ' +\
30568            '>'
30569
30570    def to_dict(self):
30571        return {
30572            'id': self.id,
30573            'issuedcertttlminutes': self.issuedcertttlminutes,
30574            'name': self.name,
30575            'namespace': self.namespace,
30576            'pki_mount_point': self.pki_mount_point,
30577            'server_address': self.server_address,
30578            'signing_role': self.signing_role,
30579            'tags': self.tags,
30580        }
30581
30582    @classmethod
30583    def from_dict(cls, d):
30584        return cls(
30585            id=d.get('id'),
30586            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30587            name=d.get('name'),
30588            namespace=d.get('namespace'),
30589            pki_mount_point=d.get('pki_mount_point'),
30590            server_address=d.get('server_address'),
30591            signing_role=d.get('signing_role'),
30592            tags=d.get('tags'),
30593        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
30514    def __init__(
30515        self,
30516        id=None,
30517        issuedcertttlminutes=None,
30518        name=None,
30519        namespace=None,
30520        pki_mount_point=None,
30521        server_address=None,
30522        signing_role=None,
30523        tags=None,
30524    ):
30525        self.id = id if id is not None else ''
30526        '''
30527         Unique identifier of the SecretStore.
30528        '''
30529        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
30530        '''
30531         The lifetime of certificates issued by this CA represented in minutes.
30532        '''
30533        self.name = name if name is not None else ''
30534        '''
30535         Unique human-readable name of the SecretStore.
30536        '''
30537        self.namespace = namespace if namespace is not None else ''
30538        '''
30539         The namespace to make requests within
30540        '''
30541        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
30542        '''
30543         The mount point of the PKI engine configured with the desired CA
30544        '''
30545        self.server_address = server_address if server_address is not None else ''
30546        '''
30547         The URL of the Vault to target
30548        '''
30549        self.signing_role = signing_role if signing_role is not None else ''
30550        '''
30551         The signing role to be used for signing certificates
30552        '''
30553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30554        '''
30555         Tags is a map of key, value pairs.
30556        '''
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)
30570    def to_dict(self):
30571        return {
30572            'id': self.id,
30573            'issuedcertttlminutes': self.issuedcertttlminutes,
30574            'name': self.name,
30575            'namespace': self.namespace,
30576            'pki_mount_point': self.pki_mount_point,
30577            'server_address': self.server_address,
30578            'signing_role': self.signing_role,
30579            'tags': self.tags,
30580        }
@classmethod
def from_dict(cls, d)
30582    @classmethod
30583    def from_dict(cls, d):
30584        return cls(
30585            id=d.get('id'),
30586            issuedcertttlminutes=d.get('issuedcertttlminutes'),
30587            name=d.get('name'),
30588            namespace=d.get('namespace'),
30589            pki_mount_point=d.get('pki_mount_point'),
30590            server_address=d.get('server_address'),
30591            signing_role=d.get('signing_role'),
30592            tags=d.get('tags'),
30593        )
class VaultTokenStore:
30596class VaultTokenStore:
30597    __slots__ = [
30598        'id',
30599        'name',
30600        'namespace',
30601        'server_address',
30602        'tags',
30603    ]
30604
30605    def __init__(
30606        self,
30607        id=None,
30608        name=None,
30609        namespace=None,
30610        server_address=None,
30611        tags=None,
30612    ):
30613        self.id = id if id is not None else ''
30614        '''
30615         Unique identifier of the SecretStore.
30616        '''
30617        self.name = name if name is not None else ''
30618        '''
30619         Unique human-readable name of the SecretStore.
30620        '''
30621        self.namespace = namespace if namespace is not None else ''
30622        '''
30623         The namespace to make requests within
30624        '''
30625        self.server_address = server_address if server_address is not None else ''
30626        '''
30627         The URL of the Vault to target
30628        '''
30629        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30630        '''
30631         Tags is a map of key, value pairs.
30632        '''
30633
30634    def __repr__(self):
30635        return '<sdm.VaultTokenStore ' + \
30636            'id: ' + repr(self.id) + ' ' +\
30637            'name: ' + repr(self.name) + ' ' +\
30638            'namespace: ' + repr(self.namespace) + ' ' +\
30639            'server_address: ' + repr(self.server_address) + ' ' +\
30640            'tags: ' + repr(self.tags) + ' ' +\
30641            '>'
30642
30643    def to_dict(self):
30644        return {
30645            'id': self.id,
30646            'name': self.name,
30647            'namespace': self.namespace,
30648            'server_address': self.server_address,
30649            'tags': self.tags,
30650        }
30651
30652    @classmethod
30653    def from_dict(cls, d):
30654        return cls(
30655            id=d.get('id'),
30656            name=d.get('name'),
30657            namespace=d.get('namespace'),
30658            server_address=d.get('server_address'),
30659            tags=d.get('tags'),
30660        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
30605    def __init__(
30606        self,
30607        id=None,
30608        name=None,
30609        namespace=None,
30610        server_address=None,
30611        tags=None,
30612    ):
30613        self.id = id if id is not None else ''
30614        '''
30615         Unique identifier of the SecretStore.
30616        '''
30617        self.name = name if name is not None else ''
30618        '''
30619         Unique human-readable name of the SecretStore.
30620        '''
30621        self.namespace = namespace if namespace is not None else ''
30622        '''
30623         The namespace to make requests within
30624        '''
30625        self.server_address = server_address if server_address is not None else ''
30626        '''
30627         The URL of the Vault to target
30628        '''
30629        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30630        '''
30631         Tags is a map of key, value pairs.
30632        '''
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)
30643    def to_dict(self):
30644        return {
30645            'id': self.id,
30646            'name': self.name,
30647            'namespace': self.namespace,
30648            'server_address': self.server_address,
30649            'tags': self.tags,
30650        }
@classmethod
def from_dict(cls, d)
30652    @classmethod
30653    def from_dict(cls, d):
30654        return cls(
30655            id=d.get('id'),
30656            name=d.get('name'),
30657            namespace=d.get('namespace'),
30658            server_address=d.get('server_address'),
30659            tags=d.get('tags'),
30660        )
class Vertica:
30663class Vertica:
30664    __slots__ = [
30665        'bind_interface',
30666        'database',
30667        'egress_filter',
30668        'healthy',
30669        'hostname',
30670        'id',
30671        'name',
30672        'password',
30673        'port',
30674        'port_override',
30675        'proxy_cluster_id',
30676        'secret_store_id',
30677        'subdomain',
30678        'tags',
30679        'username',
30680    ]
30681
30682    def __init__(
30683        self,
30684        bind_interface=None,
30685        database=None,
30686        egress_filter=None,
30687        healthy=None,
30688        hostname=None,
30689        id=None,
30690        name=None,
30691        password=None,
30692        port=None,
30693        port_override=None,
30694        proxy_cluster_id=None,
30695        secret_store_id=None,
30696        subdomain=None,
30697        tags=None,
30698        username=None,
30699    ):
30700        self.bind_interface = bind_interface if bind_interface is not None else ''
30701        '''
30702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30703        '''
30704        self.database = database if database is not None else ''
30705        '''
30706         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30707        '''
30708        self.egress_filter = egress_filter if egress_filter is not None else ''
30709        '''
30710         A filter applied to the routing logic to pin datasource to nodes.
30711        '''
30712        self.healthy = healthy if healthy is not None else False
30713        '''
30714         True if the datasource is reachable and the credentials are valid.
30715        '''
30716        self.hostname = hostname if hostname is not None else ''
30717        '''
30718         The host to dial to initiate a connection from the egress node to this resource.
30719        '''
30720        self.id = id if id is not None else ''
30721        '''
30722         Unique identifier of the Resource.
30723        '''
30724        self.name = name if name is not None else ''
30725        '''
30726         Unique human-readable name of the Resource.
30727        '''
30728        self.password = password if password is not None else ''
30729        '''
30730         The password to authenticate with.
30731        '''
30732        self.port = port if port is not None else 0
30733        '''
30734         The port to dial to initiate a connection from the egress node to this resource.
30735        '''
30736        self.port_override = port_override if port_override is not None else 0
30737        '''
30738         The local port used by clients to connect to this resource.
30739        '''
30740        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30741        '''
30742         ID of the proxy cluster for this resource, if any.
30743        '''
30744        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30745        '''
30746         ID of the secret store containing credentials for this resource, if any.
30747        '''
30748        self.subdomain = subdomain if subdomain is not None else ''
30749        '''
30750         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30751        '''
30752        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30753        '''
30754         Tags is a map of key, value pairs.
30755        '''
30756        self.username = username if username is not None else ''
30757        '''
30758         The username to authenticate with.
30759        '''
30760
30761    def __repr__(self):
30762        return '<sdm.Vertica ' + \
30763            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30764            'database: ' + repr(self.database) + ' ' +\
30765            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30766            'healthy: ' + repr(self.healthy) + ' ' +\
30767            'hostname: ' + repr(self.hostname) + ' ' +\
30768            'id: ' + repr(self.id) + ' ' +\
30769            'name: ' + repr(self.name) + ' ' +\
30770            'password: ' + repr(self.password) + ' ' +\
30771            'port: ' + repr(self.port) + ' ' +\
30772            'port_override: ' + repr(self.port_override) + ' ' +\
30773            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30774            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30775            'subdomain: ' + repr(self.subdomain) + ' ' +\
30776            'tags: ' + repr(self.tags) + ' ' +\
30777            'username: ' + repr(self.username) + ' ' +\
30778            '>'
30779
30780    def to_dict(self):
30781        return {
30782            'bind_interface': self.bind_interface,
30783            'database': self.database,
30784            'egress_filter': self.egress_filter,
30785            'healthy': self.healthy,
30786            'hostname': self.hostname,
30787            'id': self.id,
30788            'name': self.name,
30789            'password': self.password,
30790            'port': self.port,
30791            'port_override': self.port_override,
30792            'proxy_cluster_id': self.proxy_cluster_id,
30793            'secret_store_id': self.secret_store_id,
30794            'subdomain': self.subdomain,
30795            'tags': self.tags,
30796            'username': self.username,
30797        }
30798
30799    @classmethod
30800    def from_dict(cls, d):
30801        return cls(
30802            bind_interface=d.get('bind_interface'),
30803            database=d.get('database'),
30804            egress_filter=d.get('egress_filter'),
30805            healthy=d.get('healthy'),
30806            hostname=d.get('hostname'),
30807            id=d.get('id'),
30808            name=d.get('name'),
30809            password=d.get('password'),
30810            port=d.get('port'),
30811            port_override=d.get('port_override'),
30812            proxy_cluster_id=d.get('proxy_cluster_id'),
30813            secret_store_id=d.get('secret_store_id'),
30814            subdomain=d.get('subdomain'),
30815            tags=d.get('tags'),
30816            username=d.get('username'),
30817        )
Vertica( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, username=None)
30682    def __init__(
30683        self,
30684        bind_interface=None,
30685        database=None,
30686        egress_filter=None,
30687        healthy=None,
30688        hostname=None,
30689        id=None,
30690        name=None,
30691        password=None,
30692        port=None,
30693        port_override=None,
30694        proxy_cluster_id=None,
30695        secret_store_id=None,
30696        subdomain=None,
30697        tags=None,
30698        username=None,
30699    ):
30700        self.bind_interface = bind_interface if bind_interface is not None else ''
30701        '''
30702         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
30703        '''
30704        self.database = database if database is not None else ''
30705        '''
30706         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
30707        '''
30708        self.egress_filter = egress_filter if egress_filter is not None else ''
30709        '''
30710         A filter applied to the routing logic to pin datasource to nodes.
30711        '''
30712        self.healthy = healthy if healthy is not None else False
30713        '''
30714         True if the datasource is reachable and the credentials are valid.
30715        '''
30716        self.hostname = hostname if hostname is not None else ''
30717        '''
30718         The host to dial to initiate a connection from the egress node to this resource.
30719        '''
30720        self.id = id if id is not None else ''
30721        '''
30722         Unique identifier of the Resource.
30723        '''
30724        self.name = name if name is not None else ''
30725        '''
30726         Unique human-readable name of the Resource.
30727        '''
30728        self.password = password if password is not None else ''
30729        '''
30730         The password to authenticate with.
30731        '''
30732        self.port = port if port is not None else 0
30733        '''
30734         The port to dial to initiate a connection from the egress node to this resource.
30735        '''
30736        self.port_override = port_override if port_override is not None else 0
30737        '''
30738         The local port used by clients to connect to this resource.
30739        '''
30740        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30741        '''
30742         ID of the proxy cluster for this resource, if any.
30743        '''
30744        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30745        '''
30746         ID of the secret store containing credentials for this resource, if any.
30747        '''
30748        self.subdomain = subdomain if subdomain is not None else ''
30749        '''
30750         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
30751        '''
30752        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30753        '''
30754         Tags is a map of key, value pairs.
30755        '''
30756        self.username = username if username is not None else ''
30757        '''
30758         The username to authenticate with.
30759        '''
bind_interface

The bind interface is the IP 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)
30780    def to_dict(self):
30781        return {
30782            'bind_interface': self.bind_interface,
30783            'database': self.database,
30784            'egress_filter': self.egress_filter,
30785            'healthy': self.healthy,
30786            'hostname': self.hostname,
30787            'id': self.id,
30788            'name': self.name,
30789            'password': self.password,
30790            'port': self.port,
30791            'port_override': self.port_override,
30792            'proxy_cluster_id': self.proxy_cluster_id,
30793            'secret_store_id': self.secret_store_id,
30794            'subdomain': self.subdomain,
30795            'tags': self.tags,
30796            'username': self.username,
30797        }
@classmethod
def from_dict(cls, d)
30799    @classmethod
30800    def from_dict(cls, d):
30801        return cls(
30802            bind_interface=d.get('bind_interface'),
30803            database=d.get('database'),
30804            egress_filter=d.get('egress_filter'),
30805            healthy=d.get('healthy'),
30806            hostname=d.get('hostname'),
30807            id=d.get('id'),
30808            name=d.get('name'),
30809            password=d.get('password'),
30810            port=d.get('port'),
30811            port_override=d.get('port_override'),
30812            proxy_cluster_id=d.get('proxy_cluster_id'),
30813            secret_store_id=d.get('secret_store_id'),
30814            subdomain=d.get('subdomain'),
30815            tags=d.get('tags'),
30816            username=d.get('username'),
30817        )
class Workflow:
30820class Workflow:
30821    '''
30822         Workflows are the collection of rules that define the resources to which access can be requested,
30823     the users that can request that access, and the mechanism for approving those requests which can either
30824     but automatic approval or a set of users authorized to approve the requests.
30825    '''
30826    __slots__ = [
30827        'access_request_fixed_duration',
30828        'access_request_max_duration',
30829        'access_rules',
30830        'approval_flow_id',
30831        'auto_grant',
30832        'description',
30833        'enabled',
30834        'id',
30835        'name',
30836        'weight',
30837    ]
30838
30839    def __init__(
30840        self,
30841        access_request_fixed_duration=None,
30842        access_request_max_duration=None,
30843        access_rules=None,
30844        approval_flow_id=None,
30845        auto_grant=None,
30846        description=None,
30847        enabled=None,
30848        id=None,
30849        name=None,
30850        weight=None,
30851    ):
30852        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30853        '''
30854         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30855         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30856        '''
30857        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30858        '''
30859         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30860         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30861        '''
30862        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30863        )
30864        '''
30865         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30866        '''
30867        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30868        '''
30869         Optional approval flow ID identifies an approval flow that linked to the workflow
30870        '''
30871        self.auto_grant = auto_grant if auto_grant is not None else False
30872        '''
30873         Optional auto grant setting to automatically approve requests or not, defaults to false.
30874        '''
30875        self.description = description if description is not None else ''
30876        '''
30877         Optional description of the Workflow.
30878        '''
30879        self.enabled = enabled if enabled is not None else False
30880        '''
30881         Optional enabled state for workflow. This setting may be overridden by the system if
30882         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30883         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30884         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30885         the workflow.
30886        '''
30887        self.id = id if id is not None else ''
30888        '''
30889         Unique identifier of the Workflow.
30890        '''
30891        self.name = name if name is not None else ''
30892        '''
30893         Unique human-readable name of the Workflow.
30894        '''
30895        self.weight = weight if weight is not None else 0
30896        '''
30897         Optional weight for workflow to specify it's priority in matching a request.
30898        '''
30899
30900    def __repr__(self):
30901        return '<sdm.Workflow ' + \
30902            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
30903            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
30904            'access_rules: ' + repr(self.access_rules) + ' ' +\
30905            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
30906            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
30907            'description: ' + repr(self.description) + ' ' +\
30908            'enabled: ' + repr(self.enabled) + ' ' +\
30909            'id: ' + repr(self.id) + ' ' +\
30910            'name: ' + repr(self.name) + ' ' +\
30911            'weight: ' + repr(self.weight) + ' ' +\
30912            '>'
30913
30914    def to_dict(self):
30915        return {
30916            'access_request_fixed_duration':
30917            self.access_request_fixed_duration,
30918            'access_request_max_duration': self.access_request_max_duration,
30919            'access_rules': self.access_rules,
30920            'approval_flow_id': self.approval_flow_id,
30921            'auto_grant': self.auto_grant,
30922            'description': self.description,
30923            'enabled': self.enabled,
30924            'id': self.id,
30925            'name': self.name,
30926            'weight': self.weight,
30927        }
30928
30929    @classmethod
30930    def from_dict(cls, d):
30931        return cls(
30932            access_request_fixed_duration=d.get(
30933                'access_request_fixed_duration'),
30934            access_request_max_duration=d.get('access_request_max_duration'),
30935            access_rules=d.get('access_rules'),
30936            approval_flow_id=d.get('approval_flow_id'),
30937            auto_grant=d.get('auto_grant'),
30938            description=d.get('description'),
30939            enabled=d.get('enabled'),
30940            id=d.get('id'),
30941            name=d.get('name'),
30942            weight=d.get('weight'),
30943        )

Workflows are the collection of rules that define the resources to which access can be requested, the users that can request that access, and the mechanism for approving those requests which can either but automatic approval or a set of users authorized to approve the requests.

Workflow( access_request_fixed_duration=None, access_request_max_duration=None, access_rules=None, approval_flow_id=None, auto_grant=None, description=None, enabled=None, id=None, name=None, weight=None)
30839    def __init__(
30840        self,
30841        access_request_fixed_duration=None,
30842        access_request_max_duration=None,
30843        access_rules=None,
30844        approval_flow_id=None,
30845        auto_grant=None,
30846        description=None,
30847        enabled=None,
30848        id=None,
30849        name=None,
30850        weight=None,
30851    ):
30852        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
30853        '''
30854         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
30855         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30856        '''
30857        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
30858        '''
30859         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
30860         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
30861        '''
30862        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
30863        )
30864        '''
30865         AccessRules is a list of access rules defining the resources this Workflow provides access to.
30866        '''
30867        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
30868        '''
30869         Optional approval flow ID identifies an approval flow that linked to the workflow
30870        '''
30871        self.auto_grant = auto_grant if auto_grant is not None else False
30872        '''
30873         Optional auto grant setting to automatically approve requests or not, defaults to false.
30874        '''
30875        self.description = description if description is not None else ''
30876        '''
30877         Optional description of the Workflow.
30878        '''
30879        self.enabled = enabled if enabled is not None else False
30880        '''
30881         Optional enabled state for workflow. This setting may be overridden by the system if
30882         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
30883         enabling the workflow. The requirements to enable a workflow are that the workflow must be
30884         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
30885         the workflow.
30886        '''
30887        self.id = id if id is not None else ''
30888        '''
30889         Unique identifier of the Workflow.
30890        '''
30891        self.name = name if name is not None else ''
30892        '''
30893         Unique human-readable name of the Workflow.
30894        '''
30895        self.weight = weight if weight is not None else 0
30896        '''
30897         Optional weight for workflow to specify it's priority in matching a request.
30898        '''
access_request_fixed_duration

Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.

access_request_max_duration

Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty. If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.

access_rules

AccessRules is a list of access rules defining the resources this Workflow provides access to.

approval_flow_id

Optional approval flow ID identifies an approval flow that linked to the workflow

auto_grant

Optional auto grant setting to automatically approve requests or not, defaults to false.

description

Optional description of the Workflow.

enabled

Optional enabled state for workflow. This setting may be overridden by the system if the workflow doesn't meet the requirements to be enabled or if other conditions prevent enabling the workflow. The requirements to enable a workflow are that the workflow must be either set up for with auto grant enabled or have one or more WorkflowApprovers created for the workflow.

id

Unique identifier of the Workflow.

name

Unique human-readable name of the Workflow.

weight

Optional weight for workflow to specify it's priority in matching a request.

def to_dict(self)
30914    def to_dict(self):
30915        return {
30916            'access_request_fixed_duration':
30917            self.access_request_fixed_duration,
30918            'access_request_max_duration': self.access_request_max_duration,
30919            'access_rules': self.access_rules,
30920            'approval_flow_id': self.approval_flow_id,
30921            'auto_grant': self.auto_grant,
30922            'description': self.description,
30923            'enabled': self.enabled,
30924            'id': self.id,
30925            'name': self.name,
30926            'weight': self.weight,
30927        }
@classmethod
def from_dict(cls, d)
30929    @classmethod
30930    def from_dict(cls, d):
30931        return cls(
30932            access_request_fixed_duration=d.get(
30933                'access_request_fixed_duration'),
30934            access_request_max_duration=d.get('access_request_max_duration'),
30935            access_rules=d.get('access_rules'),
30936            approval_flow_id=d.get('approval_flow_id'),
30937            auto_grant=d.get('auto_grant'),
30938            description=d.get('description'),
30939            enabled=d.get('enabled'),
30940            id=d.get('id'),
30941            name=d.get('name'),
30942            weight=d.get('weight'),
30943        )
class WorkflowApprover:
30946class WorkflowApprover:
30947    '''
30948         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
30949    '''
30950    __slots__ = [
30951        'account_id',
30952        'id',
30953        'role_id',
30954        'workflow_id',
30955    ]
30956
30957    def __init__(
30958        self,
30959        account_id=None,
30960        id=None,
30961        role_id=None,
30962        workflow_id=None,
30963    ):
30964        self.account_id = account_id if account_id is not None else ''
30965        '''
30966         The approver account id.
30967        '''
30968        self.id = id if id is not None else ''
30969        '''
30970         Unique identifier of the WorkflowApprover.
30971        '''
30972        self.role_id = role_id if role_id is not None else ''
30973        '''
30974         The approver role id
30975        '''
30976        self.workflow_id = workflow_id if workflow_id is not None else ''
30977        '''
30978         The workflow id.
30979        '''
30980
30981    def __repr__(self):
30982        return '<sdm.WorkflowApprover ' + \
30983            'account_id: ' + repr(self.account_id) + ' ' +\
30984            'id: ' + repr(self.id) + ' ' +\
30985            'role_id: ' + repr(self.role_id) + ' ' +\
30986            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
30987            '>'
30988
30989    def to_dict(self):
30990        return {
30991            'account_id': self.account_id,
30992            'id': self.id,
30993            'role_id': self.role_id,
30994            'workflow_id': self.workflow_id,
30995        }
30996
30997    @classmethod
30998    def from_dict(cls, d):
30999        return cls(
31000            account_id=d.get('account_id'),
31001            id=d.get('id'),
31002            role_id=d.get('role_id'),
31003            workflow_id=d.get('workflow_id'),
31004        )

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)
30957    def __init__(
30958        self,
30959        account_id=None,
30960        id=None,
30961        role_id=None,
30962        workflow_id=None,
30963    ):
30964        self.account_id = account_id if account_id is not None else ''
30965        '''
30966         The approver account id.
30967        '''
30968        self.id = id if id is not None else ''
30969        '''
30970         Unique identifier of the WorkflowApprover.
30971        '''
30972        self.role_id = role_id if role_id is not None else ''
30973        '''
30974         The approver role id
30975        '''
30976        self.workflow_id = workflow_id if workflow_id is not None else ''
30977        '''
30978         The workflow id.
30979        '''
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)
30989    def to_dict(self):
30990        return {
30991            'account_id': self.account_id,
30992            'id': self.id,
30993            'role_id': self.role_id,
30994            'workflow_id': self.workflow_id,
30995        }
@classmethod
def from_dict(cls, d)
30997    @classmethod
30998    def from_dict(cls, d):
30999        return cls(
31000            account_id=d.get('account_id'),
31001            id=d.get('id'),
31002            role_id=d.get('role_id'),
31003            workflow_id=d.get('workflow_id'),
31004        )
class WorkflowApproverGetResponse:
31007class WorkflowApproverGetResponse:
31008    '''
31009         WorkflowApproverGetResponse returns a requested WorkflowApprover.
31010    '''
31011    __slots__ = [
31012        'meta',
31013        'rate_limit',
31014        'workflow_approver',
31015    ]
31016
31017    def __init__(
31018        self,
31019        meta=None,
31020        rate_limit=None,
31021        workflow_approver=None,
31022    ):
31023        self.meta = meta if meta is not None else None
31024        '''
31025         Reserved for future use.
31026        '''
31027        self.rate_limit = rate_limit if rate_limit is not None else None
31028        '''
31029         Rate limit information.
31030        '''
31031        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31032        '''
31033         The requested WorkflowApprover.
31034        '''
31035
31036    def __repr__(self):
31037        return '<sdm.WorkflowApproverGetResponse ' + \
31038            'meta: ' + repr(self.meta) + ' ' +\
31039            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31040            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31041            '>'
31042
31043    def to_dict(self):
31044        return {
31045            'meta': self.meta,
31046            'rate_limit': self.rate_limit,
31047            'workflow_approver': self.workflow_approver,
31048        }
31049
31050    @classmethod
31051    def from_dict(cls, d):
31052        return cls(
31053            meta=d.get('meta'),
31054            rate_limit=d.get('rate_limit'),
31055            workflow_approver=d.get('workflow_approver'),
31056        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
31017    def __init__(
31018        self,
31019        meta=None,
31020        rate_limit=None,
31021        workflow_approver=None,
31022    ):
31023        self.meta = meta if meta is not None else None
31024        '''
31025         Reserved for future use.
31026        '''
31027        self.rate_limit = rate_limit if rate_limit is not None else None
31028        '''
31029         Rate limit information.
31030        '''
31031        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31032        '''
31033         The requested WorkflowApprover.
31034        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
31043    def to_dict(self):
31044        return {
31045            'meta': self.meta,
31046            'rate_limit': self.rate_limit,
31047            'workflow_approver': self.workflow_approver,
31048        }
@classmethod
def from_dict(cls, d)
31050    @classmethod
31051    def from_dict(cls, d):
31052        return cls(
31053            meta=d.get('meta'),
31054            rate_limit=d.get('rate_limit'),
31055            workflow_approver=d.get('workflow_approver'),
31056        )
class WorkflowApproverHistory:
31059class WorkflowApproverHistory:
31060    '''
31061         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
31062    '''
31063    __slots__ = [
31064        'activity_id',
31065        'deleted_at',
31066        'timestamp',
31067        'workflow_approver',
31068    ]
31069
31070    def __init__(
31071        self,
31072        activity_id=None,
31073        deleted_at=None,
31074        timestamp=None,
31075        workflow_approver=None,
31076    ):
31077        self.activity_id = activity_id if activity_id is not None else ''
31078        '''
31079         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31080         May be empty for some system-initiated updates.
31081        '''
31082        self.deleted_at = deleted_at if deleted_at is not None else None
31083        '''
31084         If this WorkflowApprover was deleted, the time it was deleted.
31085        '''
31086        self.timestamp = timestamp if timestamp is not None else None
31087        '''
31088         The time at which the WorkflowApprover state was recorded.
31089        '''
31090        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31091        '''
31092         The complete WorkflowApprover state at this time.
31093        '''
31094
31095    def __repr__(self):
31096        return '<sdm.WorkflowApproverHistory ' + \
31097            'activity_id: ' + repr(self.activity_id) + ' ' +\
31098            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31099            'timestamp: ' + repr(self.timestamp) + ' ' +\
31100            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31101            '>'
31102
31103    def to_dict(self):
31104        return {
31105            'activity_id': self.activity_id,
31106            'deleted_at': self.deleted_at,
31107            'timestamp': self.timestamp,
31108            'workflow_approver': self.workflow_approver,
31109        }
31110
31111    @classmethod
31112    def from_dict(cls, d):
31113        return cls(
31114            activity_id=d.get('activity_id'),
31115            deleted_at=d.get('deleted_at'),
31116            timestamp=d.get('timestamp'),
31117            workflow_approver=d.get('workflow_approver'),
31118        )

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

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
31070    def __init__(
31071        self,
31072        activity_id=None,
31073        deleted_at=None,
31074        timestamp=None,
31075        workflow_approver=None,
31076    ):
31077        self.activity_id = activity_id if activity_id is not None else ''
31078        '''
31079         The unique identifier of the Activity that produced this change to the WorkflowApprover.
31080         May be empty for some system-initiated updates.
31081        '''
31082        self.deleted_at = deleted_at if deleted_at is not None else None
31083        '''
31084         If this WorkflowApprover was deleted, the time it was deleted.
31085        '''
31086        self.timestamp = timestamp if timestamp is not None else None
31087        '''
31088         The time at which the WorkflowApprover state was recorded.
31089        '''
31090        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31091        '''
31092         The complete WorkflowApprover state at this time.
31093        '''
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)
31103    def to_dict(self):
31104        return {
31105            'activity_id': self.activity_id,
31106            'deleted_at': self.deleted_at,
31107            'timestamp': self.timestamp,
31108            'workflow_approver': self.workflow_approver,
31109        }
@classmethod
def from_dict(cls, d)
31111    @classmethod
31112    def from_dict(cls, d):
31113        return cls(
31114            activity_id=d.get('activity_id'),
31115            deleted_at=d.get('deleted_at'),
31116            timestamp=d.get('timestamp'),
31117            workflow_approver=d.get('workflow_approver'),
31118        )
class WorkflowApproversCreateRequest:
31121class WorkflowApproversCreateRequest:
31122    '''
31123         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
31124     workflow approver to be created.
31125    '''
31126    __slots__ = [
31127        'workflow_approver',
31128    ]
31129
31130    def __init__(
31131        self,
31132        workflow_approver=None,
31133    ):
31134        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31135        '''
31136         Parameters to define the new WorkflowApprover.
31137        '''
31138
31139    def __repr__(self):
31140        return '<sdm.WorkflowApproversCreateRequest ' + \
31141            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31142            '>'
31143
31144    def to_dict(self):
31145        return {
31146            'workflow_approver': self.workflow_approver,
31147        }
31148
31149    @classmethod
31150    def from_dict(cls, d):
31151        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)
31130    def __init__(
31131        self,
31132        workflow_approver=None,
31133    ):
31134        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31135        '''
31136         Parameters to define the new WorkflowApprover.
31137        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
31144    def to_dict(self):
31145        return {
31146            'workflow_approver': self.workflow_approver,
31147        }
@classmethod
def from_dict(cls, d)
31149    @classmethod
31150    def from_dict(cls, d):
31151        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
31154class WorkflowApproversCreateResponse:
31155    '''
31156         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
31157    '''
31158    __slots__ = [
31159        'rate_limit',
31160        'workflow_approver',
31161    ]
31162
31163    def __init__(
31164        self,
31165        rate_limit=None,
31166        workflow_approver=None,
31167    ):
31168        self.rate_limit = rate_limit if rate_limit is not None else None
31169        '''
31170         Rate limit information.
31171        '''
31172        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31173        '''
31174         The created workflow approver.
31175        '''
31176
31177    def __repr__(self):
31178        return '<sdm.WorkflowApproversCreateResponse ' + \
31179            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31180            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
31181            '>'
31182
31183    def to_dict(self):
31184        return {
31185            'rate_limit': self.rate_limit,
31186            'workflow_approver': self.workflow_approver,
31187        }
31188
31189    @classmethod
31190    def from_dict(cls, d):
31191        return cls(
31192            rate_limit=d.get('rate_limit'),
31193            workflow_approver=d.get('workflow_approver'),
31194        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
31163    def __init__(
31164        self,
31165        rate_limit=None,
31166        workflow_approver=None,
31167    ):
31168        self.rate_limit = rate_limit if rate_limit is not None else None
31169        '''
31170         Rate limit information.
31171        '''
31172        self.workflow_approver = workflow_approver if workflow_approver is not None else None
31173        '''
31174         The created workflow approver.
31175        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
31183    def to_dict(self):
31184        return {
31185            'rate_limit': self.rate_limit,
31186            'workflow_approver': self.workflow_approver,
31187        }
@classmethod
def from_dict(cls, d)
31189    @classmethod
31190    def from_dict(cls, d):
31191        return cls(
31192            rate_limit=d.get('rate_limit'),
31193            workflow_approver=d.get('workflow_approver'),
31194        )
class WorkflowApproversDeleteRequest:
31197class WorkflowApproversDeleteRequest:
31198    '''
31199         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
31200    '''
31201    __slots__ = [
31202        'id',
31203    ]
31204
31205    def __init__(
31206        self,
31207        id=None,
31208    ):
31209        self.id = id if id is not None else ''
31210        '''
31211         The unique identifier of the WorkflowApprover to delete.
31212        '''
31213
31214    def __repr__(self):
31215        return '<sdm.WorkflowApproversDeleteRequest ' + \
31216            'id: ' + repr(self.id) + ' ' +\
31217            '>'
31218
31219    def to_dict(self):
31220        return {
31221            'id': self.id,
31222        }
31223
31224    @classmethod
31225    def from_dict(cls, d):
31226        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
31205    def __init__(
31206        self,
31207        id=None,
31208    ):
31209        self.id = id if id is not None else ''
31210        '''
31211         The unique identifier of the WorkflowApprover to delete.
31212        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
31219    def to_dict(self):
31220        return {
31221            'id': self.id,
31222        }
@classmethod
def from_dict(cls, d)
31224    @classmethod
31225    def from_dict(cls, d):
31226        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
31229class WorkflowApproversDeleteResponse:
31230    '''
31231         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
31232    '''
31233    __slots__ = [
31234        'rate_limit',
31235    ]
31236
31237    def __init__(
31238        self,
31239        rate_limit=None,
31240    ):
31241        self.rate_limit = rate_limit if rate_limit is not None else None
31242        '''
31243         Rate limit information.
31244        '''
31245
31246    def __repr__(self):
31247        return '<sdm.WorkflowApproversDeleteResponse ' + \
31248            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31249            '>'
31250
31251    def to_dict(self):
31252        return {
31253            'rate_limit': self.rate_limit,
31254        }
31255
31256    @classmethod
31257    def from_dict(cls, d):
31258        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
31237    def __init__(
31238        self,
31239        rate_limit=None,
31240    ):
31241        self.rate_limit = rate_limit if rate_limit is not None else None
31242        '''
31243         Rate limit information.
31244        '''
rate_limit

Rate limit information.

def to_dict(self)
31251    def to_dict(self):
31252        return {
31253            'rate_limit': self.rate_limit,
31254        }
@classmethod
def from_dict(cls, d)
31256    @classmethod
31257    def from_dict(cls, d):
31258        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
31261class WorkflowApproversListRequest:
31262    '''
31263         WorkflowApproversListRequest specifies criteria for retrieving a list of
31264     WorkflowApprover records
31265    '''
31266    __slots__ = [
31267        'filter',
31268    ]
31269
31270    def __init__(
31271        self,
31272        filter=None,
31273    ):
31274        self.filter = filter if filter is not None else ''
31275        '''
31276         A human-readable filter query string.
31277        '''
31278
31279    def __repr__(self):
31280        return '<sdm.WorkflowApproversListRequest ' + \
31281            'filter: ' + repr(self.filter) + ' ' +\
31282            '>'
31283
31284    def to_dict(self):
31285        return {
31286            'filter': self.filter,
31287        }
31288
31289    @classmethod
31290    def from_dict(cls, d):
31291        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
31270    def __init__(
31271        self,
31272        filter=None,
31273    ):
31274        self.filter = filter if filter is not None else ''
31275        '''
31276         A human-readable filter query string.
31277        '''
filter

A human-readable filter query string.

def to_dict(self)
31284    def to_dict(self):
31285        return {
31286            'filter': self.filter,
31287        }
@classmethod
def from_dict(cls, d)
31289    @classmethod
31290    def from_dict(cls, d):
31291        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
31294class WorkflowApproversListResponse:
31295    '''
31296         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
31297     the criteria of a WorkflowApproversListRequest.
31298    '''
31299    __slots__ = [
31300        'rate_limit',
31301    ]
31302
31303    def __init__(
31304        self,
31305        rate_limit=None,
31306    ):
31307        self.rate_limit = rate_limit if rate_limit is not None else None
31308        '''
31309         Rate limit information.
31310        '''
31311
31312    def __repr__(self):
31313        return '<sdm.WorkflowApproversListResponse ' + \
31314            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31315            '>'
31316
31317    def to_dict(self):
31318        return {
31319            'rate_limit': self.rate_limit,
31320        }
31321
31322    @classmethod
31323    def from_dict(cls, d):
31324        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)
31303    def __init__(
31304        self,
31305        rate_limit=None,
31306    ):
31307        self.rate_limit = rate_limit if rate_limit is not None else None
31308        '''
31309         Rate limit information.
31310        '''
rate_limit

Rate limit information.

def to_dict(self)
31317    def to_dict(self):
31318        return {
31319            'rate_limit': self.rate_limit,
31320        }
@classmethod
def from_dict(cls, d)
31322    @classmethod
31323    def from_dict(cls, d):
31324        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowAssignment:
31327class WorkflowAssignment:
31328    '''
31329         WorkflowAssignment links a Resource to a Workflow. The assigned resources are those that a user can request
31330     access to via the workflow.
31331    '''
31332    __slots__ = [
31333        'resource_id',
31334        'workflow_id',
31335    ]
31336
31337    def __init__(
31338        self,
31339        resource_id=None,
31340        workflow_id=None,
31341    ):
31342        self.resource_id = resource_id if resource_id is not None else ''
31343        '''
31344         The resource id.
31345        '''
31346        self.workflow_id = workflow_id if workflow_id is not None else ''
31347        '''
31348         The workflow id.
31349        '''
31350
31351    def __repr__(self):
31352        return '<sdm.WorkflowAssignment ' + \
31353            'resource_id: ' + repr(self.resource_id) + ' ' +\
31354            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31355            '>'
31356
31357    def to_dict(self):
31358        return {
31359            'resource_id': self.resource_id,
31360            'workflow_id': self.workflow_id,
31361        }
31362
31363    @classmethod
31364    def from_dict(cls, d):
31365        return cls(
31366            resource_id=d.get('resource_id'),
31367            workflow_id=d.get('workflow_id'),
31368        )

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)
31337    def __init__(
31338        self,
31339        resource_id=None,
31340        workflow_id=None,
31341    ):
31342        self.resource_id = resource_id if resource_id is not None else ''
31343        '''
31344         The resource id.
31345        '''
31346        self.workflow_id = workflow_id if workflow_id is not None else ''
31347        '''
31348         The workflow id.
31349        '''
resource_id

The resource id.

workflow_id

The workflow id.

def to_dict(self)
31357    def to_dict(self):
31358        return {
31359            'resource_id': self.resource_id,
31360            'workflow_id': self.workflow_id,
31361        }
@classmethod
def from_dict(cls, d)
31363    @classmethod
31364    def from_dict(cls, d):
31365        return cls(
31366            resource_id=d.get('resource_id'),
31367            workflow_id=d.get('workflow_id'),
31368        )
class WorkflowAssignmentHistory:
31371class WorkflowAssignmentHistory:
31372    '''
31373         WorkflowAssignmentsHistory provides records of all changes to the state of a WorkflowAssignment.
31374    '''
31375    __slots__ = [
31376        'activity_id',
31377        'deleted_at',
31378        'timestamp',
31379        'workflow_assignment',
31380    ]
31381
31382    def __init__(
31383        self,
31384        activity_id=None,
31385        deleted_at=None,
31386        timestamp=None,
31387        workflow_assignment=None,
31388    ):
31389        self.activity_id = activity_id if activity_id is not None else ''
31390        '''
31391         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31392         May be empty for some system-initiated updates.
31393        '''
31394        self.deleted_at = deleted_at if deleted_at is not None else None
31395        '''
31396         If this WorkflowAssignment was deleted, the time it was deleted.
31397        '''
31398        self.timestamp = timestamp if timestamp is not None else None
31399        '''
31400         The time at which the WorkflowAssignment state was recorded.
31401        '''
31402        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31403        '''
31404         The complete WorkflowAssignment state at this time.
31405        '''
31406
31407    def __repr__(self):
31408        return '<sdm.WorkflowAssignmentHistory ' + \
31409            'activity_id: ' + repr(self.activity_id) + ' ' +\
31410            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31411            'timestamp: ' + repr(self.timestamp) + ' ' +\
31412            'workflow_assignment: ' + repr(self.workflow_assignment) + ' ' +\
31413            '>'
31414
31415    def to_dict(self):
31416        return {
31417            'activity_id': self.activity_id,
31418            'deleted_at': self.deleted_at,
31419            'timestamp': self.timestamp,
31420            'workflow_assignment': self.workflow_assignment,
31421        }
31422
31423    @classmethod
31424    def from_dict(cls, d):
31425        return cls(
31426            activity_id=d.get('activity_id'),
31427            deleted_at=d.get('deleted_at'),
31428            timestamp=d.get('timestamp'),
31429            workflow_assignment=d.get('workflow_assignment'),
31430        )

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

WorkflowAssignmentHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_assignment=None)
31382    def __init__(
31383        self,
31384        activity_id=None,
31385        deleted_at=None,
31386        timestamp=None,
31387        workflow_assignment=None,
31388    ):
31389        self.activity_id = activity_id if activity_id is not None else ''
31390        '''
31391         The unique identifier of the Activity that produced this change to the WorkflowAssignment.
31392         May be empty for some system-initiated updates.
31393        '''
31394        self.deleted_at = deleted_at if deleted_at is not None else None
31395        '''
31396         If this WorkflowAssignment was deleted, the time it was deleted.
31397        '''
31398        self.timestamp = timestamp if timestamp is not None else None
31399        '''
31400         The time at which the WorkflowAssignment state was recorded.
31401        '''
31402        self.workflow_assignment = workflow_assignment if workflow_assignment is not None else None
31403        '''
31404         The complete WorkflowAssignment state at this time.
31405        '''
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)
31415    def to_dict(self):
31416        return {
31417            'activity_id': self.activity_id,
31418            'deleted_at': self.deleted_at,
31419            'timestamp': self.timestamp,
31420            'workflow_assignment': self.workflow_assignment,
31421        }
@classmethod
def from_dict(cls, d)
31423    @classmethod
31424    def from_dict(cls, d):
31425        return cls(
31426            activity_id=d.get('activity_id'),
31427            deleted_at=d.get('deleted_at'),
31428            timestamp=d.get('timestamp'),
31429            workflow_assignment=d.get('workflow_assignment'),
31430        )
class WorkflowAssignmentsListRequest:
31433class WorkflowAssignmentsListRequest:
31434    '''
31435         WorkflowAssignmentsListRequest specifies criteria for retrieving a list of
31436     WorkflowAssignment records
31437    '''
31438    __slots__ = [
31439        'filter',
31440    ]
31441
31442    def __init__(
31443        self,
31444        filter=None,
31445    ):
31446        self.filter = filter if filter is not None else ''
31447        '''
31448         A human-readable filter query string.
31449        '''
31450
31451    def __repr__(self):
31452        return '<sdm.WorkflowAssignmentsListRequest ' + \
31453            'filter: ' + repr(self.filter) + ' ' +\
31454            '>'
31455
31456    def to_dict(self):
31457        return {
31458            'filter': self.filter,
31459        }
31460
31461    @classmethod
31462    def from_dict(cls, d):
31463        return cls(filter=d.get('filter'), )

WorkflowAssignmentsListRequest specifies criteria for retrieving a list of WorkflowAssignment records

WorkflowAssignmentsListRequest(filter=None)
31442    def __init__(
31443        self,
31444        filter=None,
31445    ):
31446        self.filter = filter if filter is not None else ''
31447        '''
31448         A human-readable filter query string.
31449        '''
filter

A human-readable filter query string.

def to_dict(self)
31456    def to_dict(self):
31457        return {
31458            'filter': self.filter,
31459        }
@classmethod
def from_dict(cls, d)
31461    @classmethod
31462    def from_dict(cls, d):
31463        return cls(filter=d.get('filter'), )
class WorkflowAssignmentsListResponse:
31466class WorkflowAssignmentsListResponse:
31467    '''
31468         WorkflowAssignmentsListResponse returns a list of WorkflowAssignment records that meet
31469     the criteria of a WorkflowAssignmentsListRequest.
31470    '''
31471    __slots__ = [
31472        'rate_limit',
31473    ]
31474
31475    def __init__(
31476        self,
31477        rate_limit=None,
31478    ):
31479        self.rate_limit = rate_limit if rate_limit is not None else None
31480        '''
31481         Rate limit information.
31482        '''
31483
31484    def __repr__(self):
31485        return '<sdm.WorkflowAssignmentsListResponse ' + \
31486            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31487            '>'
31488
31489    def to_dict(self):
31490        return {
31491            'rate_limit': self.rate_limit,
31492        }
31493
31494    @classmethod
31495    def from_dict(cls, d):
31496        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)
31475    def __init__(
31476        self,
31477        rate_limit=None,
31478    ):
31479        self.rate_limit = rate_limit if rate_limit is not None else None
31480        '''
31481         Rate limit information.
31482        '''
rate_limit

Rate limit information.

def to_dict(self)
31489    def to_dict(self):
31490        return {
31491            'rate_limit': self.rate_limit,
31492        }
@classmethod
def from_dict(cls, d)
31494    @classmethod
31495    def from_dict(cls, d):
31496        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
31499class WorkflowCreateResponse:
31500    '''
31501         WorkflowCreateResponse reports how the Workflow was created in the system.
31502    '''
31503    __slots__ = [
31504        'rate_limit',
31505        'workflow',
31506    ]
31507
31508    def __init__(
31509        self,
31510        rate_limit=None,
31511        workflow=None,
31512    ):
31513        self.rate_limit = rate_limit if rate_limit is not None else None
31514        '''
31515         Rate limit information.
31516        '''
31517        self.workflow = workflow if workflow is not None else None
31518        '''
31519         The created workflow.
31520        '''
31521
31522    def __repr__(self):
31523        return '<sdm.WorkflowCreateResponse ' + \
31524            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31525            'workflow: ' + repr(self.workflow) + ' ' +\
31526            '>'
31527
31528    def to_dict(self):
31529        return {
31530            'rate_limit': self.rate_limit,
31531            'workflow': self.workflow,
31532        }
31533
31534    @classmethod
31535    def from_dict(cls, d):
31536        return cls(
31537            rate_limit=d.get('rate_limit'),
31538            workflow=d.get('workflow'),
31539        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
31508    def __init__(
31509        self,
31510        rate_limit=None,
31511        workflow=None,
31512    ):
31513        self.rate_limit = rate_limit if rate_limit is not None else None
31514        '''
31515         Rate limit information.
31516        '''
31517        self.workflow = workflow if workflow is not None else None
31518        '''
31519         The created workflow.
31520        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
31528    def to_dict(self):
31529        return {
31530            'rate_limit': self.rate_limit,
31531            'workflow': self.workflow,
31532        }
@classmethod
def from_dict(cls, d)
31534    @classmethod
31535    def from_dict(cls, d):
31536        return cls(
31537            rate_limit=d.get('rate_limit'),
31538            workflow=d.get('workflow'),
31539        )
class WorkflowDeleteResponse:
31542class WorkflowDeleteResponse:
31543    '''
31544         WorkflowDeleteResponse returns information about a Workflow that was deleted.
31545    '''
31546    __slots__ = [
31547        'id',
31548        'rate_limit',
31549    ]
31550
31551    def __init__(
31552        self,
31553        id=None,
31554        rate_limit=None,
31555    ):
31556        self.id = id if id is not None else ''
31557        '''
31558         The deleted workflow id.
31559        '''
31560        self.rate_limit = rate_limit if rate_limit is not None else None
31561        '''
31562         Rate limit information.
31563        '''
31564
31565    def __repr__(self):
31566        return '<sdm.WorkflowDeleteResponse ' + \
31567            'id: ' + repr(self.id) + ' ' +\
31568            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31569            '>'
31570
31571    def to_dict(self):
31572        return {
31573            'id': self.id,
31574            'rate_limit': self.rate_limit,
31575        }
31576
31577    @classmethod
31578    def from_dict(cls, d):
31579        return cls(
31580            id=d.get('id'),
31581            rate_limit=d.get('rate_limit'),
31582        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
31551    def __init__(
31552        self,
31553        id=None,
31554        rate_limit=None,
31555    ):
31556        self.id = id if id is not None else ''
31557        '''
31558         The deleted workflow id.
31559        '''
31560        self.rate_limit = rate_limit if rate_limit is not None else None
31561        '''
31562         Rate limit information.
31563        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
31571    def to_dict(self):
31572        return {
31573            'id': self.id,
31574            'rate_limit': self.rate_limit,
31575        }
@classmethod
def from_dict(cls, d)
31577    @classmethod
31578    def from_dict(cls, d):
31579        return cls(
31580            id=d.get('id'),
31581            rate_limit=d.get('rate_limit'),
31582        )
class WorkflowGetResponse:
31585class WorkflowGetResponse:
31586    '''
31587         WorkflowGetResponse returns a requested Workflow.
31588    '''
31589    __slots__ = [
31590        'meta',
31591        'rate_limit',
31592        'workflow',
31593    ]
31594
31595    def __init__(
31596        self,
31597        meta=None,
31598        rate_limit=None,
31599        workflow=None,
31600    ):
31601        self.meta = meta if meta is not None else None
31602        '''
31603         Reserved for future use.
31604        '''
31605        self.rate_limit = rate_limit if rate_limit is not None else None
31606        '''
31607         Rate limit information.
31608        '''
31609        self.workflow = workflow if workflow is not None else None
31610        '''
31611         The requested Workflow.
31612        '''
31613
31614    def __repr__(self):
31615        return '<sdm.WorkflowGetResponse ' + \
31616            'meta: ' + repr(self.meta) + ' ' +\
31617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31618            'workflow: ' + repr(self.workflow) + ' ' +\
31619            '>'
31620
31621    def to_dict(self):
31622        return {
31623            'meta': self.meta,
31624            'rate_limit': self.rate_limit,
31625            'workflow': self.workflow,
31626        }
31627
31628    @classmethod
31629    def from_dict(cls, d):
31630        return cls(
31631            meta=d.get('meta'),
31632            rate_limit=d.get('rate_limit'),
31633            workflow=d.get('workflow'),
31634        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
31595    def __init__(
31596        self,
31597        meta=None,
31598        rate_limit=None,
31599        workflow=None,
31600    ):
31601        self.meta = meta if meta is not None else None
31602        '''
31603         Reserved for future use.
31604        '''
31605        self.rate_limit = rate_limit if rate_limit is not None else None
31606        '''
31607         Rate limit information.
31608        '''
31609        self.workflow = workflow if workflow is not None else None
31610        '''
31611         The requested Workflow.
31612        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
31621    def to_dict(self):
31622        return {
31623            'meta': self.meta,
31624            'rate_limit': self.rate_limit,
31625            'workflow': self.workflow,
31626        }
@classmethod
def from_dict(cls, d)
31628    @classmethod
31629    def from_dict(cls, d):
31630        return cls(
31631            meta=d.get('meta'),
31632            rate_limit=d.get('rate_limit'),
31633            workflow=d.get('workflow'),
31634        )
class WorkflowHistory:
31637class WorkflowHistory:
31638    '''
31639         WorkflowsHistory provides records of all changes to the state of a Workflow.
31640    '''
31641    __slots__ = [
31642        'activity_id',
31643        'deleted_at',
31644        'timestamp',
31645        'workflow',
31646    ]
31647
31648    def __init__(
31649        self,
31650        activity_id=None,
31651        deleted_at=None,
31652        timestamp=None,
31653        workflow=None,
31654    ):
31655        self.activity_id = activity_id if activity_id is not None else ''
31656        '''
31657         The unique identifier of the Activity that produced this change to the Workflow.
31658         May be empty for some system-initiated updates.
31659        '''
31660        self.deleted_at = deleted_at if deleted_at is not None else None
31661        '''
31662         If this Workflow was deleted, the time it was deleted.
31663        '''
31664        self.timestamp = timestamp if timestamp is not None else None
31665        '''
31666         The time at which the Workflow state was recorded.
31667        '''
31668        self.workflow = workflow if workflow is not None else None
31669        '''
31670         The complete Workflow state at this time.
31671        '''
31672
31673    def __repr__(self):
31674        return '<sdm.WorkflowHistory ' + \
31675            'activity_id: ' + repr(self.activity_id) + ' ' +\
31676            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31677            'timestamp: ' + repr(self.timestamp) + ' ' +\
31678            'workflow: ' + repr(self.workflow) + ' ' +\
31679            '>'
31680
31681    def to_dict(self):
31682        return {
31683            'activity_id': self.activity_id,
31684            'deleted_at': self.deleted_at,
31685            'timestamp': self.timestamp,
31686            'workflow': self.workflow,
31687        }
31688
31689    @classmethod
31690    def from_dict(cls, d):
31691        return cls(
31692            activity_id=d.get('activity_id'),
31693            deleted_at=d.get('deleted_at'),
31694            timestamp=d.get('timestamp'),
31695            workflow=d.get('workflow'),
31696        )

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

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
31648    def __init__(
31649        self,
31650        activity_id=None,
31651        deleted_at=None,
31652        timestamp=None,
31653        workflow=None,
31654    ):
31655        self.activity_id = activity_id if activity_id is not None else ''
31656        '''
31657         The unique identifier of the Activity that produced this change to the Workflow.
31658         May be empty for some system-initiated updates.
31659        '''
31660        self.deleted_at = deleted_at if deleted_at is not None else None
31661        '''
31662         If this Workflow was deleted, the time it was deleted.
31663        '''
31664        self.timestamp = timestamp if timestamp is not None else None
31665        '''
31666         The time at which the Workflow state was recorded.
31667        '''
31668        self.workflow = workflow if workflow is not None else None
31669        '''
31670         The complete Workflow state at this time.
31671        '''
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)
31681    def to_dict(self):
31682        return {
31683            'activity_id': self.activity_id,
31684            'deleted_at': self.deleted_at,
31685            'timestamp': self.timestamp,
31686            'workflow': self.workflow,
31687        }
@classmethod
def from_dict(cls, d)
31689    @classmethod
31690    def from_dict(cls, d):
31691        return cls(
31692            activity_id=d.get('activity_id'),
31693            deleted_at=d.get('deleted_at'),
31694            timestamp=d.get('timestamp'),
31695            workflow=d.get('workflow'),
31696        )
class WorkflowListResponse:
31699class WorkflowListResponse:
31700    '''
31701         WorkflowListResponse returns a list of Workflow records that meet
31702     the criteria of a WorkflowListRequest.
31703    '''
31704    __slots__ = [
31705        'rate_limit',
31706    ]
31707
31708    def __init__(
31709        self,
31710        rate_limit=None,
31711    ):
31712        self.rate_limit = rate_limit if rate_limit is not None else None
31713        '''
31714         Rate limit information.
31715        '''
31716
31717    def __repr__(self):
31718        return '<sdm.WorkflowListResponse ' + \
31719            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31720            '>'
31721
31722    def to_dict(self):
31723        return {
31724            'rate_limit': self.rate_limit,
31725        }
31726
31727    @classmethod
31728    def from_dict(cls, d):
31729        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)
31708    def __init__(
31709        self,
31710        rate_limit=None,
31711    ):
31712        self.rate_limit = rate_limit if rate_limit is not None else None
31713        '''
31714         Rate limit information.
31715        '''
rate_limit

Rate limit information.

def to_dict(self)
31722    def to_dict(self):
31723        return {
31724            'rate_limit': self.rate_limit,
31725        }
@classmethod
def from_dict(cls, d)
31727    @classmethod
31728    def from_dict(cls, d):
31729        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
31732class WorkflowRole:
31733    '''
31734         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
31735     to request access to a resource via the workflow.
31736    '''
31737    __slots__ = [
31738        'id',
31739        'role_id',
31740        'workflow_id',
31741    ]
31742
31743    def __init__(
31744        self,
31745        id=None,
31746        role_id=None,
31747        workflow_id=None,
31748    ):
31749        self.id = id if id is not None else ''
31750        '''
31751         Unique identifier of the WorkflowRole.
31752        '''
31753        self.role_id = role_id if role_id is not None else ''
31754        '''
31755         The role id.
31756        '''
31757        self.workflow_id = workflow_id if workflow_id is not None else ''
31758        '''
31759         The workflow id.
31760        '''
31761
31762    def __repr__(self):
31763        return '<sdm.WorkflowRole ' + \
31764            'id: ' + repr(self.id) + ' ' +\
31765            'role_id: ' + repr(self.role_id) + ' ' +\
31766            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
31767            '>'
31768
31769    def to_dict(self):
31770        return {
31771            'id': self.id,
31772            'role_id': self.role_id,
31773            'workflow_id': self.workflow_id,
31774        }
31775
31776    @classmethod
31777    def from_dict(cls, d):
31778        return cls(
31779            id=d.get('id'),
31780            role_id=d.get('role_id'),
31781            workflow_id=d.get('workflow_id'),
31782        )

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)
31743    def __init__(
31744        self,
31745        id=None,
31746        role_id=None,
31747        workflow_id=None,
31748    ):
31749        self.id = id if id is not None else ''
31750        '''
31751         Unique identifier of the WorkflowRole.
31752        '''
31753        self.role_id = role_id if role_id is not None else ''
31754        '''
31755         The role id.
31756        '''
31757        self.workflow_id = workflow_id if workflow_id is not None else ''
31758        '''
31759         The workflow id.
31760        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
31769    def to_dict(self):
31770        return {
31771            'id': self.id,
31772            'role_id': self.role_id,
31773            'workflow_id': self.workflow_id,
31774        }
@classmethod
def from_dict(cls, d)
31776    @classmethod
31777    def from_dict(cls, d):
31778        return cls(
31779            id=d.get('id'),
31780            role_id=d.get('role_id'),
31781            workflow_id=d.get('workflow_id'),
31782        )
class WorkflowRoleGetResponse:
31785class WorkflowRoleGetResponse:
31786    '''
31787         WorkflowRoleGetResponse returns a requested WorkflowRole.
31788    '''
31789    __slots__ = [
31790        'meta',
31791        'rate_limit',
31792        'workflow_role',
31793    ]
31794
31795    def __init__(
31796        self,
31797        meta=None,
31798        rate_limit=None,
31799        workflow_role=None,
31800    ):
31801        self.meta = meta if meta is not None else None
31802        '''
31803         Reserved for future use.
31804        '''
31805        self.rate_limit = rate_limit if rate_limit is not None else None
31806        '''
31807         Rate limit information.
31808        '''
31809        self.workflow_role = workflow_role if workflow_role is not None else None
31810        '''
31811         The requested WorkflowRole.
31812        '''
31813
31814    def __repr__(self):
31815        return '<sdm.WorkflowRoleGetResponse ' + \
31816            'meta: ' + repr(self.meta) + ' ' +\
31817            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31818            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31819            '>'
31820
31821    def to_dict(self):
31822        return {
31823            'meta': self.meta,
31824            'rate_limit': self.rate_limit,
31825            'workflow_role': self.workflow_role,
31826        }
31827
31828    @classmethod
31829    def from_dict(cls, d):
31830        return cls(
31831            meta=d.get('meta'),
31832            rate_limit=d.get('rate_limit'),
31833            workflow_role=d.get('workflow_role'),
31834        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
31795    def __init__(
31796        self,
31797        meta=None,
31798        rate_limit=None,
31799        workflow_role=None,
31800    ):
31801        self.meta = meta if meta is not None else None
31802        '''
31803         Reserved for future use.
31804        '''
31805        self.rate_limit = rate_limit if rate_limit is not None else None
31806        '''
31807         Rate limit information.
31808        '''
31809        self.workflow_role = workflow_role if workflow_role is not None else None
31810        '''
31811         The requested WorkflowRole.
31812        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
31821    def to_dict(self):
31822        return {
31823            'meta': self.meta,
31824            'rate_limit': self.rate_limit,
31825            'workflow_role': self.workflow_role,
31826        }
@classmethod
def from_dict(cls, d)
31828    @classmethod
31829    def from_dict(cls, d):
31830        return cls(
31831            meta=d.get('meta'),
31832            rate_limit=d.get('rate_limit'),
31833            workflow_role=d.get('workflow_role'),
31834        )
class WorkflowRoleHistory:
31837class WorkflowRoleHistory:
31838    '''
31839         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
31840    '''
31841    __slots__ = [
31842        'activity_id',
31843        'deleted_at',
31844        'timestamp',
31845        'workflow_role',
31846    ]
31847
31848    def __init__(
31849        self,
31850        activity_id=None,
31851        deleted_at=None,
31852        timestamp=None,
31853        workflow_role=None,
31854    ):
31855        self.activity_id = activity_id if activity_id is not None else ''
31856        '''
31857         The unique identifier of the Activity that produced this change to the WorkflowRole.
31858         May be empty for some system-initiated updates.
31859        '''
31860        self.deleted_at = deleted_at if deleted_at is not None else None
31861        '''
31862         If this WorkflowRole was deleted, the time it was deleted.
31863        '''
31864        self.timestamp = timestamp if timestamp is not None else None
31865        '''
31866         The time at which the WorkflowRole state was recorded.
31867        '''
31868        self.workflow_role = workflow_role if workflow_role is not None else None
31869        '''
31870         The complete WorkflowRole state at this time.
31871        '''
31872
31873    def __repr__(self):
31874        return '<sdm.WorkflowRoleHistory ' + \
31875            'activity_id: ' + repr(self.activity_id) + ' ' +\
31876            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
31877            'timestamp: ' + repr(self.timestamp) + ' ' +\
31878            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31879            '>'
31880
31881    def to_dict(self):
31882        return {
31883            'activity_id': self.activity_id,
31884            'deleted_at': self.deleted_at,
31885            'timestamp': self.timestamp,
31886            'workflow_role': self.workflow_role,
31887        }
31888
31889    @classmethod
31890    def from_dict(cls, d):
31891        return cls(
31892            activity_id=d.get('activity_id'),
31893            deleted_at=d.get('deleted_at'),
31894            timestamp=d.get('timestamp'),
31895            workflow_role=d.get('workflow_role'),
31896        )

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

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
31848    def __init__(
31849        self,
31850        activity_id=None,
31851        deleted_at=None,
31852        timestamp=None,
31853        workflow_role=None,
31854    ):
31855        self.activity_id = activity_id if activity_id is not None else ''
31856        '''
31857         The unique identifier of the Activity that produced this change to the WorkflowRole.
31858         May be empty for some system-initiated updates.
31859        '''
31860        self.deleted_at = deleted_at if deleted_at is not None else None
31861        '''
31862         If this WorkflowRole was deleted, the time it was deleted.
31863        '''
31864        self.timestamp = timestamp if timestamp is not None else None
31865        '''
31866         The time at which the WorkflowRole state was recorded.
31867        '''
31868        self.workflow_role = workflow_role if workflow_role is not None else None
31869        '''
31870         The complete WorkflowRole state at this time.
31871        '''
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)
31881    def to_dict(self):
31882        return {
31883            'activity_id': self.activity_id,
31884            'deleted_at': self.deleted_at,
31885            'timestamp': self.timestamp,
31886            'workflow_role': self.workflow_role,
31887        }
@classmethod
def from_dict(cls, d)
31889    @classmethod
31890    def from_dict(cls, d):
31891        return cls(
31892            activity_id=d.get('activity_id'),
31893            deleted_at=d.get('deleted_at'),
31894            timestamp=d.get('timestamp'),
31895            workflow_role=d.get('workflow_role'),
31896        )
class WorkflowRolesCreateRequest:
31899class WorkflowRolesCreateRequest:
31900    '''
31901         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
31902     workflow role to be created.
31903    '''
31904    __slots__ = [
31905        'workflow_role',
31906    ]
31907
31908    def __init__(
31909        self,
31910        workflow_role=None,
31911    ):
31912        self.workflow_role = workflow_role if workflow_role is not None else None
31913        '''
31914         Parameters to define the new WorkflowRole.
31915        '''
31916
31917    def __repr__(self):
31918        return '<sdm.WorkflowRolesCreateRequest ' + \
31919            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31920            '>'
31921
31922    def to_dict(self):
31923        return {
31924            'workflow_role': self.workflow_role,
31925        }
31926
31927    @classmethod
31928    def from_dict(cls, d):
31929        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)
31908    def __init__(
31909        self,
31910        workflow_role=None,
31911    ):
31912        self.workflow_role = workflow_role if workflow_role is not None else None
31913        '''
31914         Parameters to define the new WorkflowRole.
31915        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
31922    def to_dict(self):
31923        return {
31924            'workflow_role': self.workflow_role,
31925        }
@classmethod
def from_dict(cls, d)
31927    @classmethod
31928    def from_dict(cls, d):
31929        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
31932class WorkflowRolesCreateResponse:
31933    '''
31934         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
31935    '''
31936    __slots__ = [
31937        'rate_limit',
31938        'workflow_role',
31939    ]
31940
31941    def __init__(
31942        self,
31943        rate_limit=None,
31944        workflow_role=None,
31945    ):
31946        self.rate_limit = rate_limit if rate_limit is not None else None
31947        '''
31948         Rate limit information.
31949        '''
31950        self.workflow_role = workflow_role if workflow_role is not None else None
31951        '''
31952         The created workflow role.
31953        '''
31954
31955    def __repr__(self):
31956        return '<sdm.WorkflowRolesCreateResponse ' + \
31957            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
31958            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
31959            '>'
31960
31961    def to_dict(self):
31962        return {
31963            'rate_limit': self.rate_limit,
31964            'workflow_role': self.workflow_role,
31965        }
31966
31967    @classmethod
31968    def from_dict(cls, d):
31969        return cls(
31970            rate_limit=d.get('rate_limit'),
31971            workflow_role=d.get('workflow_role'),
31972        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
31941    def __init__(
31942        self,
31943        rate_limit=None,
31944        workflow_role=None,
31945    ):
31946        self.rate_limit = rate_limit if rate_limit is not None else None
31947        '''
31948         Rate limit information.
31949        '''
31950        self.workflow_role = workflow_role if workflow_role is not None else None
31951        '''
31952         The created workflow role.
31953        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
31961    def to_dict(self):
31962        return {
31963            'rate_limit': self.rate_limit,
31964            'workflow_role': self.workflow_role,
31965        }
@classmethod
def from_dict(cls, d)
31967    @classmethod
31968    def from_dict(cls, d):
31969        return cls(
31970            rate_limit=d.get('rate_limit'),
31971            workflow_role=d.get('workflow_role'),
31972        )
class WorkflowRolesDeleteRequest:
31975class WorkflowRolesDeleteRequest:
31976    '''
31977         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
31978    '''
31979    __slots__ = [
31980        'id',
31981    ]
31982
31983    def __init__(
31984        self,
31985        id=None,
31986    ):
31987        self.id = id if id is not None else ''
31988        '''
31989         The unique identifier of the WorkflowRole to delete.
31990        '''
31991
31992    def __repr__(self):
31993        return '<sdm.WorkflowRolesDeleteRequest ' + \
31994            'id: ' + repr(self.id) + ' ' +\
31995            '>'
31996
31997    def to_dict(self):
31998        return {
31999            'id': self.id,
32000        }
32001
32002    @classmethod
32003    def from_dict(cls, d):
32004        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
31983    def __init__(
31984        self,
31985        id=None,
31986    ):
31987        self.id = id if id is not None else ''
31988        '''
31989         The unique identifier of the WorkflowRole to delete.
31990        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
31997    def to_dict(self):
31998        return {
31999            'id': self.id,
32000        }
@classmethod
def from_dict(cls, d)
32002    @classmethod
32003    def from_dict(cls, d):
32004        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
32007class WorkflowRolesDeleteResponse:
32008    '''
32009         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
32010    '''
32011    __slots__ = [
32012        'rate_limit',
32013    ]
32014
32015    def __init__(
32016        self,
32017        rate_limit=None,
32018    ):
32019        self.rate_limit = rate_limit if rate_limit is not None else None
32020        '''
32021         Rate limit information.
32022        '''
32023
32024    def __repr__(self):
32025        return '<sdm.WorkflowRolesDeleteResponse ' + \
32026            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32027            '>'
32028
32029    def to_dict(self):
32030        return {
32031            'rate_limit': self.rate_limit,
32032        }
32033
32034    @classmethod
32035    def from_dict(cls, d):
32036        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
32015    def __init__(
32016        self,
32017        rate_limit=None,
32018    ):
32019        self.rate_limit = rate_limit if rate_limit is not None else None
32020        '''
32021         Rate limit information.
32022        '''
rate_limit

Rate limit information.

def to_dict(self)
32029    def to_dict(self):
32030        return {
32031            'rate_limit': self.rate_limit,
32032        }
@classmethod
def from_dict(cls, d)
32034    @classmethod
32035    def from_dict(cls, d):
32036        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
32039class WorkflowRolesListRequest:
32040    '''
32041         WorkflowRolesListRequest specifies criteria for retrieving a list of
32042     WorkflowRole records
32043    '''
32044    __slots__ = [
32045        'filter',
32046    ]
32047
32048    def __init__(
32049        self,
32050        filter=None,
32051    ):
32052        self.filter = filter if filter is not None else ''
32053        '''
32054         A human-readable filter query string.
32055        '''
32056
32057    def __repr__(self):
32058        return '<sdm.WorkflowRolesListRequest ' + \
32059            'filter: ' + repr(self.filter) + ' ' +\
32060            '>'
32061
32062    def to_dict(self):
32063        return {
32064            'filter': self.filter,
32065        }
32066
32067    @classmethod
32068    def from_dict(cls, d):
32069        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
32048    def __init__(
32049        self,
32050        filter=None,
32051    ):
32052        self.filter = filter if filter is not None else ''
32053        '''
32054         A human-readable filter query string.
32055        '''
filter

A human-readable filter query string.

def to_dict(self)
32062    def to_dict(self):
32063        return {
32064            'filter': self.filter,
32065        }
@classmethod
def from_dict(cls, d)
32067    @classmethod
32068    def from_dict(cls, d):
32069        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
32072class WorkflowRolesListResponse:
32073    '''
32074         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
32075     the criteria of a WorkflowRolesListRequest.
32076    '''
32077    __slots__ = [
32078        'rate_limit',
32079    ]
32080
32081    def __init__(
32082        self,
32083        rate_limit=None,
32084    ):
32085        self.rate_limit = rate_limit if rate_limit is not None else None
32086        '''
32087         Rate limit information.
32088        '''
32089
32090    def __repr__(self):
32091        return '<sdm.WorkflowRolesListResponse ' + \
32092            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32093            '>'
32094
32095    def to_dict(self):
32096        return {
32097            'rate_limit': self.rate_limit,
32098        }
32099
32100    @classmethod
32101    def from_dict(cls, d):
32102        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)
32081    def __init__(
32082        self,
32083        rate_limit=None,
32084    ):
32085        self.rate_limit = rate_limit if rate_limit is not None else None
32086        '''
32087         Rate limit information.
32088        '''
rate_limit

Rate limit information.

def to_dict(self)
32095    def to_dict(self):
32096        return {
32097            'rate_limit': self.rate_limit,
32098        }
@classmethod
def from_dict(cls, d)
32100    @classmethod
32101    def from_dict(cls, d):
32102        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
32105class WorkflowUpdateResponse:
32106    '''
32107         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
32108     a WorkflowUpdateRequest.
32109    '''
32110    __slots__ = [
32111        'rate_limit',
32112        'workflow',
32113    ]
32114
32115    def __init__(
32116        self,
32117        rate_limit=None,
32118        workflow=None,
32119    ):
32120        self.rate_limit = rate_limit if rate_limit is not None else None
32121        '''
32122         Rate limit information.
32123        '''
32124        self.workflow = workflow if workflow is not None else None
32125        '''
32126         The updated workflow.
32127        '''
32128
32129    def __repr__(self):
32130        return '<sdm.WorkflowUpdateResponse ' + \
32131            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
32132            'workflow: ' + repr(self.workflow) + ' ' +\
32133            '>'
32134
32135    def to_dict(self):
32136        return {
32137            'rate_limit': self.rate_limit,
32138            'workflow': self.workflow,
32139        }
32140
32141    @classmethod
32142    def from_dict(cls, d):
32143        return cls(
32144            rate_limit=d.get('rate_limit'),
32145            workflow=d.get('workflow'),
32146        )

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

WorkflowUpdateResponse(rate_limit=None, workflow=None)
32115    def __init__(
32116        self,
32117        rate_limit=None,
32118        workflow=None,
32119    ):
32120        self.rate_limit = rate_limit if rate_limit is not None else None
32121        '''
32122         Rate limit information.
32123        '''
32124        self.workflow = workflow if workflow is not None else None
32125        '''
32126         The updated workflow.
32127        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
32135    def to_dict(self):
32136        return {
32137            'rate_limit': self.rate_limit,
32138            'workflow': self.workflow,
32139        }
@classmethod
def from_dict(cls, d)
32141    @classmethod
32142    def from_dict(cls, d):
32143        return cls(
32144            rate_limit=d.get('rate_limit'),
32145            workflow=d.get('workflow'),
32146        )